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