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
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;
507 char m_name[INPUTSTREAM_MAX_STRING_NAME_SIZE];
521 const uint8_t* m_ExtraData;
522 unsigned int m_ExtraSize;
533 unsigned int m_FpsRate;
561 unsigned int m_BlockAlign;
613 KODI_HANDLE kodiInstance;
614 struct DEMUX_PACKET* (*allocate_demux_packet)(
void* kodiInstance,
int data_size);
615 struct DEMUX_PACKET* (*allocate_encrypted_demux_packet)(
void* kodiInstance,
616 unsigned int data_size,
617 unsigned int encrypted_subsample_count);
618 void (*free_demux_packet)(
void* kodiInstance,
struct DEMUX_PACKET* packet);
624 KODI_HANDLE addonInstance;
639 KODI_HANDLE* demuxStream,
640 KODI_HANDLE (*transfer_stream)(KODI_HANDLE handle,
673 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
Array of stream IDs.
Definition: inputstream.h:123
stream properties
Definition: inputstream.h:501
enum STREAMCODEC_PROFILE m_codecProfile
(optional) the profile of the codec
Definition: inputstream.h:516
enum INPUTSTREAM_COLORSPACE m_colorSpace
definition of colorspace
Definition: inputstream.h:573
float m_Aspect
display aspect of stream
Definition: inputstream.h:542
unsigned int m_Width
width of the stream reported by the demuxer
Definition: inputstream.h:539
enum INPUTSTREAM_COLORRANGE m_colorRange
color range if available
Definition: inputstream.h:576
unsigned int m_pID
(required) physical index
Definition: inputstream.h:519
unsigned int m_BitsPerSample
(required) bits per sample
Definition: inputstream.h:559
char m_language[INPUTSTREAM_MAX_STRING_LANGUAGE_SIZE]
RFC 5646 language code (empty string if undefined)
Definition: inputstream.h:525
struct INPUTSTREAM_CONTENTLIGHT_METADATA * m_contentLightMetadata
content light static Metadata
Definition: inputstream.h:589
char m_codecName[INPUTSTREAM_MAX_STRING_CODEC_SIZE]
(required) name of codec according to ffmpeg
Definition: inputstream.h:510
unsigned int m_SampleRate
(required) sample rate
Definition: inputstream.h:553
unsigned int m_codecFourCC
Codec If available, the fourcc code codec.
Definition: inputstream.h:570
unsigned int m_BitRate
(required) bit rate
Definition: inputstream.h:556
unsigned int m_Channels
Audio stream related data.
Definition: inputstream.h:550
char m_codecInternalName[INPUTSTREAM_MAX_STRING_CODEC_SIZE]
(optional) internal name of codec (selectionstream info)
Definition: inputstream.h:513
unsigned int m_FpsScale
Video stream related data.
Definition: inputstream.h:531
unsigned int m_Height
height of the stream reported by the demuxer
Definition: inputstream.h:536
struct INPUTSTREAM_MASTERING_METADATA * m_masteringMetadata
mastering static Metadata
Definition: inputstream.h:586
char m_name[INPUTSTREAM_MAX_STRING_NAME_SIZE]
(optional) name of the stream, \0 for default handling
Definition: inputstream.h:507
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:593
Definition: stream_crypto.h:109