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 	ushort sourceId;
1020 	ubyte protocolVersion;
1021 	/**
1022 	 * Events
1023 	 */
1024 	GPtrArray* events;
1025 }
1026 
1027 /**
1028  * An ATSC EIT Event
1029  */
1030 struct GstMpegtsAtscEITEvent
1031 {
1032 	ushort eventId;
1033 	uint startTime;
1034 	ubyte etmLocation;
1035 	uint lengthInSeconds;
1036 	/**
1037 	 * the titles
1038 	 */
1039 	GPtrArray* titles;
1040 	/**
1041 	 * descriptors
1042 	 */
1043 	GPtrArray* descriptors;
1044 }
1045 
1046 /**
1047  * Extended Text Table (ATSC)
1048  */
1049 struct GstMpegtsAtscETT
1050 {
1051 	ushort ettTableIdExtension;
1052 	ushort protocolVersion;
1053 	uint etmId;
1054 	/**
1055 	 * List of texts
1056 	 */
1057 	GPtrArray* messages;
1058 }
1059 
1060 /**
1061  * Master Guide Table (A65)
1062  */
1063 struct GstMpegtsAtscMGT
1064 {
1065 	ubyte protocolVersion;
1066 	ushort tablesDefined;
1067 	/**
1068 	 * the tables
1069 	 */
1070 	GPtrArray* tables;
1071 	/**
1072 	 * descriptors
1073 	 */
1074 	GPtrArray* descriptors;
1075 }
1076 
1077 /**
1078  * Source from a @GstMpegtsAtscMGT
1079  */
1080 struct GstMpegtsAtscMGTTable
1081 {
1082 	ushort tableType;
1083 	ushort pid;
1084 	ubyte versionNumber;
1085 	uint numberBytes;
1086 	/**
1087 	 * descriptors
1088 	 */
1089 	GPtrArray* descriptors;
1090 }
1091 
1092 struct GstMpegtsAtscMultString
1093 {
1094 	char[4] iso639Langcode;
1095 	GPtrArray* segments;
1096 }
1097 
1098 struct GstMpegtsAtscSTT
1099 {
1100 	ubyte protocolVersion;
1101 	uint systemTime;
1102 	ubyte gpsUtcOffset;
1103 	bool dsStatus;
1104 	ubyte dsDayofmonth;
1105 	ubyte dsHour;
1106 	/**
1107 	 * descriptors
1108 	 */
1109 	GPtrArray* descriptors;
1110 	GstDateTime* utcDatetime;
1111 }
1112 
1113 struct GstMpegtsAtscStringSegment
1114 {
1115 	ubyte compressionType;
1116 	ubyte mode;
1117 	ubyte compressedDataSize;
1118 	ubyte* compressedData;
1119 	char* cachedString;
1120 }
1121 
1122 /**
1123  * Represents both:
1124  * Terrestrial Virtual Channel Table (A65)
1125  * Cable Virtual Channel Table (A65)
1126  */
1127 struct GstMpegtsAtscVCT
1128 {
1129 	ushort transportStreamId;
1130 	ubyte protocolVersion;
1131 	/**
1132 	 * sources
1133 	 */
1134 	GPtrArray* sources;
1135 	/**
1136 	 * descriptors
1137 	 */
1138 	GPtrArray* descriptors;
1139 }
1140 
1141 /**
1142  * Source from a @GstMpegtsAtscVCT, can be used both for TVCT and CVCT tables
1143  */
1144 struct GstMpegtsAtscVCTSource
1145 {
1146 	char* shortName;
1147 	ushort majorChannelNumber;
1148 	ushort minorChannelNumber;
1149 	ubyte modulationMode;
1150 	uint carrierFrequency;
1151 	ushort channelTSID;
1152 	ushort programNumber;
1153 	ubyte ETMLocation;
1154 	bool accessControlled;
1155 	bool hidden;
1156 	bool pathSelect;
1157 	bool outOfBand;
1158 	bool hideGuide;
1159 	ubyte serviceType;
1160 	ushort sourceId;
1161 	/**
1162 	 * descriptors
1163 	 */
1164 	GPtrArray* descriptors;
1165 }
1166 
1167 /**
1168  * DVB Bouquet Association Table (EN 300 468)
1169  */
1170 struct GstMpegtsBAT
1171 {
1172 	GPtrArray* descriptors;
1173 	GPtrArray* streams;
1174 }
1175 
1176 struct GstMpegtsBATStream
1177 {
1178 	ushort transportStreamId;
1179 	ushort originalNetworkId;
1180 	GPtrArray* descriptors;
1181 }
1182 
1183 /**
1184  * Cable Delivery System Descriptor (EN 300 468 v.1.13.1)
1185  */
1186 struct GstMpegtsCableDeliverySystemDescriptor
1187 {
1188 	/**
1189 	 * the frequency in Hz (Hertz)
1190 	 */
1191 	uint frequency;
1192 	/**
1193 	 * the outer FEC scheme used
1194 	 */
1195 	GstMpegtsCableOuterFECScheme outerFec;
1196 	/**
1197 	 * Modulation scheme used
1198 	 */
1199 	GstMpegtsModulationType modulation;
1200 	/**
1201 	 * Symbol rate (in symbols per second)
1202 	 */
1203 	uint symbolRate;
1204 	/**
1205 	 * inner FEC scheme used
1206 	 */
1207 	GstMpegtsDVBCodeRate fecInner;
1208 }
1209 
1210 struct GstMpegtsComponentDescriptor
1211 {
1212 	ubyte streamContent;
1213 	ubyte componentType;
1214 	ubyte componentTag;
1215 	char* languageCode;
1216 	char* text;
1217 }
1218 
1219 struct GstMpegtsContent
1220 {
1221 	GstMpegtsContentNibbleHi contentNibble1;
1222 	ubyte contentNibble2;
1223 	ubyte userByte;
1224 }
1225 
1226 struct GstMpegtsDVBLinkageDescriptor
1227 {
1228 	/**
1229 	 * the transport id
1230 	 */
1231 	ushort transportStreamId;
1232 	/**
1233 	 * the original network id
1234 	 */
1235 	ushort originalNetworkId;
1236 	/**
1237 	 * the service id
1238 	 */
1239 	ushort serviceId;
1240 	/**
1241 	 * the type which %linkage_data has
1242 	 */
1243 	GstMpegtsDVBLinkageType linkageType;
1244 	void* linkageData;
1245 	/**
1246 	 * the length for %private_data_bytes
1247 	 */
1248 	ubyte privateDataLength;
1249 	/**
1250 	 * additional data bytes
1251 	 */
1252 	ubyte* privateDataBytes;
1253 }
1254 
1255 struct GstMpegtsDVBLinkageEvent
1256 {
1257 	ushort targetEventId;
1258 	bool targetListed;
1259 	bool eventSimulcast;
1260 }
1261 
1262 struct GstMpegtsDVBLinkageExtendedEvent
1263 {
1264 	ushort targetEventId;
1265 	bool targetListed;
1266 	bool eventSimulcast;
1267 	ubyte linkType;
1268 	ubyte targetIdType;
1269 	bool originalNetworkIdFlag;
1270 	bool serviceIdFlag;
1271 	ushort userDefinedId;
1272 	ushort targetTransportStreamId;
1273 	ushort targetOriginalNetworkId;
1274 	ushort targetServiceId;
1275 }
1276 
1277 struct GstMpegtsDVBLinkageMobileHandOver
1278 {
1279 	GstMpegtsDVBLinkageHandOverType handOverType;
1280 	bool originType;
1281 	ushort networkId;
1282 	ushort initialServiceId;
1283 }
1284 
1285 struct GstMpegtsDVBParentalRatingItem
1286 {
1287 	char* countryCode;
1288 	ubyte rating;
1289 }
1290 
1291 struct GstMpegtsDVBServiceListItem
1292 {
1293 	/**
1294 	 * the id of a service
1295 	 */
1296 	ushort serviceId;
1297 	/**
1298 	 * the type of a service
1299 	 */
1300 	GstMpegtsDVBServiceType type;
1301 }
1302 
1303 struct GstMpegtsDataBroadcastDescriptor
1304 {
1305 	/**
1306 	 * the data broadcast id
1307 	 */
1308 	ushort dataBroadcastId;
1309 	/**
1310 	 * the component tag
1311 	 */
1312 	ubyte componentTag;
1313 	ubyte length;
1314 	/**
1315 	 * the selector byte field
1316 	 */
1317 	ubyte* selectorBytes;
1318 	/**
1319 	 * language of @text
1320 	 */
1321 	char* languageCode;
1322 	/**
1323 	 * description of data broadcast
1324 	 */
1325 	char* text;
1326 }
1327 
1328 struct GstMpegtsDescriptor
1329 {
1330 	/**
1331 	 * the type of descriptor
1332 	 */
1333 	ubyte tag;
1334 	/**
1335 	 * the extended type (if @descriptor_tag is 0x7f)
1336 	 */
1337 	ubyte tagExtension;
1338 	/**
1339 	 * the length of the descriptor content (excluding tag/length field)
1340 	 */
1341 	ubyte length;
1342 	/**
1343 	 * the full descriptor data (including tag, extension, length). The first
1344 	 * two bytes are the @tag and @length.
1345 	 */
1346 	ubyte* data;
1347 	void*[4] GstReserved;
1348 }
1349 
1350 /**
1351  * a multilingual bouquet name entry
1352  */
1353 struct GstMpegtsDvbMultilingualBouquetNameItem
1354 {
1355 	/**
1356 	 * the ISO 639 language code
1357 	 */
1358 	char* languageCode;
1359 	/**
1360 	 * the bouquet name
1361 	 */
1362 	char* bouquetName;
1363 }
1364 
1365 struct GstMpegtsDvbMultilingualComponentItem
1366 {
1367 	/**
1368 	 * the ISO 639 language code
1369 	 */
1370 	char* languageCode;
1371 	/**
1372 	 * the component description
1373 	 */
1374 	char* description;
1375 }
1376 
1377 /**
1378  * a multilingual network name entry
1379  */
1380 struct GstMpegtsDvbMultilingualNetworkNameItem
1381 {
1382 	/**
1383 	 * the ISO 639 language code
1384 	 */
1385 	char* languageCode;
1386 	/**
1387 	 * the network name
1388 	 */
1389 	char* networkName;
1390 }
1391 
1392 /**
1393  * a multilingual service name entry
1394  */
1395 struct GstMpegtsDvbMultilingualServiceNameItem
1396 {
1397 	/**
1398 	 * the ISO 639 language code
1399 	 */
1400 	char* languageCode;
1401 	/**
1402 	 * the provider name
1403 	 */
1404 	char* providerName;
1405 	/**
1406 	 * the service name
1407 	 */
1408 	char* serviceName;
1409 }
1410 
1411 /**
1412  * Event Information Table (EN 300 468)
1413  */
1414 struct GstMpegtsEIT
1415 {
1416 	ushort transportStreamId;
1417 	ushort originalNetworkId;
1418 	ubyte segmentLastSectionNumber;
1419 	ubyte lastTableId;
1420 	bool actualStream;
1421 	bool presentFollowing;
1422 	/**
1423 	 * List of events
1424 	 */
1425 	GPtrArray* events;
1426 }
1427 
1428 /**
1429  * Event from a @GstMpegtsEIT
1430  */
1431 struct GstMpegtsEITEvent
1432 {
1433 	ushort eventId;
1434 	GstDateTime* startTime;
1435 	uint duration;
1436 	GstMpegtsRunningStatus runningStatus;
1437 	bool freeCAMode;
1438 	/**
1439 	 * List of descriptors
1440 	 */
1441 	GPtrArray* descriptors;
1442 }
1443 
1444 struct GstMpegtsExtendedEventDescriptor
1445 {
1446 	ubyte descriptorNumber;
1447 	ubyte lastDescriptorNumber;
1448 	/**
1449 	 * NULL terminated language code.
1450 	 */
1451 	char* languageCode;
1452 	/**
1453 	 * the #GstMpegtsExtendedEventItem
1454 	 */
1455 	GPtrArray* items;
1456 	char* text;
1457 }
1458 
1459 struct GstMpegtsExtendedEventItem
1460 {
1461 	char* itemDescription;
1462 	char* item;
1463 }
1464 
1465 struct GstMpegtsISO639LanguageDescriptor
1466 {
1467 	uint nbLanguage;
1468 	char*[64] language;
1469 	GstMpegtsIso639AudioType[64] audioType;
1470 }
1471 
1472 struct GstMpegtsLogicalChannel
1473 {
1474 	ushort serviceId;
1475 	bool visibleService;
1476 	ushort logicalChannelNumber;
1477 }
1478 
1479 struct GstMpegtsLogicalChannelDescriptor
1480 {
1481 	uint nbChannels;
1482 	GstMpegtsLogicalChannel[64] channels;
1483 }
1484 
1485 struct GstMpegtsNIT
1486 {
1487 	/**
1488 	 * Whether this NIT corresponds to the actual stream
1489 	 */
1490 	bool actualNetwork;
1491 	/**
1492 	 * ID of the network that this NIT describes
1493 	 */
1494 	ushort networkId;
1495 	/**
1496 	 * the global descriptors
1497 	 */
1498 	GPtrArray* descriptors;
1499 	/**
1500 	 * the streams
1501 	 */
1502 	GPtrArray* streams;
1503 }
1504 
1505 struct GstMpegtsNITStream
1506 {
1507 	ushort transportStreamId;
1508 	ushort originalNetworkId;
1509 	GPtrArray* descriptors;
1510 }
1511 
1512 struct GstMpegtsPMT
1513 {
1514 	/**
1515 	 * PID of the stream containing PCR
1516 	 */
1517 	ushort pcrPid;
1518 	ushort programNumber;
1519 	/**
1520 	 * array of #GstMpegtsDescriptor
1521 	 */
1522 	GPtrArray* descriptors;
1523 	/**
1524 	 * Array of #GstMpegtsPMTStream
1525 	 */
1526 	GPtrArray* streams;
1527 }
1528 
1529 struct GstMpegtsPMTStream
1530 {
1531 	/**
1532 	 * the type of stream. See #GstMpegtsStreamType
1533 	 */
1534 	ubyte streamType;
1535 	/**
1536 	 * the PID of the stream
1537 	 */
1538 	ushort pid;
1539 	/**
1540 	 * the descriptors of the
1541 	 * stream
1542 	 */
1543 	GPtrArray* descriptors;
1544 }
1545 
1546 struct GstMpegtsPatProgram
1547 {
1548 	/**
1549 	 * the program number
1550 	 */
1551 	ushort programNumber;
1552 	/**
1553 	 * the network of program map PID
1554 	 */
1555 	ushort networkOrProgramMapPID;
1556 }
1557 
1558 struct GstMpegtsSDT
1559 {
1560 	/**
1561 	 * Network ID of the originating delivery system
1562 	 */
1563 	ushort originalNetworkId;
1564 	/**
1565 	 * True if the table describes this transport stream
1566 	 */
1567 	bool actualTs;
1568 	/**
1569 	 * ID of this transport stream
1570 	 */
1571 	ushort transportStreamId;
1572 	/**
1573 	 * List of services
1574 	 */
1575 	GPtrArray* services;
1576 }
1577 
1578 struct GstMpegtsSDTService
1579 {
1580 	/**
1581 	 * The program number this table belongs to
1582 	 */
1583 	ushort serviceId;
1584 	/**
1585 	 * EIT schedule information is present in this transport stream
1586 	 */
1587 	bool EITScheduleFlag;
1588 	/**
1589 	 * EIT present/following information is present in this transport stream
1590 	 */
1591 	bool EITPresentFollowingFlag;
1592 	/**
1593 	 * Status of this service
1594 	 */
1595 	GstMpegtsRunningStatus runningStatus;
1596 	/**
1597 	 * True if one or more streams is controlled by a CA system
1598 	 */
1599 	bool freeCAMode;
1600 	/**
1601 	 * List of descriptors
1602 	 */
1603 	GPtrArray* descriptors;
1604 }
1605 
1606 /**
1607  * Satellite Delivery System Descriptor (EN 300 468 v.1.13.1)
1608  */
1609 struct GstMpegtsSatelliteDeliverySystemDescriptor
1610 {
1611 	/**
1612 	 * the frequency in kHz (kiloHertz)
1613 	 */
1614 	uint frequency;
1615 	/**
1616 	 * the orbital position in degrees
1617 	 */
1618 	float orbitalPosition;
1619 	/**
1620 	 * If %TRUE, the satellite is in the eastern part of the orbit,
1621 	 * else in the western part.
1622 	 */
1623 	bool westEast;
1624 	/**
1625 	 * The polarization of the transmitted signal
1626 	 */
1627 	GstMpegtsSatellitePolarizationType polarization;
1628 	/**
1629 	 * Roll-off factor used in DVB-S2
1630 	 */
1631 	GstMpegtsSatelliteRolloff rollOff;
1632 	/**
1633 	 * modulation system, %TRUE if DVB-S2, else DVB-S
1634 	 */
1635 	bool modulationSystem;
1636 	/**
1637 	 * Modulation scheme used
1638 	 */
1639 	GstMpegtsModulationType modulationType;
1640 	/**
1641 	 * Symbol rate (in symbols per second)
1642 	 */
1643 	uint symbolRate;
1644 	/**
1645 	 * inner FEC scheme used
1646 	 */
1647 	GstMpegtsDVBCodeRate fecInner;
1648 }
1649 
1650 struct GstMpegtsSection
1651 {
1652 	GstMiniObject parent;
1653 	/**
1654 	 * The type of section
1655 	 */
1656 	GstMpegtsSectionType sectionType;
1657 	/**
1658 	 * The pid on which this section was found
1659 	 */
1660 	ushort pid;
1661 	/**
1662 	 * The table id of this section
1663 	 */
1664 	ubyte tableId;
1665 	/**
1666 	 * This meaning differs per section. See the documentation
1667 	 * of the parsed section type for the meaning of this field
1668 	 */
1669 	ushort subtableExtension;
1670 	/**
1671 	 * Version of the section.
1672 	 */
1673 	ubyte versionNumber;
1674 	/**
1675 	 * Applies to current/next stream or not
1676 	 */
1677 	bool currentNextIndicator;
1678 	/**
1679 	 * Number of the section (if multiple)
1680 	 */
1681 	ubyte sectionNumber;
1682 	/**
1683 	 * Number of the last expected section (if multiple)
1684 	 */
1685 	ubyte lastSectionNumber;
1686 	/**
1687 	 * CRC
1688 	 */
1689 	uint crc;
1690 	ubyte* data;
1691 	uint sectionLength;
1692 	void** cachedParsed;
1693 	GDestroyNotify destroyParsed;
1694 	ulong offset;
1695 	bool shortSection;
1696 	GstMpegtsPacketizeFunc packetizer;
1697 	void*[4] GstReserved;
1698 }
1699 
1700 struct GstMpegtsT2DeliverySystemCell
1701 {
1702 	/**
1703 	 * id of the cell
1704 	 */
1705 	ushort cellId;
1706 	/**
1707 	 * centre frequencies in Hz
1708 	 */
1709 	GArray* centreFrequencies;
1710 	GPtrArray* subCells;
1711 }
1712 
1713 struct GstMpegtsT2DeliverySystemCellExtension
1714 {
1715 	/**
1716 	 * id of the sub cell
1717 	 */
1718 	ubyte cellIdExtension;
1719 	/**
1720 	 * centre frequency of the sub cell in Hz
1721 	 */
1722 	uint transposerFrequency;
1723 }
1724 
1725 struct GstMpegtsT2DeliverySystemDescriptor
1726 {
1727 	ubyte plpId;
1728 	ushort t2SystemId;
1729 	ubyte sisoMiso;
1730 	uint bandwidth;
1731 	GstMpegtsTerrestrialGuardInterval guardInterval;
1732 	GstMpegtsTerrestrialTransmissionMode transmissionMode;
1733 	bool otherFrequency;
1734 	bool tfs;
1735 	GPtrArray* cells;
1736 }
1737 
1738 /**
1739  * Time Offset Table (EN 300 468)
1740  */
1741 struct GstMpegtsTOT
1742 {
1743 	GstDateTime* utcTime;
1744 	/**
1745 	 * List of descriptors
1746 	 */
1747 	GPtrArray* descriptors;
1748 }
1749 
1750 /**
1751  * Terrestrial Delivery System Descriptor (EN 300 468 v.1.13.1)
1752  */
1753 struct GstMpegtsTerrestrialDeliverySystemDescriptor
1754 {
1755 	/**
1756 	 * the frequency in Hz (Hertz)
1757 	 */
1758 	uint frequency;
1759 	/**
1760 	 * the bandwidth in Hz (Hertz)
1761 	 */
1762 	uint bandwidth;
1763 	/**
1764 	 * %TRUE High Priority %FALSE Low Priority
1765 	 */
1766 	bool priority;
1767 	/**
1768 	 * %TRUE no time slicing %FALSE time slicing
1769 	 */
1770 	bool timeSlicing;
1771 	/**
1772 	 * %TRUE no mpe-fec is used %FALSE mpe-fec is use
1773 	 */
1774 	bool mpeFec;
1775 	/**
1776 	 * the constallation
1777 	 */
1778 	GstMpegtsModulationType constellation;
1779 	/**
1780 	 * the hierarchy
1781 	 */
1782 	GstMpegtsTerrestrialHierarchy hierarchy;
1783 	GstMpegtsDVBCodeRate codeRateHp;
1784 	GstMpegtsDVBCodeRate codeRateLp;
1785 	GstMpegtsTerrestrialGuardInterval guardInterval;
1786 	GstMpegtsTerrestrialTransmissionMode transmissionMode;
1787 	/**
1788 	 * %TRUE more frequency are use, else not
1789 	 */
1790 	bool otherFrequency;
1791 }
1792 
1793 /** */
1794 public alias extern(C) int function(GstMpegtsSection* section) GstMpegtsPacketizeFunc;