Kodi Development 19.0
for Binary and Script based Add-Ons
inputstream.h
1/*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
8
9#ifndef C_API_ADDONINSTANCE_INPUTSTREAM_H
10#define C_API_ADDONINSTANCE_INPUTSTREAM_H
11
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"
18
19#include <time.h>
20
21// Increment this level always if you add features which can lead to compile failures in the addon
22#define INPUTSTREAM_VERSION_LEVEL 4
23
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
29
30#ifdef __cplusplus
31extern "C"
32{
33#endif /* __cplusplus */
34
35 //==============================================================================
48 {
53
60
68
71
74
82
87 };
89 //----------------------------------------------------------------------------
90
95 {
97 uint32_t m_mask;
98 };
99
104 {
105 const char* m_strURL;
106 const char* m_mimeType;
107
108 unsigned int m_nCountInfoValues;
110 {
111 const char* m_strKey;
112 const char* m_strValue;
113 } m_ListItemProperties[STREAM_MAX_PROPERTY_COUNT];
114
115 const char* m_libFolder;
116 const char* m_profileFolder;
117 };
118
123 {
124 unsigned int m_streamCount;
125 unsigned int m_streamIds[INPUTSTREAM_MAX_STREAM_COUNT];
126 };
127
132 {
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;
143 };
144
149 {
150 uint64_t max_cll;
151 uint64_t max_fall;
152 };
153
154 //==============================================================================
164 {
167
170
173
176
179
182 };
184 //------------------------------------------------------------------------------
185
186 //==============================================================================
198 {
201
204 };
206 //----------------------------------------------------------------------------
207
208 //============================================================================
220 {
223
226
229
232
235
238
241
244
247
250 };
252 //----------------------------------------------------------------------------
253
254 // Keep in sync with AVColorSpace
255 //============================================================================
265 {
268
271
274
278
281
284
287
290
293
296
300
303
306
309
312
315
318
321 };
323 //------------------------------------------------------------------------------
324
325 // Keep in sync with AVColorPrimaries
326 //==============================================================================
336 {
339
342
345
348
351
354
357
360
363
366
369
373
376
379
382
385 };
387 //------------------------------------------------------------------------------
388
389 // Keep in sync with AVColorRange
390 //==============================================================================
400 {
403
406
409
412 };
414 //------------------------------------------------------------------------------
415
416 // keep in sync with AVColorTransferCharacteristic
417 //==============================================================================
427 {
430
433
436
439
442
445
448
451
454
457
460
463
466
469
472
475
478
481
484
487
490
493 };
495 //------------------------------------------------------------------------------
496
501 {
502 enum INPUTSTREAM_TYPE m_streamType;
503 uint32_t m_features;
504 uint32_t m_flags;
505
507 char m_name[INPUTSTREAM_MAX_STRING_NAME_SIZE];
508
510 char m_codecName[INPUTSTREAM_MAX_STRING_CODEC_SIZE];
511
513 char m_codecInternalName[INPUTSTREAM_MAX_STRING_CODEC_SIZE];
514
517
519 unsigned int m_pID;
520
521 const uint8_t* m_ExtraData;
522 unsigned int m_ExtraSize;
523
525 char m_language[INPUTSTREAM_MAX_STRING_LANGUAGE_SIZE];
526
528
529
531 unsigned int m_FpsScale;
532
533 unsigned int m_FpsRate;
534
536 unsigned int m_Height;
537
539 unsigned int m_Width;
540
542 float m_Aspect;
543
545
547
548
550 unsigned int m_Channels;
551
553 unsigned int m_SampleRate;
554
556 unsigned int m_BitRate;
557
559 unsigned int m_BitsPerSample;
560
561 unsigned int m_BlockAlign;
562
564
565 struct STREAM_CRYPTO_SESSION m_cryptoSession;
566
567 // new in API version 2.0.8
569
570 unsigned int m_codecFourCC;
571
574
578
579 //new in API 2.0.9 / INPUTSTREAM_VERSION_LEVEL 1
581 enum INPUTSTREAM_COLORPRIMARIES m_colorPrimaries;
582 enum INPUTSTREAM_COLORTRC m_colorTransferCharacteristic;
584
587
590 };
591
593 {
594 time_t startTime;
595 double ptsStart;
596 double ptsBegin;
597 double ptsEnd;
598 };
599
604 // this are properties given to the addon on create
605 // at this time we have no parameters for the addon
606 typedef struct AddonProps_InputStream /* internal */
607 {
608 int dummy;
610
611 typedef struct AddonToKodiFuncTable_InputStream /* internal */
612 {
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);
620
622 typedef struct KodiToAddonFuncTable_InputStream /* internal */
623 {
624 KODI_HANDLE addonInstance;
625
626 bool(__cdecl* open)(const struct AddonInstance_InputStream* instance,
627 struct INPUTSTREAM_PROPERTY* props);
628 void(__cdecl* close)(const struct AddonInstance_InputStream* instance);
629 const char*(__cdecl* get_path_list)(const struct AddonInstance_InputStream* instance);
630 void(__cdecl* get_capabilities)(const struct AddonInstance_InputStream* instance,
631 struct INPUTSTREAM_CAPABILITIES* capabilities);
632
633 // IDemux
634 bool(__cdecl* get_stream_ids)(const struct AddonInstance_InputStream* instance,
635 struct INPUTSTREAM_IDS* ids);
636 bool(__cdecl* get_stream)(const struct AddonInstance_InputStream* instance,
637 int streamid,
638 struct INPUTSTREAM_INFO* info,
639 KODI_HANDLE* demuxStream,
640 KODI_HANDLE (*transfer_stream)(KODI_HANDLE handle,
641 int streamId,
642 struct INPUTSTREAM_INFO* stream));
643 void(__cdecl* enable_stream)(const struct AddonInstance_InputStream* instance,
644 int streamid,
645 bool enable);
646 bool(__cdecl* open_stream)(const struct AddonInstance_InputStream* instance, int streamid);
647 void(__cdecl* demux_reset)(const struct AddonInstance_InputStream* instance);
648 void(__cdecl* demux_abort)(const struct AddonInstance_InputStream* instance);
649 void(__cdecl* demux_flush)(const struct AddonInstance_InputStream* instance);
650 struct DEMUX_PACKET*(__cdecl* demux_read)(const struct AddonInstance_InputStream* instance);
651 bool(__cdecl* demux_seek_time)(const struct AddonInstance_InputStream* instance,
652 double time,
653 bool backwards,
654 double* startpts);
655 void(__cdecl* demux_set_speed)(const struct AddonInstance_InputStream* instance, int speed);
656 void(__cdecl* set_video_resolution)(const struct AddonInstance_InputStream* instance,
657 int width,
658 int height);
659
660 // IDisplayTime
661 int(__cdecl* get_total_time)(const struct AddonInstance_InputStream* instance);
662 int(__cdecl* get_time)(const struct AddonInstance_InputStream* instance);
663
664 // ITime
665 bool(__cdecl* get_times)(const struct AddonInstance_InputStream* instance,
666 struct INPUTSTREAM_TIMES* times);
667
668 // IPosTime
669 bool(__cdecl* pos_time)(const struct AddonInstance_InputStream* instance, int ms);
670
671 int(__cdecl* read_stream)(const struct AddonInstance_InputStream* instance,
672 uint8_t* buffer,
673 unsigned int bufferSize);
674 int64_t(__cdecl* seek_stream)(const struct AddonInstance_InputStream* instance,
675 int64_t position,
676 int whence);
677 int64_t(__cdecl* position_stream)(const struct AddonInstance_InputStream* instance);
678 int64_t(__cdecl* length_stream)(const struct AddonInstance_InputStream* instance);
679 bool(__cdecl* is_real_time_stream)(const struct AddonInstance_InputStream* instance);
680
681 // IChapter
682 int(__cdecl* get_chapter)(const struct AddonInstance_InputStream* instance);
683 int(__cdecl* get_chapter_count)(const struct AddonInstance_InputStream* instance);
684 const char*(__cdecl* get_chapter_name)(const struct AddonInstance_InputStream* instance,
685 int ch);
686 int64_t(__cdecl* get_chapter_pos)(const struct AddonInstance_InputStream* instance, int ch);
687 bool(__cdecl* seek_chapter)(const struct AddonInstance_InputStream* instance, int ch);
688
689 int(__cdecl* block_size_stream)(const struct AddonInstance_InputStream* instance);
691
692 typedef struct AddonInstance_InputStream /* internal */
693 {
694 struct AddonProps_InputStream* props;
696 struct KodiToAddonFuncTable_InputStream* toAddon;
698
699#ifdef __cplusplus
700} /* extern "C" */
701#endif /* __cplusplus */
702
703#endif /* !C_API_ADDONINSTANCE_INPUTSTREAM_H */
Definition: demux_packet.h:46
INPUTSTREAM_CODEC_FEATURES
Definition: inputstream.h:198
@ INPUTSTREAM_FEATURE_DECODE
0000 0000 0000 0001 : To set addon decode should used with Video Codec.
Definition: inputstream.h:203
@ INPUTSTREAM_FEATURE_NONE
0000 0000 0000 0000 : Empty to set if nothing is used
Definition: inputstream.h:200
INPUTSTREAM_COLORPRIMARIES
Definition: inputstream.h:336
@ INPUTSTREAM_COLORPRIMARY_BT470BG
5 : Also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM
Definition: inputstream.h:353
@ INPUTSTREAM_COLORPRIMARY_BT2020
9 : ITU-R BT2020
Definition: inputstream.h:365
@ INPUTSTREAM_COLORPRIMARY_SMPTE428
10 : SMPTE ST 428-1 (CIE 1931 XYZ)
Definition: inputstream.h:368
@ INPUTSTREAM_COLORPRIMARY_SMPTE240M
7 : Functionally identical to above
Definition: inputstream.h:359
@ INPUTSTREAM_COLORPRIMARY_RESERVED0
0 : Reserved
Definition: inputstream.h:338
@ INPUTSTREAM_COLORPRIMARY_SMPTE431
11 : SMPTE ST 431-2 (2011) / DCI P3
Definition: inputstream.h:375
@ INPUTSTREAM_COLORPRIMARY_SMPTEST428_1
10 :
Definition: inputstream.h:372
@ INPUTSTREAM_COLORPRIMARY_SMPTE432
12 : SMPTE ST 432-1 (2010) / P3 D65 / Display P3
Definition: inputstream.h:378
@ INPUTSTREAM_COLORPRIMARY_SMPTE170M
6 : Also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
Definition: inputstream.h:356
@ INPUTSTREAM_COLORPRIMARY_JEDEC_P22
22 : JEDEC P22 phosphors
Definition: inputstream.h:381
@ INPUTSTREAM_COLORPRIMARY_RESERVED
3 : Reserved
Definition: inputstream.h:347
@ INPUTSTREAM_COLORPRIMARY_FILM
8 : Colour filters using Illuminant C
Definition: inputstream.h:362
@ INPUTSTREAM_COLORPRIMARY_BT709
1 : Also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP177 Annex B
Definition: inputstream.h:341
@ INPUTSTREAM_COLORPRIMARY_UNSPECIFIED
2 : Unspecified
Definition: inputstream.h:344
@ INPUTSTREAM_COLORPRIMARY_MAX
The maximum value to use in a list.
Definition: inputstream.h:384
@ INPUTSTREAM_COLORPRIMARY_BT470M
4 : Also FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
Definition: inputstream.h:350
INPUTSTREAM_COLORRANGE
Definition: inputstream.h:400
@ INPUTSTREAM_COLORRANGE_UNKNOWN
0 : To define as unkown
Definition: inputstream.h:402
@ INPUTSTREAM_COLORRANGE_FULLRANGE
2 : The normal 2^n-1 "JPEG" YUV ranges
Definition: inputstream.h:408
@ INPUTSTREAM_COLORRANGE_LIMITED
1 : The normal 219*2^(n-8) "MPEG" YUV ranges
Definition: inputstream.h:405
@ INPUTSTREAM_COLORRANGE_MAX
The maximum value to use in a list.
Definition: inputstream.h:411
INPUTSTREAM_COLORSPACE
Definition: inputstream.h:265
@ INPUTSTREAM_COLORSPACE_YCGCO
8 : Used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16
Definition: inputstream.h:295
@ INPUTSTREAM_COLORSPACE_UNKNOWN
2 : To set stream is unkown
Definition: inputstream.h:277
@ INPUTSTREAM_COLORSPACE_BT2020_NCL
9 : ITU-R BT2020 non-constant luminance system
Definition: inputstream.h:302
@ INPUTSTREAM_COLORSPACE_RGB
0 : Order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB)
Definition: inputstream.h:267
@ INPUTSTREAM_COLORSPACE_FCC
4 : FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
Definition: inputstream.h:283
@ INPUTSTREAM_COLORSPACE_YCOCG
8 : To set colorspace as YCOCG
Definition: inputstream.h:299
@ INPUTSTREAM_COLORSPACE_UNSPECIFIED
2 : To set stream is unspecified
Definition: inputstream.h:273
@ INPUTSTREAM_COLORSPACE_SMPTE170M
6 : Also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
Definition: inputstream.h:289
@ INPUTSTREAM_COLORSPACE_BT709
1 : Also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B
Definition: inputstream.h:270
@ INPUTSTREAM_COLORSPACE_BT2020_CL
10 : ITU-R BT2020 constant luminance system
Definition: inputstream.h:305
@ INPUTSTREAM_COLORSPACE_CHROMA_DERIVED_NCL
12 : Chromaticity-derived non-constant luminance system
Definition: inputstream.h:311
@ INPUTSTREAM_COLORSPACE_CHROMA_DERIVED_CL
13 : Chromaticity-derived constant luminance system
Definition: inputstream.h:314
@ INPUTSTREAM_COLORSPACE_BT470BG
5 : Also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601
Definition: inputstream.h:286
@ INPUTSTREAM_COLORSPACE_MAX
The maximum value to use in a list.
Definition: inputstream.h:320
@ INPUTSTREAM_COLORSPACE_RESERVED
3 : To set colorspace reserved
Definition: inputstream.h:280
@ INPUTSTREAM_COLORSPACE_SMPTE2085
11 : SMPTE 2085, Y'D'zD'x
Definition: inputstream.h:308
@ INPUTSTREAM_COLORSPACE_ICTCP
14 : ITU-R BT.2100-0, ICtCp
Definition: inputstream.h:317
@ INPUTSTREAM_COLORSPACE_SMPTE240M
7 : Functionally identical to above INPUTSTREAM_COLORSPACE_SMPTE170M
Definition: inputstream.h:292
INPUTSTREAM_COLORTRC
Definition: inputstream.h:427
@ INPUTSTREAM_COLORTRC_IEC61966_2_1
13 : IEC 61966-2-1 (sRGB or sYCC)
Definition: inputstream.h:468
@ INPUTSTREAM_COLORTRC_SMPTE2084
16 : SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems
Definition: inputstream.h:477
@ INPUTSTREAM_COLORTRC_GAMMA22
4 : Also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM
Definition: inputstream.h:441
@ INPUTSTREAM_COLORTRC_UNSPECIFIED
2 : Unspecified
Definition: inputstream.h:435
@ INPUTSTREAM_COLORTRC_SMPTEST2084
16 : Same as INPUTSTREAM_COLORTRC_SMPTE2084
Definition: inputstream.h:480
@ INPUTSTREAM_COLORTRC_BT2020_10
14 : ITU-R BT2020 for 10-bit system
Definition: inputstream.h:471
@ INPUTSTREAM_COLORTRC_ARIB_STD_B67
18 : ARIB STD-B67, known as "Hybrid log-gamma"
Definition: inputstream.h:489
@ INPUTSTREAM_COLORTRC_SMPTE240M
7 : Functionally identical to above INPUTSTREAM_COLORTRC_SMPTE170M
Definition: inputstream.h:450
@ INPUTSTREAM_COLORTRC_SMPTE428
17 : SMPTE ST 428-1
Definition: inputstream.h:483
@ INPUTSTREAM_COLORTRC_SMPTE170M
6 : Also ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC
Definition: inputstream.h:447
@ INPUTSTREAM_COLORTRC_LINEAR
8 : Linear transfer characteristics
Definition: inputstream.h:453
@ INPUTSTREAM_COLORTRC_RESERVED0
0 : Reserved
Definition: inputstream.h:429
@ INPUTSTREAM_COLORTRC_BT1361_ECG
12 : ITU-R BT1361 Extended Colour Gamut
Definition: inputstream.h:465
@ INPUTSTREAM_COLORTRC_BT709
1 : Also ITU-R BT1361
Definition: inputstream.h:432
@ INPUTSTREAM_COLORTRC_IEC61966_2_4
11 : IEC 61966-2-4
Definition: inputstream.h:462
@ INPUTSTREAM_COLORTRC_GAMMA28
5 : Also ITU-R BT470BG
Definition: inputstream.h:444
@ INPUTSTREAM_COLORTRC_LOG_SQRT
10 : Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range)
Definition: inputstream.h:459
@ INPUTSTREAM_COLORTRC_RESERVED
3 : Reserved
Definition: inputstream.h:438
@ INPUTSTREAM_COLORTRC_LOG
9 : Logarithmic transfer characteristic (100:1 range)
Definition: inputstream.h:456
@ INPUTSTREAM_COLORTRC_SMPTEST428_1
17 : Same as INPUTSTREAM_COLORTRC_SMPTE428
Definition: inputstream.h:486
@ INPUTSTREAM_COLORTRC_BT2020_12
15 : ITU-R BT2020 for 12-bit system
Definition: inputstream.h:474
@ INPUTSTREAM_COLORTRC_MAX
The maximum value to use in a list.
Definition: inputstream.h:492
INPUTSTREAM_FLAGS
Definition: inputstream.h:220
@ INPUTSTREAM_FLAG_COMMENT
0000 0000 0000 1000 : Comment
Definition: inputstream.h:234
@ INPUTSTREAM_FLAG_NONE
0000 0000 0000 0000 : Empty to set if nothing is used
Definition: inputstream.h:222
@ INPUTSTREAM_FLAG_HEARING_IMPAIRED
0000 0000 1000 0000 : Hearing impaired
Definition: inputstream.h:246
@ INPUTSTREAM_FLAG_FORCED
0000 0000 0100 0000 : Forced
Definition: inputstream.h:243
@ INPUTSTREAM_FLAG_KARAOKE
0000 0000 0010 0000 : Karaoke
Definition: inputstream.h:240
@ INPUTSTREAM_FLAG_LYRICS
0000 0000 0001 0000 : Lyrics
Definition: inputstream.h:237
@ INPUTSTREAM_FLAG_ORIGINAL
0000 0000 0000 0100 : Original
Definition: inputstream.h:231
@ INPUTSTREAM_FLAG_VISUAL_IMPAIRED
0000 0001 0000 0000 : Visual impaired
Definition: inputstream.h:249
@ INPUTSTREAM_FLAG_DUB
0000 0000 0000 0010 : Dub
Definition: inputstream.h:228
@ INPUTSTREAM_FLAG_DEFAULT
0000 0000 0000 0001 : Default
Definition: inputstream.h:225
INPUTSTREAM_TYPE
Definition: inputstream.h:164
@ INPUTSTREAM_TYPE_NONE
0 : To set nothing defined
Definition: inputstream.h:166
@ INPUTSTREAM_TYPE_VIDEO
1 : To identify cpp_kodi_addon_inputstream_Defs_Info as Video
Definition: inputstream.h:169
@ INPUTSTREAM_TYPE_AUDIO
2 : To identify cpp_kodi_addon_inputstream_Defs_Info as Audio
Definition: inputstream.h:172
@ INPUTSTREAM_TYPE_TELETEXT
4 : To identify cpp_kodi_addon_inputstream_Defs_Info as Teletext
Definition: inputstream.h:178
@ INPUTSTREAM_TYPE_SUBTITLE
3 : To identify cpp_kodi_addon_inputstream_Defs_Info as Subtitle
Definition: inputstream.h:175
@ INPUTSTREAM_TYPE_RDS
5 : To identify cpp_kodi_addon_inputstream_Defs_Info as Radio RDS
Definition: inputstream.h:181
INPUTSTREAM_MASKTYPE
Capability types of inputstream addon. This values are needed to tell Kodi which options are support...
Definition: inputstream.h:48
@ INPUTSTREAM_SUPPORTS_IPOSTIME
0000 0000 0000 0010 : Supports interface position time.
Definition: inputstream.h:59
@ INPUTSTREAM_SUPPORTS_PAUSE
0000 0000 0001 0000 : Supports pause
Definition: inputstream.h:73
@ INPUTSTREAM_SUPPORTS_IDISPLAYTIME
0000 0000 0000 0100 : Supports interface for display time.
Definition: inputstream.h:67
@ INPUTSTREAM_SUPPORTS_ICHAPTER
0000 0000 0100 0000 : Supports interface for chapter selection.
Definition: inputstream.h:86
@ INPUTSTREAM_SUPPORTS_SEEK
0000 0000 0000 1000 : Supports seek
Definition: inputstream.h:70
@ INPUTSTREAM_SUPPORTS_IDEMUX
0000 0000 0000 0001 : Supports interface demuxing.
Definition: inputstream.h:52
@ INPUTSTREAM_SUPPORTS_ITIME
0000 0000 0010 0000 : Supports interface to give position time.
Definition: inputstream.h:81
#define STREAM_MAX_PROPERTY_COUNT
Max number of properties that can be sent to an Inputstream addon.
Definition: stream_constants.h:47
STREAMCODEC_PROFILE
Definition: stream_codec.h:25
Definition: inputstream.h:693
"C" ABI Structures to transfer the methods from this to Kodi
Definition: inputstream.h:607
Definition: inputstream.h:612
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: inputstream.h:623
Definition: stream_crypto.h:109