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;