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;