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 256 26 #define INPUTSTREAM_MAX_STRING_NAME_SIZE 256 27 #define INPUTSTREAM_MAX_STRING_CODEC_SIZE 32 28 #define INPUTSTREAM_MAX_STRING_LANGUAGE_SIZE 64 47 enum INPUTSTREAM_MASKTYPE
52 INPUTSTREAM_SUPPORTS_IDEMUX = (1 << 0),
59 INPUTSTREAM_SUPPORTS_IPOSTIME = (1 << 1),
67 INPUTSTREAM_SUPPORTS_IDISPLAYTIME = (1 << 2),
70 INPUTSTREAM_SUPPORTS_SEEK = (1 << 3),
73 INPUTSTREAM_SUPPORTS_PAUSE = (1 << 4),
81 INPUTSTREAM_SUPPORTS_ITIME = (1 << 5),
86 INPUTSTREAM_SUPPORTS_ICHAPTER = (1 << 6),
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;
113 } m_ListItemProperties[STREAM_MAX_PROPERTY_COUNT];
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;
510 char m_name[INPUTSTREAM_MAX_STRING_NAME_SIZE];
513 char m_codecName[INPUTSTREAM_MAX_STRING_CODEC_SIZE];
516 char m_codecInternalName[INPUTSTREAM_MAX_STRING_CODEC_SIZE];
524 const uint8_t* m_ExtraData;
525 unsigned int m_ExtraSize;
528 char m_language[INPUTSTREAM_MAX_STRING_LANGUAGE_SIZE];
536 unsigned int m_FpsRate;
564 unsigned int m_BlockAlign;
572 unsigned int m_codecFourCC;
616 KODI_HANDLE kodiInstance;
617 struct DEMUX_PACKET* (*allocate_demux_packet)(
void* kodiInstance,
int data_size);
618 struct DEMUX_PACKET* (*allocate_encrypted_demux_packet)(
void* kodiInstance,
619 unsigned int data_size,
620 unsigned int encrypted_subsample_count);
621 void (*free_demux_packet)(
void* kodiInstance,
struct DEMUX_PACKET* packet);
627 KODI_HANDLE addonInstance;
642 KODI_HANDLE* demuxStream,
643 KODI_HANDLE (*transfer_stream)(KODI_HANDLE handle,
662 unsigned int maxWidth,
663 unsigned int maxHeight);
678 unsigned int bufferSize);
700 struct AddonToKodiFuncTable_InputStream* toKodi;
CONTENTLIGHT Metadata.
Definition: inputstream.h:148
Definition: stream_crypto.h:120
Definition: addon_base.h:267
Definition: demux_packet.h:45