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