1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19 
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 
25 module gst.mpegts.c.types;
26 
27 public import glib.c.types;
28 public import gobject.c.types;
29 public import gstreamer.c.types;
30 
31 
32 /**
33  * These values correspond to the registered descriptor type from
34  * the various ATSC specifications.
35  *
36  * Consult the relevant specifications for more details.
37  */
38 public enum GstMpegtsATSCDescriptorType
39 {
40 	STUFFING = 128,
41 	AC3 = 131,
42 	CAPTION_SERVICE = 134,
43 	CONTENT_ADVISORY = 135,
44 	EXTENDED_CHANNEL_NAME = 160,
45 	SERVICE_LOCATION = 161,
46 	TIME_SHIFTED_SERVICE = 162,
47 	COMPONENT_NAME = 163,
48 	DCC_DEPARTING_REQUEST = 168,
49 	DCC_ARRIVING_REQUEST = 169,
50 	REDISTRIBUTION_CONTROL = 170,
51 	GENRE = 171,
52 	PRIVATE_INFORMATION = 173,
53 	EAC3 = 204,
54 	ENHANCED_SIGNALING = 178,
55 	DATA_SERVICE = 164,
56 	PID_COUNT = 165,
57 	DOWNLOAD_DESCRIPTOR = 166,
58 	MULTIPROTOCOL_ENCAPSULATION = 167,
59 	MODULE_LINK = 180,
60 	CRC32 = 181,
61 	GROUP_LINK = 184,
62 }
63 alias GstMpegtsATSCDescriptorType ATSCDescriptorType;
64 
65 public enum GstMpegtsAtscMGTTableType
66 {
67 	EIT0 = 256,
68 	EIT127 = 383,
69 	ETT0 = 512,
70 	ETT127 = 639,
71 }
72 alias GstMpegtsAtscMGTTableType AtscMGTTableType;
73 
74 public enum GstMpegtsCableOuterFECScheme
75 {
76 	UNDEFINED = 0,
77 	NONE = 1,
78 	RS_204_188 = 2,
79 }
80 alias GstMpegtsCableOuterFECScheme CableOuterFECScheme;
81 
82 public enum GstMpegtsComponentStreamContent
83 {
84 	MPEG2_VIDEO = 1,
85 	MPEG1_LAYER2_AUDIO = 2,
86 	TELETEXT_OR_SUBTITLE = 3,
87 	AC_3 = 4,
88 	AVC = 5,
89 	AAC = 6,
90 	DTS = 7,
91 	SRM_CPCM = 8,
92 }
93 alias GstMpegtsComponentStreamContent ComponentStreamContent;
94 
95 public enum GstMpegtsContentNibbleHi
96 {
97 	MOVIE_DRAMA = 1,
98 	NEWS_CURRENT_AFFAIRS = 2,
99 	SHOW_GAME_SHOW = 3,
100 	SPORTS = 4,
101 	CHILDREN_YOUTH_PROGRAM = 5,
102 	MUSIC_BALLET_DANCE = 6,
103 	ARTS_CULTURE = 7,
104 	SOCIAL_POLITICAL_ECONOMICS = 8,
105 	EDUCATION_SCIENCE_FACTUAL = 9,
106 	LEISURE_HOBBIES = 10,
107 	SPECIAL_CHARACTERISTICS = 11,
108 }
109 alias GstMpegtsContentNibbleHi ContentNibbleHi;
110 
111 public enum GstMpegtsDVBCodeRate
112 {
113 	NONE = 0,
114 	_1_2 = 1,
115 	_2_3 = 2,
116 	_3_4 = 3,
117 	_4_5 = 4,
118 	_5_6 = 5,
119 	_6_7 = 6,
120 	_7_8 = 7,
121 	_8_9 = 8,
122 	AUTO = 9,
123 	_3_5 = 10,
124 	_9_10 = 11,
125 	_2_5 = 12,
126 }
127 alias GstMpegtsDVBCodeRate DVBCodeRate;
128 
129 /**
130  * The type of #GstMpegtsDescriptor
131  *
132  * These values correspond to the registered descriptor type from
133  * the various DVB specifications.
134  *
135  * Consult the relevant specifications for more details.
136  */
137 public enum GstMpegtsDVBDescriptorType
138 {
139 	NETWORK_NAME = 64,
140 	SERVICE_LIST = 65,
141 	STUFFING = 66,
142 	SATELLITE_DELIVERY_SYSTEM = 67,
143 	CABLE_DELIVERY_SYSTEM = 68,
144 	VBI_DATA = 69,
145 	VBI_TELETEXT = 70,
146 	BOUQUET_NAME = 71,
147 	SERVICE = 72,
148 	COUNTRY_AVAILABILITY = 73,
149 	LINKAGE = 74,
150 	NVOD_REFERENCE = 75,
151 	TIME_SHIFTED_SERVICE = 76,
152 	SHORT_EVENT = 77,
153 	EXTENDED_EVENT = 78,
154 	TIME_SHIFTED_EVENT = 79,
155 	COMPONENT = 80,
156 	MOSAIC = 81,
157 	STREAM_IDENTIFIER = 82,
158 	CA_IDENTIFIER = 83,
159 	CONTENT = 84,
160 	PARENTAL_RATING = 85,
161 	TELETEXT = 86,
162 	TELEPHONE = 87,
163 	LOCAL_TIME_OFFSET = 88,
164 	SUBTITLING = 89,
165 	TERRESTRIAL_DELIVERY_SYSTEM = 90,
166 	MULTILINGUAL_NETWORK_NAME = 91,
167 	MULTILINGUAL_BOUQUET_NAME = 92,
168 	MULTILINGUAL_SERVICE_NAME = 93,
169 	MULTILINGUAL_COMPONENT = 94,
170 	PRIVATE_DATA_SPECIFIER = 95,
171 	SERVICE_MOVE = 96,
172 	SHORT_SMOOTHING_BUFFER = 97,
173 	FREQUENCY_LIST = 98,
174 	PARTIAL_TRANSPORT_STREAM = 99,
175 	DATA_BROADCAST = 100,
176 	SCRAMBLING = 101,
177 	DATA_BROADCAST_ID = 102,
178 	TRANSPORT_STREAM = 103,
179 	DSNG = 104,
180 	PDC = 105,
181 	AC3 = 106,
182 	ANCILLARY_DATA = 107,
183 	CELL_LIST = 108,
184 	CELL_FREQUENCY_LINK = 109,
185 	ANNOUNCEMENT_SUPPORT = 110,
186 	APPLICATION_SIGNALLING = 111,
187 	ADAPTATION_FIELD_DATA = 112,
188 	SERVICE_IDENTIFIER = 113,
189 	SERVICE_AVAILABILITY = 114,
190 	DEFAULT_AUTHORITY = 115,
191 	RELATED_CONTENT = 116,
192 	TVA_ID = 117,
193 	CONTENT_IDENTIFIER = 118,
194 	TIMESLICE_FEC_IDENTIFIER = 119,
195 	ECM_REPETITION_RATE = 120,
196 	S2_SATELLITE_DELIVERY_SYSTEM = 121,
197 	ENHANCED_AC3 = 122,
198 	DTS = 123,
199 	AAC = 124,
200 	XAIT_LOCATION = 125,
201 	FTA_CONTENT_MANAGEMENT = 126,
202 	EXTENSION = 127,
203 }
204 alias GstMpegtsDVBDescriptorType DVBDescriptorType;
205 
206 /**
207  * The type of #GstMpegtsDescriptor
208  *
209  * These values correspond to the registered extended descriptor
210  * type from the various DVB specifications.
211  *
212  * Consult the relevant specifications for more details.
213  */
214 public enum GstMpegtsDVBExtendedDescriptorType
215 {
216 	IMAGE_ICON = 0,
217 	CPCM_DELIVERY_SIGNALLING = 1,
218 	CP = 2,
219 	CP_IDENTIFIER = 3,
220 	T2_DELIVERY_SYSTEM = 4,
221 	SH_DELIVERY_SYSTEM = 5,
222 	SUPPLEMENTARY_AUDIO = 6,
223 	NETWORK_CHANGE_NOTIFY = 7,
224 	MESSAGE = 8,
225 	TARGET_REGION = 9,
226 	TARGET_REGION_NAME = 10,
227 	SERVICE_RELOCATED = 11,
228 	XAIT_PID = 12,
229 	C2_DELIVERY_SYSTEM = 13,
230 	DTS_HD_AUDIO_STREAM = 14,
231 	DTS_NEUTRAL = 15,
232 	VIDEO_DEPTH_RANGE = 16,
233 	T2MI = 17,
234 	URI_LINKAGE = 19,
235 }
236 alias GstMpegtsDVBExtendedDescriptorType DVBExtendedDescriptorType;
237 
238 public enum GstMpegtsDVBLinkageHandOverType
239 {
240 	RESERVED = 0,
241 	IDENTICAL = 1,
242 	LOCAL_VARIATION = 2,
243 	ASSOCIATED = 3,
244 }
245 alias GstMpegtsDVBLinkageHandOverType DVBLinkageHandOverType;
246 
247 /**
248  * Linkage Type (EN 300 468 v.1.13.1)
249  */
250 public enum GstMpegtsDVBLinkageType
251 {
252 	RESERVED_00 = 0,
253 	INFORMATION = 1,
254 	EPG = 2,
255 	CA_REPLACEMENT = 3,
256 	TS_CONTAINING_COMPLETE_SI = 4,
257 	SERVICE_REPLACEMENT = 5,
258 	DATA_BROADCAST = 6,
259 	RCS_MAP = 7,
260 	MOBILE_HAND_OVER = 8,
261 	SYSTEM_SOFTWARE_UPDATE = 9,
262 	TS_CONTAINING_SSU = 10,
263 	IP_MAC_NOTIFICATION = 11,
264 	TS_CONTAINING_INT = 12,
265 	EVENT = 13,
266 	EXTENDED_EVENT = 14,
267 }
268 alias GstMpegtsDVBLinkageType DVBLinkageType;
269 
270 public enum GstMpegtsDVBScramblingModeType
271 {
272 	RESERVED = 0,
273 	CSA1 = 1,
274 	CSA2 = 2,
275 	CSA3_STANDARD = 3,
276 	CSA3_MINIMAL_ENHANCED = 4,
277 	CSA3_FULL_ENHANCED = 5,
278 	CISSA = 16,
279 	ATIS_0 = 112,
280 	ATIS_F = 127,
281 }
282 alias GstMpegtsDVBScramblingModeType DVBScramblingModeType;
283 
284 /**
285  * The type of service of a channel.
286  *
287  * As specified in Table 87 of ETSI EN 300 468 v1.13.1
288  */
289 public enum GstMpegtsDVBServiceType
290 {
291 	RESERVED_00 = 0,
292 	DIGITAL_TELEVISION = 1,
293 	DIGITAL_RADIO_SOUND = 2,
294 	TELETEXT = 3,
295 	NVOD_REFERENCE = 4,
296 	NVOD_TIME_SHIFTED = 5,
297 	MOSAIC = 6,
298 	FM_RADIO = 7,
299 	DVB_SRM = 8,
300 	RESERVED_09 = 9,
301 	ADVANCED_CODEC_DIGITAL_RADIO_SOUND = 10,
302 	ADVANCED_CODEC_MOSAIC = 11,
303 	DATA_BROADCAST = 12,
304 	RESERVED_0D_COMMON_INTERFACE = 13,
305 	RCS_MAP = 14,
306 	RCS_FLS = 15,
307 	DVB_MHP = 16,
308 	MPEG2_HD_DIGITAL_TELEVISION = 17,
309 	ADVANCED_CODEC_SD_DIGITAL_TELEVISION = 22,
310 	ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED = 23,
311 	ADVANCED_CODEC_SD_NVOD_REFERENCE = 24,
312 	ADVANCED_CODEC_HD_DIGITAL_TELEVISION = 25,
313 	ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED = 26,
314 	ADVANCED_CODEC_HD_NVOD_REFERENCE = 27,
315 	ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION = 28,
316 	ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED = 29,
317 	ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE = 30,
318 	RESERVED_FF = 31,
319 }
320 alias GstMpegtsDVBServiceType DVBServiceType;
321 
322 /**
323  * The type of teletext page.
324  *
325  * As specified in Table 100 of ETSI EN 300 468 v1.13.1
326  */
327 public enum GstMpegtsDVBTeletextType
328 {
329 	NITIAL_PAGE = 1,
330 	UBTITLE_PAGE = 2,
331 	DDITIONAL_INFO_PAGE = 3,
332 	ROGRAMME_SCHEDULE_PAGE = 4,
333 	EARING_IMPAIRED_PAGE = 5,
334 }
335 alias GstMpegtsDVBTeletextType DVBTeletextType;
336 
337 /**
338  * The type of #GstMpegtsDescriptor
339  *
340  * These values correspond to the registered descriptor type from
341  * the base MPEG-TS specifications (ITU H.222.0 | ISO/IEC 13818-1).
342  *
343  * Consult the relevant specifications for more details.
344  */
345 public enum GstMpegtsDescriptorType
346 {
347 	RESERVED_00 = 0,
348 	RESERVED_01 = 1,
349 	VIDEO_STREAM = 2,
350 	AUDIO_STREAM = 3,
351 	HIERARCHY = 4,
352 	REGISTRATION = 5,
353 	DATA_STREAM_ALIGNMENT = 6,
354 	TARGET_BACKGROUND_GRID = 7,
355 	VIDEO_WINDOW = 8,
356 	CA = 9,
357 	ISO_639_LANGUAGE = 10,
358 	SYSTEM_CLOCK = 11,
359 	MULTIPLEX_BUFFER_UTILISATION = 12,
360 	COPYRIGHT = 13,
361 	MAXIMUM_BITRATE = 14,
362 	PRIVATE_DATA_INDICATOR = 15,
363 	SMOOTHING_BUFFER = 16,
364 	STD = 17,
365 	IBP = 18,
366 	DSMCC_CAROUSEL_IDENTIFIER = 19,
367 	DSMCC_ASSOCIATION_TAG = 20,
368 	DSMCC_DEFERRED_ASSOCIATION_TAG = 21,
369 	DSMCC_NPT_REFERENCE = 23,
370 	DSMCC_NPT_ENDPOINT = 24,
371 	DSMCC_STREAM_MODE = 25,
372 	DSMCC_STREAM_EVENT = 26,
373 	MPEG4_VIDEO = 27,
374 	MPEG4_AUDIO = 28,
375 	IOD = 29,
376 	SL = 30,
377 	FMC = 31,
378 	EXTERNAL_ES_ID = 32,
379 	MUX_CODE = 33,
380 	FMX_BUFFER_SIZE = 34,
381 	MULTIPLEX_BUFFER = 35,
382 	CONTENT_LABELING = 36,
383 	METADATA_POINTER = 37,
384 	METADATA = 38,
385 	METADATA_STD = 39,
386 	AVC_VIDEO = 40,
387 	IPMP = 41,
388 	AVC_TIMING_AND_HRD = 42,
389 	MPEG2_AAC_AUDIO = 43,
390 	FLEX_MUX_TIMING = 44,
391 	MPEG4_TEXT = 45,
392 	MPEG4_AUDIO_EXTENSION = 46,
393 	AUXILIARY_VIDEO_STREAM = 47,
394 	SVC_EXTENSION = 48,
395 	MVC_EXTENSION = 49,
396 	J2K_VIDEO = 50,
397 	MVC_OPERATION_POINT = 51,
398 	MPEG2_STEREOSCOPIC_VIDEO_FORMAT = 52,
399 	STEREOSCOPIC_PROGRAM_INFO = 53,
400 	STEREOSCOPIC_VIDEO_INFO = 54,
401 }
402 alias GstMpegtsDescriptorType DescriptorType;
403 
404 /**
405  * These values correspond to the registered descriptor type from
406  * the various ISDB specifications.
407  *
408  * Consult the relevant specifications for more details.
409  */
410 public enum GstMpegtsISDBDescriptorType
411 {
412 	HIERARCHICAL_TRANSMISSION = 192,
413 	DIGITAL_COPY_CONTROL = 193,
414 	NETWORK_IDENTIFICATION = 194,
415 	PARTIAL_TS_TIME = 195,
416 	AUDIO_COMPONENT = 196,
417 	HYPERLINK = 197,
418 	TARGET_REGION = 198,
419 	DATA_CONTENT = 199,
420 	VIDEO_DECODE_CONTROL = 200,
421 	DOWNLOAD_CONTENT = 201,
422 	CA_EMM_TS = 202,
423 	CA_CONTRACT_INFORMATION = 203,
424 	CA_SERVICE = 204,
425 	TS_INFORMATION = 205,
426 	EXTENDED_BROADCASTER = 206,
427 	LOGO_TRANSMISSION = 207,
428 	BASIC_LOCAL_EVENT = 208,
429 	REFERENCE = 209,
430 	NODE_RELATION = 210,
431 	SHORT_NODE_INFORMATION = 211,
432 	STC_REFERENCE = 212,
433 	SERIES = 213,
434 	EVENT_GROUP = 214,
435 	SI_PARAMETER = 215,
436 	BROADCASTER_NAME = 216,
437 	COMPONENT_GROUP = 217,
438 	SI_PRIME_TS = 218,
439 	BOARD_INFORMATION = 219,
440 	LDT_LINKAGE = 220,
441 	CONNECTED_TRANSMISSION = 221,
442 	CONTENT_AVAILABILITY = 222,
443 	SERVICE_GROUP = 224,
444 }
445 alias GstMpegtsISDBDescriptorType ISDBDescriptorType;
446 
447 public enum GstMpegtsIso639AudioType
448 {
449 	UNDEFINED = 0,
450 	CLEAN_EFFECTS = 1,
451 	HEARING_IMPAIRED = 2,
452 	VISUAL_IMPAIRED_COMMENTARY = 3,
453 }
454 alias GstMpegtsIso639AudioType Iso639AudioType;
455 
456 /**
457  * The type of #GstMpegtsDescriptor
458  *
459  * These values correspond to miscellaneous descriptor types that are
460  * not yet identified from known specifications.
461  */
462 public enum GstMpegtsMiscDescriptorType
463 {
464 	AC3_AUDIO_STREAM = 129,
465 	DTG_LOGICAL_CHANNEL = 131,
466 }
467 alias GstMpegtsMiscDescriptorType MiscDescriptorType;
468 
469 public enum GstMpegtsModulationType
470 {
471 	QPSK = 0,
472 	QAM_16 = 1,
473 	QAM_32 = 2,
474 	QAM_64 = 3,
475 	QAM_128 = 4,
476 	QAM_256 = 5,
477 	QAM_AUTO = 6,
478 	VSB_8 = 7,
479 	VSB_16 = 8,
480 	PSK_8 = 9,
481 	APSK_16 = 10,
482 	APSK_32 = 11,
483 	DQPSK = 12,
484 	QAM_4_NR_ = 13,
485 	NONE = 14,
486 }
487 alias GstMpegtsModulationType ModulationType;
488 
489 /**
490  * Running status of a service.
491  *
492  * Corresponds to table 6 of ETSI EN 300 468 (v1.13.0)
493  */
494 public enum GstMpegtsRunningStatus
495 {
496 	UNDEFINED = 0,
497 	NOT_RUNNING = 1,
498 	STARTS_IN_FEW_SECONDS = 2,
499 	PAUSING = 3,
500 	RUNNING = 4,
501 	OFF_AIR = 5,
502 }
503 alias GstMpegtsRunningStatus RunningStatus;
504 
505 public enum GstMpegtsSatellitePolarizationType
506 {
507 	LINEAR_HORIZONTAL = 0,
508 	LINEAR_VERTICAL = 1,
509 	CIRCULAR_LEFT = 2,
510 	CIRCULAR_RIGHT = 3,
511 }
512 alias GstMpegtsSatellitePolarizationType SatellitePolarizationType;
513 
514 public enum GstMpegtsSatelliteRolloff
515 {
516 	_35 = 0,
517 	_20 = 1,
518 	_25 = 2,
519 	RESERVED = 3,
520 	AUTO = 4,
521 }
522 alias GstMpegtsSatelliteRolloff SatelliteRolloff;
523 
524 /**
525  * Type of mpeg-ts streams for SCTE
526  */
527 public enum GstMpegtsScteStreamType
528 {
529 	/**
530 	 * SCTE-27 Subtitling
531 	 */
532 	SUBTITLING = 130,
533 	/**
534 	 * SCTE-19 Isochronous data
535 	 */
536 	ISOCH_DATA = 131,
537 	/**
538 	 * SCTE-07 Data Service or
539 	 * Network Resource Table
540 	 */
541 	DST_NRT = 149,
542 	/**
543 	 * Type B - DSM-CC Data Carousel
544 	 * [IEC 13818-6])
545 	 */
546 	DSMCC_DCB = 176,
547 	/**
548 	 * Enhanced Television Application
549 	 * Signaling (OC-SP-ETV-AM1.0.1-120614)
550 	 */
551 	SIGNALING = 192,
552 	/**
553 	 * SCTE-07 Synchronous data
554 	 */
555 	SYNC_DATA = 194,
556 	/**
557 	 * SCTE-53 Asynchronous data
558 	 */
559 	ASYNC_DATA = 195,
560 }
561 alias GstMpegtsScteStreamType ScteStreamType;
562 
563 /**
564  * Values for a #GstMpegtsSection table_id.
565  *
566  * These are the registered ATSC table_id variants.
567  *
568  * see also: #GstMpegtsSectionTableID
569  */
570 public enum GstMpegtsSectionATSCTableID
571 {
572 	MASTER_GUIDE = 199,
573 	TERRESTRIAL_VIRTUAL_CHANNEL = 200,
574 	CABLE_VIRTUAL_CHANNEL = 201,
575 	RATING_REGION = 202,
576 	EVENT_INFORMATION = 203,
577 	CHANNEL_OR_EVENT_EXTENDED_TEXT = 204,
578 	SYSTEM_TIME = 205,
579 	DATA_EVENT = 206,
580 	DATA_SERVICE = 207,
581 	NETWORK_RESOURCE = 209,
582 	LONG_TERM_SERVICE = 210,
583 	DIRECTED_CHANNEL_CHANGE = 211,
584 	DIRECTED_CHANNEL_CHANGE_SECTION_CODE = 212,
585 	AGGREGATE_EVENT_INFORMATION = 214,
586 	AGGREGATE_EXTENDED_TEXT = 215,
587 	AGGREGATE_DATA_EVENT = 217,
588 	SATELLITE_VIRTUAL_CHANNEL = 218,
589 }
590 alias GstMpegtsSectionATSCTableID SectionATSCTableID;
591 
592 /**
593  * Values for a #GstMpegtsSection table_id.
594  *
595  * These are the registered DVB table_id variants.
596  *
597  * see also: #GstMpegtsSectionTableID
598  */
599 public enum GstMpegtsSectionDVBTableID
600 {
601 	NETWORK_INFORMATION_ACTUAL_NETWORK = 64,
602 	NETWORK_INFORMATION_OTHER_NETWORK = 65,
603 	SERVICE_DESCRIPTION_ACTUAL_TS = 66,
604 	SERVICE_DESCRIPTION_OTHER_TS = 70,
605 	BOUQUET_ASSOCIATION = 74,
606 	EVENT_INFORMATION_ACTUAL_TS_PRESENT = 78,
607 	EVENT_INFORMATION_OTHER_TS_PRESENT = 79,
608 	EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1 = 80,
609 	EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N = 95,
610 	EVENT_INFORMATION_OTHER_TS_SCHEDULE_1 = 96,
611 	EVENT_INFORMATION_OTHER_TS_SCHEDULE_N = 111,
612 	TIME_DATE = 112,
613 	RUNNING_STATUS = 113,
614 	STUFFING = 114,
615 	TIME_OFFSET = 115,
616 	APPLICATION_INFORMATION_TABLE = 116,
617 	CONTAINER = 117,
618 	RELATED_CONTENT = 118,
619 	CONTENT_IDENTIFIER = 119,
620 	MPE_FEC = 120,
621 	RESOLUTION_NOTIFICATION = 121,
622 	MPE_IFEC = 122,
623 	DISCONTINUITY_INFORMATION = 126,
624 	SELECTION_INFORMATION = 127,
625 	CA_MESSAGE_ECM_0 = 128,
626 	CA_MESSAGE_ECM_1 = 129,
627 	CA_MESSAGE_SYSTEM_PRIVATE_1 = 130,
628 	CA_MESSAGE_SYSTEM_PRIVATE_N = 143,
629 	SCT = 160,
630 	FCT = 161,
631 	TCT = 162,
632 	SPT = 163,
633 	CMT = 164,
634 	TBTP = 165,
635 	PCR_PACKET_PAYLOAD = 166,
636 	TRANSMISSION_MODE_SUPPORT_PAYLOAD = 170,
637 	TIM = 176,
638 	LL_FEC_PARITY_DATA_TABLE = 177,
639 }
640 alias GstMpegtsSectionDVBTableID SectionDVBTableID;
641 
642 /**
643  * Values for a #GstMpegtsSection table_id.
644  *
645  * These are the registered SCTE table_id variants.
646  *
647  * see also: #GstMpegtsSectionTableID
648  */
649 public enum GstMpegtsSectionSCTETableID
650 {
651 	/**
652 	 * SCTE-18 Emergency Alert System
653 	 */
654 	EAS = 216,
655 	/**
656 	 * CL-SP-ETV-AM 1.0.1 EBIF message
657 	 */
658 	EBIF = 224,
659 	RESERVED = 225,
660 	/**
661 	 * CL-SP-ETV-AM 1.0.1 EBIF Int. Signaling Sect.
662 	 */
663 	EISS = 226,
664 	/**
665 	 * CL-SP-ETV-AM 1.0.1 DSMCC DII message
666 	 */
667 	DII = 227,
668 	/**
669 	 * CL-SP-ETV-AM 1.0.1 DSMCC Data Download Block
670 	 */
671 	DDB = 228,
672 	/**
673 	 * SCTE-35 splice information is carried in a
674 	 * section stream on a separate PID in the program’s Map Table (PMT) allowing
675 	 * Splice Event notifications to remain associated with the program and pass
676 	 * through multiplexers.
677 	 */
678 	SPLICE = 252,
679 }
680 alias GstMpegtsSectionSCTETableID SectionSCTETableID;
681 
682 /**
683  * Values for a #GstMpegtsSection table_id
684  *
685  * These are the registered ITU H.222.0 | ISO/IEC 13818-1 table_id variants.
686  *
687  * see also #GstMpegtsSectionATSCTableID, #GstMpegtsSectionDVBTableID, and
688  * #GstMpegtsSectionSCTETableID
689  */
690 public enum GstMpegtsSectionTableID
691 {
692 	PROGRAM_ASSOCIATION = 0,
693 	CONDITIONAL_ACCESS = 1,
694 	TS_PROGRAM_MAP = 2,
695 	TS_DESCRIPTION = 3,
696 	_14496_SCENE_DESCRIPTION = 4,
697 	_14496_OBJET_DESCRIPTOR = 5,
698 	METADATA = 6,
699 	IPMP_CONTROL_INFORMATION = 7,
700 	DSM_CC_MULTIPROTO_ENCAPSULATED_DATA = 58,
701 	DSM_CC_U_N_MESSAGES = 59,
702 	DSM_CC_DOWNLOAD_DATA_MESSAGES = 60,
703 	DSM_CC_STREAM_DESCRIPTORS = 61,
704 	DSM_CC_PRIVATE_DATA = 62,
705 	DSM_CC_ADDRESSABLE_SECTIONS = 63,
706 	UNSET = 255,
707 }
708 alias GstMpegtsSectionTableID SectionTableID;
709 
710 /**
711  * Types of #GstMpegtsSection that the library handles.
712  */
713 public enum GstMpegtsSectionType
714 {
715 	/**
716 	 * Unknown section type
717 	 */
718 	UNKNOWN = 0,
719 	/**
720 	 * Program Association Table (ISO/IEC 13818-1)
721 	 */
722 	PAT = 1,
723 	/**
724 	 * Program Map Table (ISO/IEC 13818-1)
725 	 */
726 	PMT = 2,
727 	/**
728 	 * Conditional Access Table (ISO/IEC 13818-1)
729 	 */
730 	CAT = 3,
731 	/**
732 	 * Transport Stream Description Table (ISO/IEC 13818-1)
733 	 */
734 	TSDT = 4,
735 	/**
736 	 * Event Information Table (EN 300 468)
737 	 */
738 	EIT = 5,
739 	/**
740 	 * Network Information Table (ISO/IEC 13818-1 / EN 300 468)
741 	 */
742 	NIT = 6,
743 	/**
744 	 * Bouquet Association Table ((EN 300 468)
745 	 */
746 	BAT = 7,
747 	/**
748 	 * Service Description Table (EN 300 468)
749 	 */
750 	SDT = 8,
751 	/**
752 	 * Time and Date Table (EN 300 468)
753 	 */
754 	TDT = 9,
755 	/**
756 	 * Time Offset Table (EN 300 468)
757 	 */
758 	TOT = 10,
759 	/**
760 	 * ATSC Terrestrial Virtual Channel Table (A65)
761 	 */
762 	ATSC_TVCT = 11,
763 	/**
764 	 * ATSC Cable Virtual Channel Table (A65)
765 	 */
766 	ATSC_CVCT = 12,
767 	/**
768 	 * ATSC Master Guide Table (A65)
769 	 */
770 	ATSC_MGT = 13,
771 	/**
772 	 * ATSC Extended Text Table (A65)
773 	 */
774 	ATSC_ETT = 14,
775 	/**
776 	 * ATSC Event Information Table (A65)
777 	 */
778 	ATSC_EIT = 15,
779 	/**
780 	 * ATSC System Time Table (A65)
781 	 */
782 	ATSC_STT = 16,
783 }
784 alias GstMpegtsSectionType SectionType;
785 
786 /**
787  * Type of mpeg-ts stream type.
788  *
789  * These values correspond to the base standard registered types. Depending
790  * on the variant of mpeg-ts being used (Bluray, ATSC, DVB, ...), other
791  * types might also be used, but will not conflict with these.
792  *
793  * Corresponds to table 2-34 of ITU H.222.0 | ISO/IEC 13818-1
794  */
795 public enum GstMpegtsStreamType
796 {
797 	/**
798 	 * ITU-T | ISO/IEC Reserved
799 	 */
800 	RESERVED_00 = 0,
801 	/**
802 	 * ISO/IEC 11172-2 Video
803 	 */
804 	VIDEO_MPEG1 = 1,
805 	/**
806 	 * Rec. ITU-T H.262 | ISO/IEC 13818-2
807 	 * Video or ISO/IEC 11172-2 constrained parameter video stream
808 	 */
809 	VIDEO_MPEG2 = 2,
810 	/**
811 	 * ISO/IEC 11172-3 Audio
812 	 */
813 	AUDIO_MPEG1 = 3,
814 	/**
815 	 * ISO/IEC 13818-3 Audio
816 	 */
817 	AUDIO_MPEG2 = 4,
818 	/**
819 	 * private sections
820 	 */
821 	PRIVATE_SECTIONS = 5,
822 	/**
823 	 * PES packets containing private data
824 	 */
825 	PRIVATE_PES_PACKETS = 6,
826 	/**
827 	 * ISO/IEC 13522 MHEG
828 	 */
829 	MHEG = 7,
830 	/**
831 	 * Annex A DSM-CC
832 	 */
833 	DSM_CC = 8,
834 	/**
835 	 * Rec. ITU-T H.222.1
836 	 */
837 	H_222_1 = 9,
838 	/**
839 	 * ISO/IEC 13818-6 type A
840 	 */
841 	DSMCC_A = 10,
842 	/**
843 	 * ISO/IEC 13818-6 type B
844 	 */
845 	DSMCC_B = 11,
846 	/**
847 	 * ISO/IEC 13818-6 type C
848 	 */
849 	DSMCC_C = 12,
850 	/**
851 	 * ISO/IEC 13818-6 type D
852 	 */
853 	DSMCC_D = 13,
854 	/**
855 	 * auxiliary streams
856 	 */
857 	AUXILIARY = 14,
858 	/**
859 	 * ISO/IEC 13818-7 Audio with ADTS
860 	 * transport syntax
861 	 */
862 	AUDIO_AAC_ADTS = 15,
863 	/**
864 	 * ISO/IEC 14496-2 Visual
865 	 */
866 	VIDEO_MPEG4 = 16,
867 	/**
868 	 * ISO/IEC 14496-3 Audio with the LATM
869 	 * transport syntax as defined in ISO/IEC 14496-3
870 	 */
871 	AUDIO_AAC_LATM = 17,
872 	/**
873 	 * ISO/IEC 14496-1
874 	 * SL-packetized stream or FlexMux stream carried in PES packets
875 	 */
876 	SL_FLEXMUX_PES_PACKETS = 18,
877 	/**
878 	 * ISO/IEC 14496-1 SL-packetized
879 	 * stream or FlexMux stream carried in ISO/IEC 14496_sections
880 	 */
881 	SL_FLEXMUX_SECTIONS = 19,
882 	/**
883 	 * ISO/IEC 13818-6 Synchronized
884 	 * Download Protocol
885 	 */
886 	SYNCHRONIZED_DOWNLOAD = 20,
887 	/**
888 	 * Metadata carried in PES packets
889 	 */
890 	METADATA_PES_PACKETS = 21,
891 	/**
892 	 * Metadata carried in metadata_sections
893 	 */
894 	METADATA_SECTIONS = 22,
895 	/**
896 	 * Metadata carried in ISO/IEC
897 	 * 13818-6 Data Carousel
898 	 */
899 	METADATA_DATA_CAROUSEL = 23,
900 	/**
901 	 * Metadata carried in
902 	 * ISO/IEC 13818-6 Object Carousel
903 	 */
904 	METADATA_OBJECT_CAROUSEL = 24,
905 	/**
906 	 * Metadata carried in
907 	 * ISO/IEC 13818-6 Synchronized Download Protocol
908 	 */
909 	METADATA_SYNCHRONIZED_DOWNLOAD = 25,
910 	/**
911 	 * IPMP stream (defined in ISO/IEC 13818-11,
912 	 * MPEG-2 IPMP)
913 	 */
914 	MPEG2_IPMP = 26,
915 	/**
916 	 * AVC video stream conforming to one or
917 	 * more profiles defined in Annex A of Rec. ITU-T H.264 | ISO/IEC 14496-10 or
918 	 * AVC video sub-bitstream of SVC as defined in 2.1.78 or MVC base view
919 	 * sub-bitstream, as defined in 2.1.85, or AVC video sub-bitstream of MVC, as
920 	 * defined in 2.1.88
921 	 */
922 	VIDEO_H264 = 27,
923 	/**
924 	 * ISO/IEC 14496-3 Audio, without
925 	 * using any additional transport syntax, such as DST, ALS and SLS
926 	 */
927 	AUDIO_AAC_CLEAN = 28,
928 	/**
929 	 * ISO/IEC 14496-17 Text
930 	 */
931 	MPEG4_TIMED_TEXT = 29,
932 	/**
933 	 * Auxiliary video stream as defined in
934 	 * ISO/IEC 23002-3
935 	 */
936 	VIDEO_RVC = 30,
937 	/**
938 	 * SVC video sub-bitstream
939 	 * of an AVC video stream conforming to one or more profiles defined in Annex G
940 	 * of Rec. ITU-T H.264 | ISO/IEC 14496-10
941 	 */
942 	VIDEO_H264_SVC_SUB_BITSTREAM = 31,
943 	/**
944 	 * MVC video sub-bitstream
945 	 * of an AVC video stream conforming to one or more profiles defined in Annex H
946 	 * of Rec. ITU-T H.264 | ISO/IEC 14496-10
947 	 */
948 	VIDEO_H264_MVC_SUB_BITSTREAM = 32,
949 	/**
950 	 * Video stream conforming to one or more
951 	 * profiles as defined in Rec. ITU-T T.800 | ISO/IEC 15444-1
952 	 */
953 	VIDEO_JP2K = 33,
954 	/**
955 	 * Additional view
956 	 * Rec. ITU-T H.262 | ISO/IEC 13818-2 video stream for service-compatible
957 	 * stereoscopic 3D services
958 	 */
959 	VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW = 34,
960 	/**
961 	 * Additional view
962 	 * Rec. ITU-T H.264 | ISO/IEC 14496-10 video stream conforming to one or more
963 	 * profiles defined in Annex A for service-compatible stereoscopic 3D services
964 	 */
965 	VIDEO_H264_STEREO_ADDITIONAL_VIEW = 35,
966 	VIDEO_HEVC = 36,
967 	/**
968 	 * IPMP stream
969 	 */
970 	IPMP_STREAM = 127,
971 }
972 alias GstMpegtsStreamType StreamType;
973 
974 public enum GstMpegtsTerrestrialGuardInterval
975 {
976 	_1_32 = 0,
977 	_1_16 = 1,
978 	_1_8 = 2,
979 	_1_4 = 3,
980 	AUTO = 4,
981 	_1_128 = 5,
982 	_19_128 = 6,
983 	_19_256 = 7,
984 	PN420 = 8,
985 	PN595 = 9,
986 	PN945 = 10,
987 }
988 alias GstMpegtsTerrestrialGuardInterval TerrestrialGuardInterval;
989 
990 public enum GstMpegtsTerrestrialHierarchy
991 {
992 	NONE = 0,
993 	_1 = 1,
994 	_2 = 2,
995 	_4 = 3,
996 	AUTO = 4,
997 }
998 alias GstMpegtsTerrestrialHierarchy TerrestrialHierarchy;
999 
1000 public enum GstMpegtsTerrestrialTransmissionMode
1001 {
1002 	_2K = 0,
1003 	_8K = 1,
1004 	AUTO = 2,
1005 	_4K = 3,
1006 	_1K = 4,
1007 	_16K = 5,
1008 	_32K = 6,
1009 	C1 = 7,
1010 	C3780 = 8,
1011 }
1012 alias GstMpegtsTerrestrialTransmissionMode TerrestrialTransmissionMode;
1013 
1014 /**
1015  * Event Information Table (ATSC)
1016  */
1017 struct GstMpegtsAtscEIT
1018 {
1019 	/**
1020 	 * The source id
1021 	 */
1022 	ushort sourceId;
1023 	/**
1024 	 * The protocol version
1025 	 */
1026 	ubyte protocolVersion;
1027 	/**
1028 	 * Events
1029 	 */
1030 	GPtrArray* events;
1031 }
1032 
1033 /**
1034  * An ATSC EIT Event
1035  */
1036 struct GstMpegtsAtscEITEvent
1037 {
1038 	/**
1039 	 * The event id
1040 	 */
1041 	ushort eventId;
1042 	/**
1043 	 * The start time
1044 	 */
1045 	uint startTime;
1046 	/**
1047 	 * The etm location
1048 	 */
1049 	ubyte etmLocation;
1050 	/**
1051 	 * The length in seconds
1052 	 */
1053 	uint lengthInSeconds;
1054 	/**
1055 	 * the titles
1056 	 */
1057 	GPtrArray* titles;
1058 	/**
1059 	 * descriptors
1060 	 */
1061 	GPtrArray* descriptors;
1062 }
1063 
1064 /**
1065  * Extended Text Table (ATSC)
1066  */
1067 struct GstMpegtsAtscETT
1068 {
1069 	ushort ettTableIdExtension;
1070 	/**
1071 	 * The protocol version
1072 	 */
1073 	ushort protocolVersion;
1074 	/**
1075 	 * The etm id
1076 	 */
1077 	uint etmId;
1078 	/**
1079 	 * List of texts
1080 	 */
1081 	GPtrArray* messages;
1082 }
1083 
1084 /**
1085  * Master Guide Table (A65)
1086  */
1087 struct GstMpegtsAtscMGT
1088 {
1089 	/**
1090 	 * The protocol version
1091 	 */
1092 	ubyte protocolVersion;
1093 	/**
1094 	 * The numbers of subtables
1095 	 */
1096 	ushort tablesDefined;
1097 	/**
1098 	 * the tables
1099 	 */
1100 	GPtrArray* tables;
1101 	/**
1102 	 * descriptors
1103 	 */
1104 	GPtrArray* descriptors;
1105 }
1106 
1107 /**
1108  * Source from a @GstMpegtsAtscMGT
1109  */
1110 struct GstMpegtsAtscMGTTable
1111 {
1112 	/**
1113 	 * #GstMpegtsAtscMGTTableType
1114 	 */
1115 	ushort tableType;
1116 	/**
1117 	 * The packet ID
1118 	 */
1119 	ushort pid;
1120 	/**
1121 	 * The version number
1122 	 */
1123 	ubyte versionNumber;
1124 	uint numberBytes;
1125 	/**
1126 	 * descriptors
1127 	 */
1128 	GPtrArray* descriptors;
1129 }
1130 
1131 struct GstMpegtsAtscMultString
1132 {
1133 	/**
1134 	 * The ISO639 language code
1135 	 */
1136 	char[4] iso639Langcode;
1137 	GPtrArray* segments;
1138 }
1139 
1140 struct GstMpegtsAtscSTT
1141 {
1142 	/**
1143 	 * The protocol version
1144 	 */
1145 	ubyte protocolVersion;
1146 	/**
1147 	 * The system time
1148 	 */
1149 	uint systemTime;
1150 	/**
1151 	 * The GPS to UTC offset
1152 	 */
1153 	ubyte gpsUtcOffset;
1154 	bool dsStatus;
1155 	/**
1156 	 * The day of month
1157 	 */
1158 	ubyte dsDayofmonth;
1159 	/**
1160 	 * The hour
1161 	 */
1162 	ubyte dsHour;
1163 	/**
1164 	 * descriptors
1165 	 */
1166 	GPtrArray* descriptors;
1167 	/**
1168 	 * The UTC date and time
1169 	 */
1170 	GstDateTime* utcDatetime;
1171 }
1172 
1173 struct GstMpegtsAtscStringSegment
1174 {
1175 	/**
1176 	 * The compression type
1177 	 */
1178 	ubyte compressionType;
1179 	/**
1180 	 * The mode
1181 	 */
1182 	ubyte mode;
1183 	/**
1184 	 * The size of compressed data
1185 	 */
1186 	ubyte compressedDataSize;
1187 	/**
1188 	 * The compressed data
1189 	 */
1190 	ubyte* compressedData;
1191 	char* cachedString;
1192 }
1193 
1194 /**
1195  * Represents both:
1196  * Terrestrial Virtual Channel Table (A65)
1197  * Cable Virtual Channel Table (A65)
1198  */
1199 struct GstMpegtsAtscVCT
1200 {
1201 	/**
1202 	 * The transport stream
1203 	 */
1204 	ushort transportStreamId;
1205 	/**
1206 	 * The protocol version
1207 	 */
1208 	ubyte protocolVersion;
1209 	/**
1210 	 * sources
1211 	 */
1212 	GPtrArray* sources;
1213 	/**
1214 	 * descriptors
1215 	 */
1216 	GPtrArray* descriptors;
1217 }
1218 
1219 /**
1220  * Source from a @GstMpegtsAtscVCT, can be used both for TVCT and CVCT tables
1221  */
1222 struct GstMpegtsAtscVCTSource
1223 {
1224 	/**
1225 	 * The short name of a source
1226 	 */
1227 	char* shortName;
1228 	/**
1229 	 * The major channel number
1230 	 */
1231 	ushort majorChannelNumber;
1232 	/**
1233 	 * The minor channel number
1234 	 */
1235 	ushort minorChannelNumber;
1236 	/**
1237 	 * The modulation mode
1238 	 */
1239 	ubyte modulationMode;
1240 	/**
1241 	 * The carrier frequency
1242 	 */
1243 	uint carrierFrequency;
1244 	/**
1245 	 * The transport stream ID
1246 	 */
1247 	ushort channelTSID;
1248 	/**
1249 	 * The program number (see #GstMpegtsPatProgram)
1250 	 */
1251 	ushort programNumber;
1252 	/**
1253 	 * The ETM location
1254 	 */
1255 	ubyte ETMLocation;
1256 	/**
1257 	 * is access controlled
1258 	 */
1259 	bool accessControlled;
1260 	/**
1261 	 * is hidden
1262 	 */
1263 	bool hidden;
1264 	/**
1265 	 * is path select, CVCT only
1266 	 */
1267 	bool pathSelect;
1268 	/**
1269 	 * is out of band, CVCT only
1270 	 */
1271 	bool outOfBand;
1272 	/**
1273 	 * is hide guide
1274 	 */
1275 	bool hideGuide;
1276 	/**
1277 	 * The service type
1278 	 */
1279 	ubyte serviceType;
1280 	/**
1281 	 * The source id
1282 	 */
1283 	ushort sourceId;
1284 	/**
1285 	 * an array of #GstMpegtsDescriptor
1286 	 */
1287 	GPtrArray* descriptors;
1288 }
1289 
1290 /**
1291  * DVB Bouquet Association Table (EN 300 468)
1292  */
1293 struct GstMpegtsBAT
1294 {
1295 	GPtrArray* descriptors;
1296 	GPtrArray* streams;
1297 }
1298 
1299 struct GstMpegtsBATStream
1300 {
1301 	ushort transportStreamId;
1302 	ushort originalNetworkId;
1303 	GPtrArray* descriptors;
1304 }
1305 
1306 struct GstMpegtsCableDeliverySystemDescriptor
1307 {
1308 	/**
1309 	 * the frequency in Hz (Hertz)
1310 	 */
1311 	uint frequency;
1312 	/**
1313 	 * the outer FEC scheme used
1314 	 */
1315 	GstMpegtsCableOuterFECScheme outerFec;
1316 	/**
1317 	 * Modulation scheme used
1318 	 */
1319 	GstMpegtsModulationType modulation;
1320 	/**
1321 	 * Symbol rate (in symbols per second)
1322 	 */
1323 	uint symbolRate;
1324 	/**
1325 	 * inner FEC scheme used
1326 	 */
1327 	GstMpegtsDVBCodeRate fecInner;
1328 }
1329 
1330 struct GstMpegtsComponentDescriptor
1331 {
1332 	ubyte streamContent;
1333 	ubyte componentType;
1334 	ubyte componentTag;
1335 	char* languageCode;
1336 	char* text;
1337 }
1338 
1339 struct GstMpegtsContent
1340 {
1341 	GstMpegtsContentNibbleHi contentNibble1;
1342 	ubyte contentNibble2;
1343 	ubyte userByte;
1344 }
1345 
1346 struct GstMpegtsDVBLinkageDescriptor
1347 {
1348 	/**
1349 	 * the transport id
1350 	 */
1351 	ushort transportStreamId;
1352 	/**
1353 	 * the original network id
1354 	 */
1355 	ushort originalNetworkId;
1356 	/**
1357 	 * the service id
1358 	 */
1359 	ushort serviceId;
1360 	/**
1361 	 * the type which %linkage_data has
1362 	 */
1363 	GstMpegtsDVBLinkageType linkageType;
1364 	void* linkageData;
1365 	/**
1366 	 * the length for %private_data_bytes
1367 	 */
1368 	ubyte privateDataLength;
1369 	/**
1370 	 * additional data bytes
1371 	 */
1372 	ubyte* privateDataBytes;
1373 }
1374 
1375 struct GstMpegtsDVBLinkageEvent
1376 {
1377 	ushort targetEventId;
1378 	bool targetListed;
1379 	bool eventSimulcast;
1380 }
1381 
1382 struct GstMpegtsDVBLinkageExtendedEvent
1383 {
1384 	ushort targetEventId;
1385 	bool targetListed;
1386 	bool eventSimulcast;
1387 	ubyte linkType;
1388 	ubyte targetIdType;
1389 	bool originalNetworkIdFlag;
1390 	bool serviceIdFlag;
1391 	ushort userDefinedId;
1392 	ushort targetTransportStreamId;
1393 	ushort targetOriginalNetworkId;
1394 	ushort targetServiceId;
1395 }
1396 
1397 struct GstMpegtsDVBLinkageMobileHandOver
1398 {
1399 	GstMpegtsDVBLinkageHandOverType handOverType;
1400 	bool originType;
1401 	ushort networkId;
1402 	ushort initialServiceId;
1403 }
1404 
1405 struct GstMpegtsDVBParentalRatingItem
1406 {
1407 	char* countryCode;
1408 	ubyte rating;
1409 }
1410 
1411 struct GstMpegtsDVBServiceListItem
1412 {
1413 	/**
1414 	 * the id of a service
1415 	 */
1416 	ushort serviceId;
1417 	/**
1418 	 * the type of a service
1419 	 */
1420 	GstMpegtsDVBServiceType type;
1421 }
1422 
1423 struct GstMpegtsDataBroadcastDescriptor
1424 {
1425 	/**
1426 	 * the data broadcast id
1427 	 */
1428 	ushort dataBroadcastId;
1429 	/**
1430 	 * the component tag
1431 	 */
1432 	ubyte componentTag;
1433 	ubyte length;
1434 	/**
1435 	 * the selector byte field
1436 	 */
1437 	ubyte* selectorBytes;
1438 	/**
1439 	 * language of @text
1440 	 */
1441 	char* languageCode;
1442 	/**
1443 	 * description of data broadcast
1444 	 */
1445 	char* text;
1446 }
1447 
1448 struct GstMpegtsDescriptor
1449 {
1450 	/**
1451 	 * the type of descriptor
1452 	 */
1453 	ubyte tag;
1454 	/**
1455 	 * the extended type (if @descriptor_tag is 0x7f)
1456 	 */
1457 	ubyte tagExtension;
1458 	/**
1459 	 * the length of the descriptor content (excluding tag/length field)
1460 	 */
1461 	ubyte length;
1462 	/**
1463 	 * the full descriptor data (including tag, extension, length). The first
1464 	 * two bytes are the @tag and @length.
1465 	 */
1466 	ubyte* data;
1467 	void*[4] GstReserved;
1468 }
1469 
1470 /**
1471  * a multilingual bouquet name entry
1472  */
1473 struct GstMpegtsDvbMultilingualBouquetNameItem
1474 {
1475 	/**
1476 	 * the ISO 639 language code
1477 	 */
1478 	char* languageCode;
1479 	/**
1480 	 * the bouquet name
1481 	 */
1482 	char* bouquetName;
1483 }
1484 
1485 struct GstMpegtsDvbMultilingualComponentItem
1486 {
1487 	/**
1488 	 * the ISO 639 language code
1489 	 */
1490 	char* languageCode;
1491 	/**
1492 	 * the component description
1493 	 */
1494 	char* description;
1495 }
1496 
1497 /**
1498  * a multilingual network name entry
1499  */
1500 struct GstMpegtsDvbMultilingualNetworkNameItem
1501 {
1502 	/**
1503 	 * the ISO 639 language code
1504 	 */
1505 	char* languageCode;
1506 	/**
1507 	 * the network name
1508 	 */
1509 	char* networkName;
1510 }
1511 
1512 /**
1513  * a multilingual service name entry
1514  */
1515 struct GstMpegtsDvbMultilingualServiceNameItem
1516 {
1517 	/**
1518 	 * the ISO 639 language code
1519 	 */
1520 	char* languageCode;
1521 	/**
1522 	 * the provider name
1523 	 */
1524 	char* providerName;
1525 	/**
1526 	 * the service name
1527 	 */
1528 	char* serviceName;
1529 }
1530 
1531 /**
1532  * Event Information Table (EN 300 468)
1533  */
1534 struct GstMpegtsEIT
1535 {
1536 	ushort transportStreamId;
1537 	ushort originalNetworkId;
1538 	ubyte segmentLastSectionNumber;
1539 	ubyte lastTableId;
1540 	bool actualStream;
1541 	bool presentFollowing;
1542 	/**
1543 	 * List of events
1544 	 */
1545 	GPtrArray* events;
1546 }
1547 
1548 /**
1549  * Event from a @GstMpegtsEIT
1550  */
1551 struct GstMpegtsEITEvent
1552 {
1553 	ushort eventId;
1554 	GstDateTime* startTime;
1555 	uint duration;
1556 	GstMpegtsRunningStatus runningStatus;
1557 	bool freeCAMode;
1558 	/**
1559 	 * List of descriptors
1560 	 */
1561 	GPtrArray* descriptors;
1562 }
1563 
1564 struct GstMpegtsExtendedEventDescriptor
1565 {
1566 	ubyte descriptorNumber;
1567 	ubyte lastDescriptorNumber;
1568 	/**
1569 	 * NULL terminated language code.
1570 	 */
1571 	char* languageCode;
1572 	/**
1573 	 * the #GstMpegtsExtendedEventItem
1574 	 */
1575 	GPtrArray* items;
1576 	char* text;
1577 }
1578 
1579 struct GstMpegtsExtendedEventItem
1580 {
1581 	char* itemDescription;
1582 	char* item;
1583 }
1584 
1585 struct GstMpegtsISO639LanguageDescriptor
1586 {
1587 	uint nbLanguage;
1588 	char*[64] language;
1589 	GstMpegtsIso639AudioType[64] audioType;
1590 }
1591 
1592 struct GstMpegtsLogicalChannel
1593 {
1594 	ushort serviceId;
1595 	bool visibleService;
1596 	ushort logicalChannelNumber;
1597 }
1598 
1599 struct GstMpegtsLogicalChannelDescriptor
1600 {
1601 	uint nbChannels;
1602 	GstMpegtsLogicalChannel[64] channels;
1603 }
1604 
1605 struct GstMpegtsNIT
1606 {
1607 	/**
1608 	 * Whether this NIT corresponds to the actual stream
1609 	 */
1610 	bool actualNetwork;
1611 	/**
1612 	 * ID of the network that this NIT describes
1613 	 */
1614 	ushort networkId;
1615 	/**
1616 	 * the global descriptors
1617 	 */
1618 	GPtrArray* descriptors;
1619 	/**
1620 	 * the streams
1621 	 */
1622 	GPtrArray* streams;
1623 }
1624 
1625 struct GstMpegtsNITStream
1626 {
1627 	ushort transportStreamId;
1628 	ushort originalNetworkId;
1629 	GPtrArray* descriptors;
1630 }
1631 
1632 struct GstMpegtsPMT
1633 {
1634 	/**
1635 	 * PID of the stream containing PCR
1636 	 */
1637 	ushort pcrPid;
1638 	ushort programNumber;
1639 	/**
1640 	 * array of #GstMpegtsDescriptor
1641 	 */
1642 	GPtrArray* descriptors;
1643 	/**
1644 	 * Array of #GstMpegtsPMTStream
1645 	 */
1646 	GPtrArray* streams;
1647 }
1648 
1649 struct GstMpegtsPMTStream
1650 {
1651 	/**
1652 	 * the type of stream. See #GstMpegtsStreamType
1653 	 */
1654 	ubyte streamType;
1655 	/**
1656 	 * the PID of the stream
1657 	 */
1658 	ushort pid;
1659 	/**
1660 	 * the descriptors of the
1661 	 * stream
1662 	 */
1663 	GPtrArray* descriptors;
1664 }
1665 
1666 struct GstMpegtsPatProgram
1667 {
1668 	/**
1669 	 * the program number
1670 	 */
1671 	ushort programNumber;
1672 	/**
1673 	 * the network of program map PID
1674 	 */
1675 	ushort networkOrProgramMapPID;
1676 }
1677 
1678 struct GstMpegtsSDT
1679 {
1680 	/**
1681 	 * Network ID of the originating delivery system
1682 	 */
1683 	ushort originalNetworkId;
1684 	/**
1685 	 * True if the table describes this transport stream
1686 	 */
1687 	bool actualTs;
1688 	/**
1689 	 * ID of this transport stream
1690 	 */
1691 	ushort transportStreamId;
1692 	/**
1693 	 * List of services
1694 	 */
1695 	GPtrArray* services;
1696 }
1697 
1698 struct GstMpegtsSDTService
1699 {
1700 	/**
1701 	 * The program number this table belongs to
1702 	 */
1703 	ushort serviceId;
1704 	/**
1705 	 * EIT schedule information is present in this transport stream
1706 	 */
1707 	bool EITScheduleFlag;
1708 	/**
1709 	 * EIT present/following information is present in this transport stream
1710 	 */
1711 	bool EITPresentFollowingFlag;
1712 	/**
1713 	 * Status of this service
1714 	 */
1715 	GstMpegtsRunningStatus runningStatus;
1716 	/**
1717 	 * True if one or more streams is controlled by a CA system
1718 	 */
1719 	bool freeCAMode;
1720 	/**
1721 	 * List of descriptors
1722 	 */
1723 	GPtrArray* descriptors;
1724 }
1725 
1726 /**
1727  * Satellite Delivery System Descriptor (EN 300 468 v.1.13.1)
1728  */
1729 struct GstMpegtsSatelliteDeliverySystemDescriptor
1730 {
1731 	/**
1732 	 * the frequency in kHz (kiloHertz)
1733 	 */
1734 	uint frequency;
1735 	/**
1736 	 * the orbital position in degrees
1737 	 */
1738 	float orbitalPosition;
1739 	/**
1740 	 * If %TRUE, the satellite is in the eastern part of the orbit,
1741 	 * else in the western part.
1742 	 */
1743 	bool westEast;
1744 	/**
1745 	 * The polarization of the transmitted signal
1746 	 */
1747 	GstMpegtsSatellitePolarizationType polarization;
1748 	/**
1749 	 * Roll-off factor used in DVB-S2
1750 	 */
1751 	GstMpegtsSatelliteRolloff rollOff;
1752 	/**
1753 	 * modulation system, %TRUE if DVB-S2, else DVB-S
1754 	 */
1755 	bool modulationSystem;
1756 	/**
1757 	 * Modulation scheme used
1758 	 */
1759 	GstMpegtsModulationType modulationType;
1760 	/**
1761 	 * Symbol rate (in symbols per second)
1762 	 */
1763 	uint symbolRate;
1764 	/**
1765 	 * inner FEC scheme used
1766 	 */
1767 	GstMpegtsDVBCodeRate fecInner;
1768 }
1769 
1770 struct GstMpegtsSection
1771 {
1772 	GstMiniObject parent;
1773 	/**
1774 	 * The type of section
1775 	 */
1776 	GstMpegtsSectionType sectionType;
1777 	/**
1778 	 * The pid on which this section was found
1779 	 */
1780 	ushort pid;
1781 	/**
1782 	 * The table id of this section
1783 	 */
1784 	ubyte tableId;
1785 	/**
1786 	 * This meaning differs per section. See the documentation
1787 	 * of the parsed section type for the meaning of this field
1788 	 */
1789 	ushort subtableExtension;
1790 	/**
1791 	 * Version of the section.
1792 	 */
1793 	ubyte versionNumber;
1794 	/**
1795 	 * Applies to current/next stream or not
1796 	 */
1797 	bool currentNextIndicator;
1798 	/**
1799 	 * Number of the section (if multiple)
1800 	 */
1801 	ubyte sectionNumber;
1802 	/**
1803 	 * Number of the last expected section (if multiple)
1804 	 */
1805 	ubyte lastSectionNumber;
1806 	/**
1807 	 * CRC
1808 	 */
1809 	uint crc;
1810 	ubyte* data;
1811 	uint sectionLength;
1812 	void** cachedParsed;
1813 	GDestroyNotify destroyParsed;
1814 	ulong offset;
1815 	bool shortSection;
1816 	GstMpegtsPacketizeFunc packetizer;
1817 	void*[4] GstReserved;
1818 }
1819 
1820 struct GstMpegtsT2DeliverySystemCell
1821 {
1822 	/**
1823 	 * id of the cell
1824 	 */
1825 	ushort cellId;
1826 	/**
1827 	 * centre frequencies in Hz
1828 	 */
1829 	GArray* centreFrequencies;
1830 	GPtrArray* subCells;
1831 }
1832 
1833 struct GstMpegtsT2DeliverySystemCellExtension
1834 {
1835 	/**
1836 	 * id of the sub cell
1837 	 */
1838 	ubyte cellIdExtension;
1839 	/**
1840 	 * centre frequency of the sub cell in Hz
1841 	 */
1842 	uint transposerFrequency;
1843 }
1844 
1845 struct GstMpegtsT2DeliverySystemDescriptor
1846 {
1847 	ubyte plpId;
1848 	ushort t2SystemId;
1849 	ubyte sisoMiso;
1850 	uint bandwidth;
1851 	GstMpegtsTerrestrialGuardInterval guardInterval;
1852 	GstMpegtsTerrestrialTransmissionMode transmissionMode;
1853 	bool otherFrequency;
1854 	bool tfs;
1855 	GPtrArray* cells;
1856 }
1857 
1858 /**
1859  * Time Offset Table (EN 300 468)
1860  */
1861 struct GstMpegtsTOT
1862 {
1863 	GstDateTime* utcTime;
1864 	/**
1865 	 * List of descriptors
1866 	 */
1867 	GPtrArray* descriptors;
1868 }
1869 
1870 /**
1871  * Terrestrial Delivery System Descriptor (EN 300 468 v.1.13.1)
1872  */
1873 struct GstMpegtsTerrestrialDeliverySystemDescriptor
1874 {
1875 	/**
1876 	 * the frequency in Hz (Hertz)
1877 	 */
1878 	uint frequency;
1879 	/**
1880 	 * the bandwidth in Hz (Hertz)
1881 	 */
1882 	uint bandwidth;
1883 	/**
1884 	 * %TRUE High Priority %FALSE Low Priority
1885 	 */
1886 	bool priority;
1887 	/**
1888 	 * %TRUE no time slicing %FALSE time slicing
1889 	 */
1890 	bool timeSlicing;
1891 	/**
1892 	 * %TRUE no mpe-fec is used %FALSE mpe-fec is use
1893 	 */
1894 	bool mpeFec;
1895 	/**
1896 	 * the constallation
1897 	 */
1898 	GstMpegtsModulationType constellation;
1899 	/**
1900 	 * the hierarchy
1901 	 */
1902 	GstMpegtsTerrestrialHierarchy hierarchy;
1903 	GstMpegtsDVBCodeRate codeRateHp;
1904 	GstMpegtsDVBCodeRate codeRateLp;
1905 	GstMpegtsTerrestrialGuardInterval guardInterval;
1906 	GstMpegtsTerrestrialTransmissionMode transmissionMode;
1907 	/**
1908 	 * %TRUE more frequency are use, else not
1909 	 */
1910 	bool otherFrequency;
1911 }
1912 
1913 /** */
1914 public alias extern(C) int function(GstMpegtsSection* section) GstMpegtsPacketizeFunc;