These values correspond to the registered descriptor type from the various ATSC specifications. Consult the relevant specifications for more details. Type of mpeg-ts streams for ATSC, as defined by the ATSC Code Points Registry. For convenience, some stream types from %GstMpegtsScteStreamType are also included. DigiCipher II video | Identical to ITU-T Rec. H.262 | ISO/IEC 13818-2 Video ATSC A/53 Audio | AC-3 SCTE-27 Subtitling SCTE-19 Isochronous data | Reserved SCTE-35 Splice Information Table E-AC-3 A/52:2018 E-AC-3 A/107 (ATSC 2.0) Event Information Table (ATSC) The source id The protocol version Events An ATSC EIT Event The event id The start time The etm location The length in seconds the titles descriptors Extended Text Table (ATSC) The protocol version The etm id List of texts Master Guide Table (A65) The protocol version The numbers of subtables the tables descriptors Source from a @GstMpegtsAtscMGT #GstMpegtsAtscMGTTableType The packet ID The version number descriptors The ISO639 language code Region Rating Table (A65) The protocol version the names the number of dimensions defined for this rating table A set of dimensions descriptors the names whether the ratings represent a graduated scale the number of values defined for this dimension set of values the abbreviated ratings the ratings System Time Table (A65) The protocol version The system time The GPS to UTC offset The day of month The hour descriptors The UTC date and time A string segment The compression type The mode The size of compressed data The compressed data Represents both: Terrestrial Virtual Channel Table (A65) Cable Virtual Channel Table (A65) The transport stream The protocol version sources descriptors Source from a %GstMpegtsAtscVCT, can be used both for TVCT and CVCT tables The short name of a source The major channel number The minor channel number The modulation mode The carrier frequency The transport stream ID The program number (see #GstMpegtsPatProgram) The ETM location is access controlled is hidden is path select, CVCT only is out of band, CVCT only is hide guide The service type The source id an array of #GstMpegtsDescriptor Table 110: Audio Preselection Descriptor (ETSI EN 300 468 v1.16.1) 5-bit 3-bit field visually impaired indicates if this PID conveys a complete audio programme NULL terminated ISO 639 language code. DVB Bouquet Association Table (EN 300 468) Cable Delivery System Descriptor (EN 300 468 v.1.13.1) the frequency in Hz (Hertz) the outer FEC scheme used Modulation scheme used Symbol rate (in symbols per second) inner FEC scheme used The type of #GstMpegtsDescriptor These values correspond to the registered descriptor type from the various DVB specifications. Consult the relevant specifications for more details. Partial Transport Stream descriptor. Only present in SIT Sections. See also: %GST_MPEGTS_SECTION_SIT, %GstMpegtsSIT The type of #GstMpegtsDescriptor These values correspond to the registered extended descriptor type from the various DVB specifications. Consult the relevant specifications for more details. Provide all avaliable audio programme for user selection the transport id the original network id the service id the type which @linkage_data has the length for @private_data_bytes additional data bytes The #GstMpegtsDVBLinkageEvent or %NULL if an error happened the #GstMpegtsDVBLinkageDescriptor an #GstMpegtsDVBLinkageExtendedEvent array or %NULL if an error happened the #GstMpegtsDVBLinkageDescriptor The #GstMpegtsDVBLinkageMobileHandOver or %NULL if an error happened the #GstMpegtsDVBLinkageDescriptor Linkage Type (EN 300 468 v.1.13.1) the id of a service the type of a service The type of service of a channel. As specified in Table 87 of ETSI EN 300 468 v1.13.1 The type of teletext page. As specified in Table 100 of ETSI EN 300 468 v1.13.1 the data broadcast id the component tag the selector byte field language of @text description of data broadcast These are the base descriptor types and methods. For more details, refer to the ITU H.222.0 or ISO/IEC 13818-1 specifications and other specifications mentioned in the documentation. the type of descriptor the extended type (if @descriptor_tag is 0x7f) the length of the descriptor content (excluding tag/length field) the full descriptor data (including tag, extension, length). The first two bytes are the @tag and @length. Frees @desc The descriptor to free Parses out a list of audio preselection from the @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_EXT_DVB_AUDIO_PRESELECTION #GstMpegtsDescriptor the list of audio preselection Extracts the Conditional Access information from @descriptor. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_CA #GstMpegtsDescriptor the type of CA system used The PID containing ECM or EMM data The private data The size of @private_data in bytes Extracts the cable delivery system information from @descriptor. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM #GstMpegtsDescriptor the #GstMpegtsCableDeliverySystemDescriptor to fill Extracts the bouquet name from @descriptor. %TRUE if parsing succeeded, else %FALSE. the bouquet name Extracts ca id's from @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_CA_IDENTIFIER #GstMpegtsDescriptor a list of ca identifier. Edge entry identifies the CA system. Allocations of the value of this field are found in http://www.dvbservices.com Extracts the DVB component information from @descriptor. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_DVB_COMPONENT #GstMpegtsDescriptor the #GstMpegtsComponentDescriptor to fill Extracts the DVB content information from @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_CONTENT #GstMpegtsDescriptor #GstMpegtsContent Parses out the data broadcast from the @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_DATA_BROADCAST #GstMpegtsDescriptor #GstMpegtsDataBroadcastDescriptor Parses out the data broadcast id from the @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_DATA_BROADCAST_ID #GstMpegtsDescriptor the data broadcast id the selector bytes, if present the length of @id_selector_bytes Extracts the DVB extended event information from @descriptor. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_DVB_EXTENDED_EVENT #GstMpegtsDescriptor the #GstMpegtsExtendedEventDescriptor to fill Parses out a list of frequencies from the @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_FREQUENCY_LIST #GstMpegtsDescriptor %FALSE in Hz, %TRUE in kHz a list of all frequencies in Hz/kHz depending on @offset Extracts the DVB linkage information from @descriptor. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_DVB_LINKAGE #GstMpegtsDescriptor the #GstMpegtsDVBLinkageDescriptor to fill Parses out the multilingual bouquet name from the @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME #GstMpegtsDescriptor a #GstMpegtsDvbMultilingualBouquetNameItem Parses out the multilingual component from the @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT #GstMpegtsDescriptor the component tag a #GstMpegtsDvbMultilingualComponentItem Parses out the multilingual network name from the @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME #GstMpegtsDescriptor a #GstMpegtsDvbMultilingualNetworkNameItem Parses out the multilingual service name from the @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME #GstMpegtsDescriptor a #GstMpegtsDvbMultilingualServiceNameItem Parses out the dvb network name from the @descriptor: %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_NETWORK_NAME #GstMpegtsDescriptor the extracted name Extracts the DVB parental rating information from @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_PARENTAL_RATING #GstMpegtsDescriptor #GstMpegtsDVBParentalRatingItem Parses out the private data specifier from the @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER #GstMpegtsDescriptor the private data specifier id registered by http://www.dvbservices.com/ additional data or NULL length of @private_data Parses out the scrambling mode from the @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_SCRAMBLING #GstMpegtsDescriptor This 8-bit field identifies the selected mode of the scrambling algorithm (#GstMpegtsDVBScramblingModeType). The technical details of the scrambling algorithm are available only to bona-fide users upon signature of a Non Disclosure Agreement (NDA) administered by the DVB Common Scrambling Algorithm Custodian. Extracts the dvb service information from @descriptor. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_DVB_SERVICE #GstMpegtsDescriptor the service type the service name the provider name Parses out a list of services from the @descriptor: %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_SERVICE_LIST #GstMpegtsDescriptor the list of services Extracts the DVB short event information from @descriptor. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_DVB_SHORT_EVENT #GstMpegtsDescriptor the language code the event name the event text Extracts the component tag from @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_CONTENT #GstMpegtsDescriptor the component tag Parses out the stuffing bytes from the @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_STUFFING #GstMpegtsDescriptor the stuffing bytes Extracts the DVB subtitling informatio from specific table id in @descriptor. Note: Use #gst_tag_get_language_code if you want to get the the ISO 639-1 language code from the returned ISO 639-2 one. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_DVB_SUBTITLING #GstMpegtsDescriptor Table id of the entry to parse the language code the type of subtitling the composition page id the ancillary page id The number of entries in @descriptor a %GST_MTS_DESC_DVB_SUBTITLING #GstMpegtsDescriptor Parses out the DVB-T2 delivery system from the @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM #GstMpegtsDescriptor #GstMpegtsT2DeliverySystemDescriptor Parses teletext number @idx in the @descriptor. The language is in ISO639 format. FALSE on out-of-bounds and errors a %GST_MTS_DESC_DVB_TELETEXT #GstMpegtsDescriptor The id of the teletext to get a null-terminated string #GstMpegtsDVBTeletextType Find the number of teletext entries in @descriptor Number of teletext entries a %GST_MTS_DESC_DVB_TELETEXT #GstMpegtsDescriptor Extracts the iso 639-2 language information from @descriptor. Note: Use #gst_tag_get_language_code if you want to get the the ISO 639-1 language code from the returned ISO 639-2 one. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegtsDescriptor the #GstMpegtsISO639LanguageDescriptor to fill Extracts the iso 639-2 language information from specific table id in @descriptor. Note: Use #gst_tag_get_language_code if you want to get the the ISO 639-1 language code from the returned ISO 639-2 one. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegtsDescriptor Table id of the language to parse 4-byte gchar array to hold the language code the #GstMpegtsIso639AudioType to set The number of languages in @descriptor a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegtsDescriptor Extracts the logical channels from @descriptor. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_DTG_LOGICAL_CHANNEL #GstMpegtsDescriptor the #GstMpegtsLogicalChannelDescriptor to fill Parses out the metadata descriptor from the @descriptor. See ISO/IEC 13818-1:2018 Section 2.6.60 and 2.6.61 for details. metadata_application_format is provided in Table 2-82. metadata_format is provided in Table 2-85. %TRUE if the parsing worked correctly, else %FALSE. a %GST_TYPE_MPEGTS_METADATA_DESCRIPTOR #GstMpegtsDescriptor #GstMpegtsMetadataDescriptor Extracts the metadata STD descriptor from @descriptor. See ISO/IEC 13818-1:2018 Section 2.6.62 and 2.6.63 for details. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_METADATA_STD #GstMpegtsDescriptor @metadata_input_leak_rate (out): the input leak rate in units of 400bits/sec. @metadata_buffer_size (out): the buffer size in units of 1024 bytes @metadata_output_leak_rate (out): the output leak rate in units of 400bits/sec. Extracts the Registration information from @descriptor. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_REGISTRATION #GstMpegtsDescriptor The registration ID (in host endiannes) The additional information The size of @additional_info in bytes. Extracts the satellite delivery system information from @descriptor. %TRUE if parsing succeeded, else %FALSE. a %GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM #GstMpegtsDescriptor the #GstMpegtsSatelliteDeliverySystemDescriptor to fill Parses out the terrestrial delivery system from the @descriptor. %TRUE if the parsing happened correctly, else %FALSE. a %GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM #GstMpegtsDescriptor #GstMpegtsTerrestrialDeliverySystemDescriptor Creates a #GstMpegtsDescriptor with custom @tag and @data #GstMpegtsDescriptor descriptor tag descriptor data (after tag and length field) length of @data Creates a #GstMpegtsDescriptor with custom @tag, @tag_extension and @data #GstMpegtsDescriptor descriptor tag descriptor tag extension descriptor data (after tag and length field) length of @data Creates a #GstMpegtsDescriptor to be a %GST_MTS_DESC_DVB_NETWORK_NAME, with the network name @name. The data field of the #GstMpegtsDescriptor will be allocated, and transferred to the caller. the #GstMpegtsDescriptor or %NULL on fail the network name to set Fills a #GstMpegtsDescriptor to be a %GST_MTS_DESC_DVB_SERVICE. The data field of the #GstMpegtsDescriptor will be allocated, and transferred to the caller. the #GstMpegtsDescriptor or %NULL on fail Service type defined as a #GstMpegtsDVBServiceType Name of the service Name of the service provider a string containing the ISO639 language subtitling type composition page id ancillary page id Creates a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegtsDescriptor with a single language #GstMpegtsDescriptor, %NULL on failure ISO-639-2 language 3-char code a #GstMpegtsDescriptor from the metadata pointer descriptor. a #GstMpegtsMetadataPointerDescriptor Creates a %GST_MTS_DESC_REGISTRATION #GstMpegtsDescriptor #GstMpegtsDescriptor, %NULL on failure a 4 character format identifier string pointer to optional additional info length of the optional @additional_info The type of #GstMpegtsDescriptor These values correspond to the registered descriptor type from the base MPEG-TS specifications (ITU H.222.0 | ISO/IEC 13818-1). Consult the relevant specifications for more details. a multilingual bouquet name entry the ISO 639 language code the bouquet name the ISO 639 language code the component description a multilingual network name entry the ISO 639 language code the network name a multilingual service name entry the ISO 639 language code the provider name the service name Event Information Table (EN 300 468) List of events Event from a @GstMpegtsEIT List of descriptors Extended Event Descriptor (EN 300 468 v.1.13.1) NULL terminated language code. the #GstMpegtsExtendedEventItem Type of mpeg-ts streams for Blu-ray formats. To be matched with the stream-type of a #GstMpegtsSection. These values correspond to the registered descriptor type from the various ISDB specifications. Consult the relevant specifications for more details. @GST_MPEGTS_METADATA_APPLICATION_FORMAT_ISAN ISO 15706-1 (ISAN) encoded in its binary form @GST_MPEGTS_METADATA_APPLICATION_FORMAT_VSAN ISO 15706-2 (V-ISAN) encoded in its binary form @GST_MPEGTS_METADATA_APPLICATION_FORMAT_IDENTIFIER_FIELD Defined by the metadata_application_format_identifier field metadata_application_format valid values. See ISO/IEC 13818-1:2023(E) Table 2-84. The metadata descriptor specifies parameters of a metadata service carried in an MPEG-2 Transport Stream (or Program Stream). The descriptor is included in the PMT in the descriptor loop for the elementary stream that carries the metadata service. The descriptor specifies the format of the associated metadata, and contains the value of the metadata_service_id to identify the metadata service to which the metadata descriptor applies. Note that this structure does not include all of the metadata_descriptor items, and will need extension to support DSM-CC and private data. See ISO/IEC 13818-1:2018 Section 2.6.60 and Section 2.6.61 for more information. specifies the application responsible for defining usage, syntax and semantics indicates the format and coding of the metadata format identifier (equivalent to registration descriptor), for example 0x4B4C4641 ('KLVA') to indicate SMPTE 336 KLV. metadata service to which this metadata descriptor applies, typically 0x00 decoder flags, see ISO/IEC 13818-1:2018 Table 2-88. true if stream associated with this descriptor is in an ISO/IEC 13818-6 data or object carousel. metadata_descriptor metadata_format valid values. See ISO/IEC 13818-1:2018(E) Table 2-85. ISO/IEC 15938-1 TeM. ISO/IEC 15938-1 BiM. Defined by metadata application format. Defined by metadata_format_identifier field. This structure is not complete. The following fields are missing in comparison to the standard (ISO/IEC 13818-1:2023 Section 2.6.58): * metadata_locator_record_flag: hardcoded to 0. Indicating no metadata_locator_record present in the descriptor. * MPEG_carriage_flags: hardcoded to 0b00, indicating the metadata is carried in the same transport steam. * metadata_locator_record_length. * transport_stream_location. * transport_stream_id. See also: gst_mpegts_descriptor_from_metadata_pointer specifies the application responsible for defining usage, syntax and semantics indicates the format and coding of the metadata format identifier (equivalent to registration descriptor), for example 0x4B4C4641 ('KLVA') to indicate SMPTE 336 KLV, or 0x49443320 ('ID3 '). metadata service to which this metadata descriptor applies, typically 0x00 Indicates the program in which the metadata is carried. The type of #GstMpegtsDescriptor These values correspond to miscellaneous descriptor types that are not yet identified from known specifications. Network Information Table (ISO/IEC 13818-1 / EN 300 468) Whether this NIT corresponds to the actual stream ID of the network that this NIT describes the global descriptors the streams Allocates and initializes a #GstMpegtsNIT. A newly allocated #GstMpegtsNIT Allocates and initializes a #GstMpegtsNITStream A newly allocated #GstMpegtsNITStream Extra buffer metadata describing the PES Metadata context. This is based on the Metadata AU cell header in ISO/IEC 13818-1:2018 Section 2.12.4. AU_cell_data_length is not provided, since it matches the length of the buffer parent #GstMeta metadata service identifier bit flags, see spec for details Gets the global #GstMetaInfo describing the #GstMpegtsPESMetadataMeta meta. The #GstMetaInfo Program Map Table (ISO/IEC 13818-1). Provides the mappings between program numbers and the program elements that comprise them. The program_number is contained in the subtable_extension field of the container #GstMpegtsSection. PID of the stream containing the PCR for this program. The program to which this PMT is applicable. Array of #GstMpegtsDescriptor Array of #GstMpegtsPMTStream Allocates and initializes a new #GstMpegtsPMT. #GstMpegtsPMTStream can be added to the streams array, and global PMT #GstMpegtsDescriptor to the descriptors array. #GstMpegtsPMT An individual stream definition of a #GstMpegtsPMT. the type of stream. See #GstMpegtsStreamType the PID of the stream the descriptors of the stream Allocates and initializes a new #GstMpegtsPMTStream. #GstMpegtsPMTStream A program entry from a Program Association Table (ITU H.222.0, ISO/IEC 13818-1). the program number the network of program map PID Allocates a new #GstMpegtsPatProgram. A newly allocated #GstMpegtsPatProgram Well-known registration ids, expressed as native-endian 32bit integers. These are used in descriptors of type %GST_MTS_DESC_REGISTRATION. Unless specified otherwise (by use of the "OTHER" prefix), they are all registered by the [SMPTE Registration Authority](https://smpte-ra.org/) or specified in "official" documentation for the given format. Undefined registration id Audio AC-3, ATSC A/52 SCTE 35, "Digital Program Insertion Cueing Message" Dirac Video codec DTS Audio DTS Audio DTS Audio SMPTE 302M, Mapping of AES3 Data in mpeg-ts Enhanced AC-3 (i.e. EAC3) Cablelabs ETV ATSC A/53 compliant stream (i.e. ATSC) Blu-ray, "System Description Blu-ray Disc Read-Only Format part 3 Audio Visual Basic Specifications" SMPTE RP217 : Non-synchronized Mapping of KLV Packets in mpeg-ts Opus Audio HDV (Sony) Video VC-1, SMPTE RP227 "VC-1 Bitstream Transport Encodings" Audio AC-4, ETSI 103 190-2 HEVC / h265 Running status of a service. Corresponds to table 6 of ETSI EN 300 468 (v1.13.0) These values correspond to the ones defined by SCTE (amongst other in ANSI/SCTE 57) When encrypted, or when encountering an unknown command type, we may still want to pass the sit through. When the SIT was constructed by the application, splice times are in running_time and must be translated before packetizing. Allocates and initializes a #GstMpegtsSCTESIT. A newly allocated #GstMpegtsSCTESIT Per-PID splice information. the elementary PID stream containing the Splice Point Whether @splice_time was specified the presentation time of the signaled splice event The UTC time of the signaled splice event Allocates and initializes a #GstMpegtsSCTESpliceComponent. A newly allocated #GstMpegtsSCTESpliceComponent the elementary PID stream identifier The UTC time of the signaled splice event Per-PID splice time information Allocates and initializes a #GstMpegtsSCTESpliceEvent. A newly allocated #GstMpegtsSCTESpliceEvent Service Description Table (EN 300 468) Network ID of the originating delivery system True if the table describes this transport stream ID of this transport stream List of services Allocates and initializes a #GstMpegtsSDT. A newly allocated #GstMpegtsSDT The program number this table belongs to EIT schedule information is present in this transport stream EIT present/following information is present in this transport stream Status of this service True if one or more streams is controlled by a CA system List of descriptors Allocates and initializes a #GstMpegtsSDTService. A newly allocated #GstMpegtsSDTService Selection Information Table (EN 300 468) List of descriptors List of services SIT Service entry The Program number this table belongs to Status of this service List of descriptors Satellite Delivery System Descriptor (EN 300 468 v.1.13.1) the frequency in kHz (kiloHertz) the orbital position in degrees If %TRUE, the satellite is in the eastern part of the orbit, else in the western part. The polarization of the transmitted signal Roll-off factor used in DVB-S2 modulation system, %TRUE if DVB-S2, else DVB-S Modulation scheme used Symbol rate (in symbols per second) inner FEC scheme used Type of mpeg-ts streams for SCTE. Most users would want to use the #GstMpegtsATSCStreamType instead since it also covers these stream types SCTE-27 Subtitling SCTE-19 Isochronous data SCTE-35 Splice Information Table SCTE-07 Data Service or Network Resource Table Type B - DSM-CC Data Carousel [IEC 13818-6]) Enhanced Television Application Signaling (OC-SP-ETV-AM1.0.1-120614) SCTE-07 Synchronous data SCTE-53 Asynchronous data ## Generic usage of sections with %GstMpegtsSection The %GstMpegtsSection object is the representation of MPEG-TS Section (SI or PSI). Various elements can post those on the bus via %GstMessage of type %GST_MESSAGE_ELEMENT. The gst_message_parse_mpegts_section() function provides access to the section. Applications (or other elements) can create them either by using one of the `gst_mpegts_section_from_*` functions, or by providing the raw SI data via gst_mpegts_section_new(). Elements outputting MPEG-TS streams can also create sections using the various convenience functions and then get the packetized data (to be inserted in MPEG-TS packets) using gst_mpegts_section_packetize(). For more details, refer to the ITU H.222.0 or ISO/IEC 13818-1 specifications and other specifications mentioned in the documentation. # Supported base MPEG-TS sections These are the sections for which parsing and packetizing code exists. ## Program Association Table (PAT) See: * gst_mpegts_section_get_pat() * gst_mpegts_pat_program_new() * %GstMpegtsPatProgram ## Conditional Access Table (CAT) See: * gst_mpegts_section_get_cat() ## Program Map Table (PMT) See: * %GstMpegtsPMT * gst_mpegts_section_get_pmt() * gst_mpegts_pmt_new() * %GstMpegtsPMTStream ## Transport Stream Description Table (TSDT) See: * gst_mpegts_section_get_tsdt() # API The type of section. The PID on which this section was found or belongs to. The table id of this section. See %GstMpegtsSectionTableID and derivates for more information. This meaning differs per section. See the documentation of the parsed section type for the meaning of this field Version of the section. Applies to current/next stream or not Number of the section (if multiple) Number of the last expected section (if multiple) Checksum (if applicable) Creates a new #GstMpegtsSection from the provided @data. Note: Ensuring @data is big enough to contain the full section is the responsibility of the caller. If it is not big enough, %NULL will be returned. Note: it is the responsibility of the caller to ensure @data does point to the beginning of the section. A new #GstMpegtsSection if the data was valid, else %NULL the PID to which this section belongs a pointer to the beginning of the section (i.e. the first byte should contain the `table_id` field). size of the @data argument. Returns the #GstMpegtsAtscVCT contained in the @section The #GstMpegtsAtscVCT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_CVCT Returns the #GstMpegtsAtscEIT contained in the @section. The #GstMpegtsAtscEIT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_EIT Returns the #GstMpegtsAtscETT contained in the @section. The #GstMpegtsAtscETT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_ETT Returns the #GstMpegtsAtscMGT contained in the @section. The #GstMpegtsAtscMGT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_MGT Returns the #GstMpegtsAtscRRT contained in the @section. The #GstMpegtsAtscRRT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_RRT Returns the #GstMpegtsAtscSTT contained in the @section. The #GstMpegtsAtscSTT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_STT Returns the #GstMpegtsAtscVCT contained in the @section The #GstMpegtsAtscVCT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_TVCT Returns the #GstMpegtsBAT contained in the @section. The #GstMpegtsBAT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_BAT Parses a Conditional Access Table. Returns the array of #GstMpegtsDescriptor contained in the Conditional Access Table. The array of #GstMpegtsDescriptor contained in the section, or %NULL if an error happened. Release with #g_array_unref when done. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_CAT Gets the original unparsed section data. The original unparsed section data. a #GstMpegtsSection Returns the #GstMpegtsEIT contained in the @section. The #GstMpegtsEIT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_EIT Returns the #GstMpegtsNIT contained in the @section. The #GstMpegtsNIT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_NIT Parses a Program Association Table (ITU H.222.0, ISO/IEC 13818-1). Returns the array of #GstMpegtsPatProgram contained in the section. Note: The PAT `transport_stream_id` field corresponds to the "subtable_extension" field of the provided @section. The #GstMpegtsPatProgram contained in the section, or %NULL if an error happened or the @section did not contain a valid PAT. Release with #g_ptr_array_unref when done. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_PAT Parses the Program Map Table contained in the @section. The #GstMpegtsPMT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_PMT Returns the #GstMpegtsSCTESIT contained in the @section. The #GstMpegtsSCTESIT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_SCTE_SIT Returns the #GstMpegtsSDT contained in the @section. The #GstMpegtsSDT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_SDT Returns the #GstMpegtsSIT contained in the @section. The #GstMpegtsSIT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_SIT Returns the #GstDateTime of the TDT The #GstDateTime contained in the section, or %NULL if an error happened. Release with #gst_date_time_unref when done. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_TDT Returns the #GstMpegtsTOT contained in the @section. The #GstMpegtsTOT contained in the section, or %NULL if an error happened. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_TOT Parses a Transport Stream Description Table. Returns the array of #GstMpegtsDescriptor contained in the section The array of #GstMpegtsDescriptor contained in the section, or %NULL if an error happened. Release with #g_array_unref when done. a #GstMpegtsSection of type %GST_MPEGTS_SECTION_TSDT Packetize (i.e. serialize) the @section. If the data in @section has already been packetized, the data pointer is returned immediately. Otherwise, the data field is allocated and populated. pointer to section data, or %NULL on failure. the #GstMpegtsSection that holds the data #gsize to hold the size of the data Creates a custom #GstEvent with a @GstMpegtsSection and send it the @element #GstElement. %TRUE if the event was sent to the element. The #GstMpegtsSection to put in the event The #GstElement to send to section event to the #GstMpegtsSection a #GstMpegtsAtscMGT to create the #GstMpegtsSection from Ownership of @nit is taken. The data in @nit is managed by the #GstMpegtsSection the #GstMpegtsSection a #GstMpegtsNIT to create the #GstMpegtsSection from Creates a PAT #GstMpegtsSection from the @programs array of #GstMpegtsPatPrograms a #GstMpegtsSection an array of #GstMpegtsPatProgram Transport stream ID of the PAT Creates a #GstMpegtsSection from @pmt that is bound to @pid #GstMpegtsSection a #GstMpegtsPMT to create a #GstMpegtsSection from The PID that the #GstMpegtsPMT belongs to Ownership of @sit is taken. The data in @sit is managed by the #GstMpegtsSection the #GstMpegtsSection a #GstMpegtsSCTESIT to create the #GstMpegtsSection from Ownership of @sdt is taken. The data in @sdt is managed by the #GstMpegtsSection the #GstMpegtsSection a #GstMpegtsSDT to create the #GstMpegtsSection from Values for a #GstMpegtsSection table_id. These are the registered ATSC section `table_id` variants. Unless specified otherwise, they are defined in the "ATSC A/65" specification. see also: #GstMpegtsSectionTableID and other variants. Master Guide Table (MGT) Terrestrial Virtual Channel Table (TVCT) Cable Virtual Channel Table (CVCT) Rating Region Table (RRT) Event Information Table (EIT) Extended Text Table (ETT) System Time Table (STT) A/90: Data Event Table (DET) A/90: Data Service Table (DST) A/57B: Program Identifier Table. A/90: Network Resources Table (NRT) A/90: Long Term Service Table (LTST) Directed Channel Change Table (DCCT) Directed Channel Change Selection Code Table (DCCSCT) A/81: Satellite Virtual Channel Table Values for a #GstMpegtsSection table_id. These are the registered DVB table_id variants. Unless specified otherwise, they come from the DVB Specification for SI (ETSI EN 300 468). see also: #GstMpegtsSectionTableID Network Information Table (NIT), Actual Network Network Information Table (NIT), Other Network Service Description Table (SDT), Actual Transport Stream Service Description Table (SDT), Other Transport Stream Bouquet Association Table (BAT) ETSI TS 102 006: Update Notification Table (UNT) ETSI EN 303 560: Downloadable Font Info Event Information Table (EIT), Actual Transport Stream, present/following Event Information Table (EIT), Other Transport Stream, present/following Event Information Table (EIT), Actual Transport Stream, Schedule (first) Event Information Table (EIT), Actual Transport Stream, Schedule (last) Event Information Table (EIT), Other Transport Stream, Schedule (first) Event Information Table (EIT), Other Transport Stream, Schedule (last) Time Date Table (TDT) Running Status Table (RST) Stuffing Table (ST) Time Offset Table (TOT) ETSI TS 102 323: Application Information Table (AIT) ETSI TS 102 323: Container Section ETSI TS 102 323: Related Content Table (RCT) ETSI TS 102 323: Content Identifier Table (CIT) ETSI TS 301 192: MPE-FEC Section ETSI 103 323: Resolution Provider Notification Table (RNT) ETSI TS 102 772: MPE-IFEC Section ETSI TS 102 809: Protection Message Section Discontinuity Information Table (DIT) Selection Information Table (SIT) ETSI TR 289: CA Message Table (CMT): ECM 0 ETSI TR 289: CA Message Table (CMT): ECM 1 ETSI TR 289: CA Message Table (CMT): CA System Private (First) ETSI TR 289: CA Message Table (CMT): CA System Private (Last) Values for a #GstMpegtsSection table_id. These are the registered SCTE table_id variants. see also: #GstMpegtsSectionTableID SCTE-18 Emergency Alert System CL-SP-ETV-AM 1.0.1 EBIF message CL-SP-ETV-AM 1.0.1 EBIF Int. Signaling Sect. CL-SP-ETV-AM 1.0.1 DSMCC DII message CL-SP-ETV-AM 1.0.1 DSMCC Data Download Block SCTE-35 splice information is carried in a section stream on a separate PID in the program’s Map Table (PMT) allowing Splice Event notifications to remain associated with the program and pass through multiplexers. Values for a #GstMpegtsSection table_id These are the registered ITU H.222.0 | ISO/IEC 13818-1 table_id variants. see also #GstMpegtsSectionATSCTableID, #GstMpegtsSectionDVBTableID, and #GstMpegtsSectionSCTETableID Program Association Table (PAT) Conditional Access Table (CAT) Program Map Table (PMT) Transport Stream Description Table ISO/IEC 14496 Scene Description Table ISO/IEC 14496 Object Descriptor Table Metadata Section IPMP Control Information ISO/IEC 14496 Section. ISO/IEC 23001-11 (Green Access Unit) Section. ISO/ISO 23001-10 (Quality Access Unit) Section. DSM-CC Multi-Protocol Encapsulated (MPE) Data DSM-CC U-N Messages DSM-CC Download Data Messages DSM-CC Stream Descriptors DSM-CC Private Data DSM-CC Addressable Section Unset section table_id (value is forbidden to use in actual sections) Types of #GstMpegtsSection that the library handles. This covers all the MPEG-TS and derivate specification that the library can properly identify and use. Unknown section type Program Association Table (ISO/IEC 13818-1) Program Map Table (ISO/IEC 13818-1) Conditional Access Table (ISO/IEC 13818-1) Transport Stream Description Table (ISO/IEC 13818-1) Event Information Table (EN 300 468) Network Information Table (ISO/IEC 13818-1 / EN 300 468) Bouquet Association Table ((EN 300 468) Service Description Table (EN 300 468) Time and Date Table (EN 300 468) Time Offset Table (EN 300 468) Selection Information Table (EN 300 468) ATSC Terrestrial Virtual Channel Table (A65) ATSC Cable Virtual Channel Table (A65) ATSC Master Guide Table (A65) ATSC Extended Text Table (A65) ATSC Event Information Table (A65) ATSC System Time Table (A65) ATSC Rating Region Table (A65) SCTE Splice Information Table (SCTE-35) Type of MPEG-TS stream type. These values correspond to the base standard registered types. Depending on the variant of mpeg-ts being used (Bluray, ATSC, DVB, ...), other types might also be used, but will not conflict with these. Corresponds to table 2-34 of ITU H.222.0 | ISO/IEC 13818-1 ITU-T | ISO/IEC Reserved ISO/IEC 11172-2 Video (i.e. MPEG-1 Video) Rec. ITU-T H.262 | ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream (i.e. MPEG-2 Video) ISO/IEC 11172-3 Audio ISO/IEC 13818-3 Audio private sections PES packets containing private data ISO/IEC 13522 MHEG Annex A DSM-CC Rec. ITU-T H.222.1 ISO/IEC 13818-6 type A ISO/IEC 13818-6 type B ISO/IEC 13818-6 type C ISO/IEC 13818-6 type D auxiliary streams ISO/IEC 13818-7 Audio (AAC) with ADTS transport syntax ISO/IEC 14496-2 Visual (MPEG-4 Video) ISO/IEC 14496-3 Audio (AAC) with the LATM transport syntax as defined in ISO/IEC 14496-3 ISO/IEC 14496-1 SL-packetized stream or FlexMux stream carried in PES packets ISO/IEC 14496-1 SL-packetized stream or FlexMux stream carried in ISO/IEC 14496_sections ISO/IEC 13818-6 Synchronized Download Protocol Metadata carried in PES packets Metadata carried in metadata_sections Metadata carried in ISO/IEC 13818-6 Data Carousel Metadata carried in ISO/IEC 13818-6 Object Carousel Metadata carried in ISO/IEC 13818-6 Synchronized Download Protocol IPMP stream (defined in ISO/IEC 13818-11, MPEG-2 IPMP) AVC video stream conforming to one or more profiles defined in Annex A of Rec. ITU-T H.264 | ISO/IEC 14496-10 or AVC video sub-bitstream of SVC as defined in 2.1.78 or MVC base view sub-bitstream, as defined in 2.1.85, or AVC video sub-bitstream of MVC, as defined in 2.1.88 ISO/IEC 14496-3 (AAC) Audio, without using any additional transport syntax, such as DST, ALS and SLS ISO/IEC 14496-17 Text Auxiliary video stream as defined in ISO/IEC 23002-3 SVC video sub-bitstream of an AVC video stream conforming to one or more profiles defined in Annex G of Rec. ITU-T H.264 | ISO/IEC 14496-10 MVC video sub-bitstream of an AVC video stream conforming to one or more profiles defined in Annex H of Rec. ITU-T H.264 | ISO/IEC 14496-10 Video stream conforming to one or more profiles as defined in Rec. ITU-T T.800 | ISO/IEC 15444-1 (i.e. JPEG 2000) Additional view Rec. ITU-T H.262 | ISO/IEC 13818-2 video stream for service-compatible stereoscopic 3D services Additional view Rec. ITU-T H.264 | ISO/IEC 14496-10 video stream conforming to one or more profiles defined in Annex A for service-compatible stereoscopic 3D services Rec. ITU-T H.265 | ISO/IEC 23008-2 video stream or an HEVC temporal video sub-bitstream IPMP stream User Private stream id (used for VC-1) as defined by SMPTE RP227. id of the cell centre frequencies in Hz id of the sub cell centre frequency of the sub cell in Hz describe DVB-T2 transmissions according to EN 302 755 Time Offset Table (EN 300 468) List of descriptors Terrestrial Delivery System Descriptor (EN 300 468 v.1.13.1) the frequency in Hz (Hertz) the bandwidth in Hz (Hertz) %TRUE High Priority %FALSE Low Priority %TRUE no time slicing %FALSE time slicing %TRUE no mpe-fec is used %FALSE mpe-fec is use the constellation the hierarchy %TRUE more frequency are use, else not Creates and adds a #GstMpegtsPESMetadataMeta to a @buffer. a newly created #GstMpegtsPESMetadataMeta a #GstBuffer Creates a #GstMpegtsDescriptor with custom @tag and @data #GstMpegtsDescriptor descriptor tag descriptor data (after tag and length field) length of @data Creates a #GstMpegtsDescriptor with custom @tag, @tag_extension and @data #GstMpegtsDescriptor descriptor tag descriptor tag extension descriptor data (after tag and length field) length of @data Creates a #GstMpegtsDescriptor to be a %GST_MTS_DESC_DVB_NETWORK_NAME, with the network name @name. The data field of the #GstMpegtsDescriptor will be allocated, and transferred to the caller. the #GstMpegtsDescriptor or %NULL on fail the network name to set Fills a #GstMpegtsDescriptor to be a %GST_MTS_DESC_DVB_SERVICE. The data field of the #GstMpegtsDescriptor will be allocated, and transferred to the caller. the #GstMpegtsDescriptor or %NULL on fail Service type defined as a #GstMpegtsDVBServiceType Name of the service Name of the service provider a string containing the ISO639 language subtitling type composition page id ancillary page id Creates a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegtsDescriptor with a single language #GstMpegtsDescriptor, %NULL on failure ISO-639-2 language 3-char code a #GstMpegtsDescriptor from the metadata pointer descriptor. a #GstMpegtsMetadataPointerDescriptor Creates a %GST_MTS_DESC_REGISTRATION #GstMpegtsDescriptor #GstMpegtsDescriptor, %NULL on failure a 4 character format identifier string pointer to optional additional info length of the optional @additional_info Creates a new #GstEvent for a #GstMpegtsSection. The new custom #GstEvent. The #GstMpegtsSection to put in a message Extracts the #GstMpegtsSection contained in the @event #GstEvent The extracted #GstMpegtsSection , or %NULL if the event did not contain a valid #GstMpegtsSection. #GstEvent containing a #GstMpegtsSection Finds the first descriptor of type @tag in the array. Note: To look for descriptors that can be present more than once in an array of descriptors, iterate the #GArray manually. the first descriptor matching @tag, else %NULL. an array of #GstMpegtsDescriptor the tag to look for Finds the first descriptor of type @tag with @tag_extension in the array. Note: To look for descriptors that can be present more than once in an array of descriptors, iterate the #GArray manually. the first descriptor matchin @tag with @tag_extension, else %NULL. an array of #GstMpegtsDescriptor the tag to look for This contains the various descriptors defined by the ATSC specifications The list of section types defined and used by the ATSC specifications can be seen in %GstMpegtsSectionATSCTableID. # Supported ATSC MPEG-TS sections These are the sections for which parsing and packetizing code exists. ## Master Guide Table (MGT) See: * gst_mpegts_section_get_atsc_mgt() * %GstMpegtsAtscMGT * %GstMpegtsAtscMGTTable * gst_mpegts_atsc_mgt_new() ## Terrestrial (TVCT) and Cable (CVCT) Virtual Channel Table See: * gst_mpegts_section_get_atsc_tvct() * gst_mpegts_section_get_atsc_cvct() * %GstMpegtsAtscVCT * %GstMpegtsAtscVCTSource ## Rating Region Table (RRT) See: * gst_mpegts_section_get_atsc_rrt() * %GstMpegtsAtscRRT * gst_mpegts_atsc_rrt_new() ## Event Information Table (EIT) See: * gst_mpegts_section_get_atsc_eit() * %GstMpegtsAtscEIT * %GstMpegtsAtscEITEvent ## Extended Text Table (ETT) See: * gst_mpegts_section_get_atsc_ett() * %GstMpegtsAtscETT ## System Time Table (STT) See: * gst_mpegts_section_get_atsc_stt() * %GstMpegtsAtscSTT * gst_mpegts_atsc_stt_new() # API The list of section types defined and used by the DVB specifications can be seen in %GstMpegtsSectionDVBTableID. # Supported DVB MPEG-TS sections These are the sections for which parsing and packetizing code exists. ## Network Information Table (NIT) See: * gst_mpegts_section_get_nit() * %GstMpegtsNIT * %GstMpegtsNITStream * gst_mpegts_nit_new() ## Service Description Table (SDT) See: * gst_mpegts_section_get_sdt() * %GstMpegtsSDT * %GstMpegtsSDTService * gst_mpegts_sdt_new() ## Bouquet Association Table (BAT) See: * gst_mpegts_section_get_bat() * %GstMpegtsBAT * %GstMpegtsBATStream ## Event Information Table (EIT) See: * gst_mpegts_section_get_eit() * %GstMpegtsEIT * %GstMpegtsEITEvent ## Time Date Table (TDT) See: * gst_mpegts_section_get_tdt() ## Time Offset Table (TOT) See: * gst_mpegts_section_get_tot() * %GstMpegtsTOT ## Selection Information Table (SIT) See: * gst_mpegts_section_get_sit() * %GstMpegtsSIT * %GstMpegtsSITService # API This contains the various descriptors defined by the ISDB specifications This contains the %GstMpegtsSection relevent to SCTE specifications. Before any usage of this library, the initialization function should be called. Initializes the MPEG-TS helper library. Must be called before any usage. Creates a new #GstMessage for a @GstMpegtsSection. The new #GstMessage to be posted, or %NULL if the section is not valid. The creator of the message The #GstMpegtsSection to put in a message Returns the #GstMpegtsSection contained in a message. the contained #GstMpegtsSection, or %NULL. a #GstMessage Parses the descriptors present in @buffer and returns them as an array. Note: The data provided in @buffer will not be copied. an array of the parsed descriptors or %NULL if there was an error. Release with #g_array_unref when done with it. descriptors to parse Size of @buffer Allocates a new #GPtrArray for #GstMpegtsPatProgram. The array can be filled and then converted to a PAT section with gst_mpegts_section_from_pat(). A newly allocated #GPtrArray Return the #GType associated with #GstMpegtsPESMetadataMeta a #GType Gets the global #GstMetaInfo describing the #GstMpegtsPESMetadataMeta meta. The #GstMetaInfo Allocates and initializes a new INSERT command #GstMpegtsSCTESIT setup to cancel the specified @event_id. A newly allocated #GstMpegtsSCTESIT The event ID to cancel. Allocates and initializes a NULL command #GstMpegtsSCTESIT. A newly allocated #GstMpegtsSCTESIT Allocates and initializes a new "Splice In" INSERT command #GstMpegtsSCTESIT for the given @event_id and @splice_time. If the @splice_time is #G_MAXUINT64 then the event will be immediate as opposed to for the target @splice_time. A newly allocated #GstMpegtsSCTESIT The event ID. The running time for the splice event Allocates and initializes a new "Splice Out" INSERT command #GstMpegtsSCTESIT for the given @event_id, @splice_time and @duration. If the @splice_time is #G_MAXUINT64 then the event will be immediate as opposed to for the target @splice_time. If the @duration is 0 it won't be specified in the event. A newly allocated #GstMpegtsSCTESIT The event ID. The running time for the splice event The optional duration. the #GstMpegtsSection a #GstMpegtsAtscMGT to create the #GstMpegtsSection from Ownership of @nit is taken. The data in @nit is managed by the #GstMpegtsSection the #GstMpegtsSection a #GstMpegtsNIT to create the #GstMpegtsSection from Creates a PAT #GstMpegtsSection from the @programs array of #GstMpegtsPatPrograms a #GstMpegtsSection an array of #GstMpegtsPatProgram Transport stream ID of the PAT Creates a #GstMpegtsSection from @pmt that is bound to @pid #GstMpegtsSection a #GstMpegtsPMT to create a #GstMpegtsSection from The PID that the #GstMpegtsPMT belongs to Ownership of @sit is taken. The data in @sit is managed by the #GstMpegtsSection the #GstMpegtsSection a #GstMpegtsSCTESIT to create the #GstMpegtsSection from Ownership of @sdt is taken. The data in @sdt is managed by the #GstMpegtsSection the #GstMpegtsSection a #GstMpegtsSDT to create the #GstMpegtsSection from