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;
510 char m_name[INPUTSTREAM_MAX_STRING_NAME_SIZE];
524 const uint8_t* m_ExtraData;
525 unsigned int m_ExtraSize;
536 unsigned int m_FpsRate;
564 unsigned int m_BlockAlign;
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);
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:504
enum STREAMCODEC_PROFILE m_codecProfile
(optional) the profile of the codec
Definition inputstream.h:519
enum INPUTSTREAM_COLORSPACE m_colorSpace
definition of colorspace
Definition inputstream.h:576
float m_Aspect
display aspect of stream
Definition inputstream.h:545
unsigned int m_Width
width of the stream reported by the demuxer
Definition inputstream.h:542
enum INPUTSTREAM_COLORRANGE m_colorRange
color range if available
Definition inputstream.h:579
unsigned int m_pID
(required) physical index
Definition inputstream.h:522
unsigned int m_BitsPerSample
(required) bits per sample
Definition inputstream.h:562
char m_language[INPUTSTREAM_MAX_STRING_LANGUAGE_SIZE]
RFC 5646 language code (empty string if undefined)
Definition inputstream.h:528
struct INPUTSTREAM_CONTENTLIGHT_METADATA * m_contentLightMetadata
content light static Metadata
Definition inputstream.h:592
char m_codecName[INPUTSTREAM_MAX_STRING_CODEC_SIZE]
(required) name of codec according to ffmpeg
Definition inputstream.h:513
unsigned int m_SampleRate
(required) sample rate
Definition inputstream.h:556
unsigned int m_codecFourCC
Codec If available, the fourcc code codec.
Definition inputstream.h:573
unsigned int m_BitRate
(required) bit rate
Definition inputstream.h:559
unsigned int m_Channels
Audio stream related data.
Definition inputstream.h:553
char m_codecInternalName[INPUTSTREAM_MAX_STRING_CODEC_SIZE]
(optional) internal name of codec (selectionstream info)
Definition inputstream.h:516
unsigned int m_FpsScale
Video stream related data.
Definition inputstream.h:534
unsigned int m_Height
height of the stream reported by the demuxer
Definition inputstream.h:539
struct INPUTSTREAM_MASTERING_METADATA * m_masteringMetadata
mastering static Metadata
Definition inputstream.h:589
char m_name[INPUTSTREAM_MAX_STRING_NAME_SIZE]
(optional) name of the stream, \0 for default handling
Definition inputstream.h:510
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:596
Definition stream_crypto.h:121