9#ifndef C_API_ADDONINSTANCE_INPUTSTREAM_H
10#define C_API_ADDONINSTANCE_INPUTSTREAM_H
12#include "../addon_base.h"
13#include "inputstream/demux_packet.h"
14#include "inputstream/stream_codec.h"
15#include "inputstream/stream_constants.h"
16#include "inputstream/stream_crypto.h"
17#include "inputstream/timing_constants.h"
22#define INPUTSTREAM_VERSION_LEVEL 4
24#define INPUTSTREAM_MAX_INFO_COUNT 8
25#define INPUTSTREAM_MAX_STREAM_COUNT 1024
26#define INPUTSTREAM_MAX_STRING_NAME_SIZE 256
27#define INPUTSTREAM_MAX_STRING_CODEC_SIZE 32
28#define INPUTSTREAM_MAX_STRING_LANGUAGE_SIZE 64
105 const char* m_strURL;
106 const char* m_mimeType;
108 unsigned int m_nCountInfoValues;
111 const char* m_strKey;
112 const char* m_strValue;
115 const char* m_libFolder;
116 const char* m_profileFolder;
124 unsigned int m_streamCount;
125 unsigned int m_streamIds[INPUTSTREAM_MAX_STREAM_COUNT];
133 double primary_r_chromaticity_x;
134 double primary_r_chromaticity_y;
135 double primary_g_chromaticity_x;
136 double primary_g_chromaticity_y;
137 double primary_b_chromaticity_x;
138 double primary_b_chromaticity_y;
139 double white_point_chromaticity_x;
140 double white_point_chromaticity_y;
141 double luminance_max;
142 double luminance_min;
544 char m_name[INPUTSTREAM_MAX_STRING_NAME_SIZE];
558 const uint8_t* m_ExtraData;
559 unsigned int m_ExtraSize;
570 unsigned int m_FpsRate;
598 unsigned int m_BlockAlign;
653 KODI_HANDLE kodiInstance;
654 struct DEMUX_PACKET* (*allocate_demux_packet)(
void* kodiInstance,
int data_size);
655 struct DEMUX_PACKET* (*allocate_encrypted_demux_packet)(
void* kodiInstance,
656 unsigned int data_size,
657 unsigned int encrypted_subsample_count);
658 void (*free_demux_packet)(
void* kodiInstance,
struct DEMUX_PACKET* packet);
664 KODI_HANDLE addonInstance;
679 KODI_HANDLE* demuxStream,
680 KODI_HANDLE (*transfer_stream)(KODI_HANDLE handle,
699 unsigned int maxWidth,
700 unsigned int maxHeight);
715 unsigned int bufferSize);
InputStream add-on capabilities. All capabilities are set to "false" as default.
Definition inputstream.h:95
uint32_t m_mask
set of supported capabilities
Definition inputstream.h:97
CONTENTLIGHT Metadata.
Definition inputstream.h:149
Dolby Vision configuration metadata (dvcc)
Definition inputstream.h:502
bool m_rpuPresentFlag
RPU (Reference Processing Unit) present flag.
Definition inputstream.h:516
bool m_blPresentFlag
Base Layer present flag.
Definition inputstream.h:522
bool m_elPresentFlag
Enhancement Layer present flag.
Definition inputstream.h:519
uint8_t m_dvVersionMinor
dvcc version minor
Definition inputstream.h:507
uint8_t m_dvProfile
Dolby Vision profile identifier.
Definition inputstream.h:510
uint8_t m_dvLevel
Dolby Vision level identifier.
Definition inputstream.h:513
uint8_t m_dvVersionMajor
dvcc version major
Definition inputstream.h:504
uint8_t m_dvBlSignalCompatibilityId
BL (Base Layer) signal compatibility ID.
Definition inputstream.h:525
uint8_t m_dvMdCompression
The compression method in use.
Definition inputstream.h:528
Array of stream IDs.
Definition inputstream.h:123
stream properties
Definition inputstream.h:538
enum STREAMCODEC_PROFILE m_codecProfile
(optional) the profile of the codec
Definition inputstream.h:553
enum INPUTSTREAM_COLORSPACE m_colorSpace
definition of colorspace
Definition inputstream.h:610
float m_Aspect
display aspect of stream
Definition inputstream.h:579
unsigned int m_Width
width of the stream reported by the demuxer
Definition inputstream.h:576
enum INPUTSTREAM_COLORRANGE m_colorRange
color range if available
Definition inputstream.h:613
struct INPUTSTREAM_DVCC_METADATA * m_dvccMetadata
Dolby Vision config metadata (dvcc atom)
Definition inputstream.h:629
unsigned int m_pID
(required) physical index
Definition inputstream.h:556
unsigned int m_BitsPerSample
(required) bits per sample
Definition inputstream.h:596
char m_language[INPUTSTREAM_MAX_STRING_LANGUAGE_SIZE]
RFC 5646 language code (empty string if undefined)
Definition inputstream.h:562
struct INPUTSTREAM_CONTENTLIGHT_METADATA * m_contentLightMetadata
content light static Metadata
Definition inputstream.h:626
char m_codecName[INPUTSTREAM_MAX_STRING_CODEC_SIZE]
(required) name of codec according to ffmpeg
Definition inputstream.h:547
unsigned int m_SampleRate
(required) sample rate
Definition inputstream.h:590
unsigned int m_codecFourCC
Codec If available, the fourcc code codec.
Definition inputstream.h:607
unsigned int m_BitRate
(required) bit rate
Definition inputstream.h:593
unsigned int m_Channels
Audio stream related data.
Definition inputstream.h:587
char m_codecInternalName[INPUTSTREAM_MAX_STRING_CODEC_SIZE]
(optional) internal name of codec (selectionstream info)
Definition inputstream.h:550
unsigned int m_FpsScale
Video stream related data.
Definition inputstream.h:568
unsigned int m_Height
height of the stream reported by the demuxer
Definition inputstream.h:573
struct INPUTSTREAM_MASTERING_METADATA * m_masteringMetadata
mastering static Metadata
Definition inputstream.h:623
char m_name[INPUTSTREAM_MAX_STRING_NAME_SIZE]
(optional) name of the stream, \0 for default handling
Definition inputstream.h:544
MASTERING Metadata.
Definition inputstream.h:132
structure of key/value pairs passed to addon on Open()
Definition inputstream.h:104
Definition inputstream.h:110
Definition inputstream.h:633
Definition stream_crypto.h:121