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.
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.
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
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.
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.
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)
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
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/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)
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
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
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)
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
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
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
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