diff --git a/Cargo.toml b/Cargo.toml
index d556695cd..0d0abd527 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -9,4 +9,5 @@ members = [
"gstreamer-pbutils-sys",
"gstreamer-app-sys",
"gstreamer-player-sys",
+ "gstreamer-mpegts-sys",
]
diff --git a/Gir_GstMpegts.toml b/Gir_GstMpegts.toml
new file mode 100644
index 000000000..892f0813f
--- /dev/null
+++ b/Gir_GstMpegts.toml
@@ -0,0 +1,13 @@
+[options]
+girs_dir = "gir-files"
+library = "GstMpegts"
+version = "1.0"
+min_cfg_version = "1.12"
+target_path = "gstreamer-mpegts-sys"
+work_mode = "sys"
+
+external_libraries = [
+ "GLib",
+ "GObject",
+ "Gst",
+]
diff --git a/gir-files/GstMpegts-1.0.gir b/gir-files/GstMpegts-1.0.gir
new file mode 100644
index 000000000..e5309565c
--- /dev/null
+++ b/gir-files/GstMpegts-1.0.gir
@@ -0,0 +1,5276 @@
+
+
+
+
+
+
+
+
+ These values correspond to the registered descriptor type from
+the various ATSC specifications.
+
+Consult the relevant specifications for more details.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Event Information Table (ATSC)
+
+
+
+
+
+
+
+ Events
+
+
+
+
+
+
+ An ATSC EIT Event
+
+
+
+
+
+
+
+
+
+
+
+
+
+ the titles
+
+
+
+
+
+ descriptors
+
+
+
+
+
+
+ Extended Text Table (ATSC)
+
+
+
+
+
+
+
+
+
+
+ List of texts
+
+
+
+
+
+
+ Master Guide Table (A65)
+
+
+
+
+
+
+
+ the tables
+
+
+
+
+
+ descriptors
+
+
+
+
+
+
+ Source from a @GstMpegtsAtscMGT
+
+
+
+
+
+
+
+
+
+
+
+
+
+ descriptors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ System Time Table (A65)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ descriptors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Represents both:
+ Terrestrial Virtual Channel Table (A65)
+ Cable Virtual Channel Table (A65)
+
+
+
+
+
+
+
+ sources
+
+
+
+
+
+ descriptors
+
+
+
+
+
+
+ Source from a @GstMpegtsAtscVCT, can be used both for TVCT and CVCT tables
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ descriptors
+
+
+
+
+
+
+ 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 mentionned 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
+
+
+
+
+
+ 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 happended 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
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ These values correspond to the registered descriptor type from
+the various ISDB specifications.
+
+Consult the relevant specifications for more details.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+ Program Map Table (ISO/IEC 13818-1).
+
+The program_number is contained in the subtable_extension field of the
+container #GstMpegtsSection.
+
+ PID of the stream containing PCR
+
+
+
+
+
+
+ array of #GstMpegtsDescriptor
+
+
+
+
+
+ Array of #GstMpegtsPMTStream
+
+
+
+
+
+ Allocates and initializes a new #GstMpegtsPMT.
+
+ #GstMpegtsPMT
+
+
+
+
+
+ An individual stream definition.
+
+ 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
+
+
+
+
+
+ Running status of a service.
+
+Corresponds to table 6 of ETSI EN 300 468 (v1.13.0)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+ 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
+
+ SCTE-27 Subtitling
+
+
+ SCTE-19 Isochronous data
+
+
+ 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
+
+
+
+ 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 section
+
+
+
+ The pid on which this section was found
+
+
+
+ The table id of this section
+
+
+
+ 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)
+
+
+
+ CRC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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 #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
+
+
+
+
+
+ Returns the array of #GstMpegtsDescriptor contained in the Conditional
+Access Table.
+
+ The
+#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_id" field corresponds to the "subtable_extension"
+field of the provided @section.
+
+ The
+#GstMpegtsPatProgram contained in the section, or %NULL if an error
+happened. Release with #g_ptr_array_unref when done.
+
+
+
+
+
+
+ a #GstMpegtsSection of type %GST_MPEGTS_SECTION_PAT
+
+
+
+
+
+ Returns the #GstMpegtsPMT 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 #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 #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
+
+
+
+
+
+ Returns the array of #GstMpegtsDescriptor contained in the section
+
+ The
+#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
+
+
+
+
+
+ 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 fail
+
+
+
+
+ the #GstMpegtsSection that holds the data
+
+
+
+ #gsize to hold the size of the data
+
+
+
+
+
+ Creates a custom #GstEvent with a @GstMpegtsSection.
+The #GstEvent is sent to the @element #GstElement.
+
+ %TRUE if the event is sent
+
+
+
+
+ The #GstMpegtsSection to put in the event
+
+
+
+ The #GstElement to send to section event to
+
+
+
+
+
+ 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 @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 table_id variants.
+
+see also: #GstMpegtsSectionTableID
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Values for a #GstMpegtsSection table_id.
+
+These are the registered DVB table_id variants.
+
+see also: #GstMpegtsSectionTableID
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Types of #GstMpegtsSection that the library handles.
+
+ 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)
+
+
+
+ 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
+
+
+ Rec. ITU-T H.262 | ISO/IEC 13818-2
+Video or ISO/IEC 11172-2 constrained parameter video stream
+
+
+ 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 with ADTS
+transport syntax
+
+
+ ISO/IEC 14496-2 Visual
+
+
+ ISO/IEC 14496-3 Audio 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 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
+
+
+ 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
+
+
+
+
+ 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 constallation
+
+
+
+ the hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %TRUE more frequency are use, else not
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extracts the #GstMpegtsSection contained in the @event #GstEvent
+
+ The extracted #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 matchin @tag, 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
+
+ A newly allocated #GPtrArray
+
+
+
+
+
+
+ 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 @sdt is taken. The data in @sdt is managed by the #GstMpegtsSection
+
+ the #GstMpegtsSection
+
+
+
+
+ a #GstMpegtsSDT to create the #GstMpegtsSection from
+
+
+
+
+
+
diff --git a/gstreamer-mpegts-sys/CHANGELOG.md b/gstreamer-mpegts-sys/CHANGELOG.md
new file mode 100644
index 000000000..eafcf9376
--- /dev/null
+++ b/gstreamer-mpegts-sys/CHANGELOG.md
@@ -0,0 +1,6 @@
+# Changelog
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
+and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html),
+specifically the [variant used by Rust](http://doc.crates.io/manifest.html#the-version-field).
diff --git a/gstreamer-mpegts-sys/Cargo.toml b/gstreamer-mpegts-sys/Cargo.toml
new file mode 100644
index 000000000..7ee914b27
--- /dev/null
+++ b/gstreamer-mpegts-sys/Cargo.toml
@@ -0,0 +1,37 @@
+[badges.travis-ci]
+branch = "master"
+repository = "sdroege/gstreamer-sys"
+
+[build-dependencies]
+pkg-config = "0.3.7"
+
+[dependencies]
+libc = "0.2"
+
+[dependencies.glib-sys]
+git = "https://github.com/gtk-rs/sys"
+
+[dependencies.gobject-sys]
+git = "https://github.com/gtk-rs/sys"
+
+[dependencies.gstreamer-base-sys]
+path = "../gstreamer-base-sys"
+
+[dependencies.gstreamer-sys]
+path = "../gstreamer-sys"
+
+[lib]
+name = "gstreamer_mpegts_sys"
+
+[package]
+authors = ["Russel Winder ", "Sebastian Dröge "]
+build = "build.rs"
+description = "FFI bindings to libgstmpegts-1.0"
+homepage = "https://gstreamer.freedesktop.org"
+keywords = ["ffi", "gstreamer", "gnome", "multimedia"]
+license = "MIT"
+links = "gstmpegts-1.0"
+name = "gstreamer-mpegts-sys"
+readme = "README.md"
+repository = "https://github.com/sdroege/gstreamer-sys"
+version = "0.3.0"
diff --git a/gstreamer-mpegts-sys/LICENSE b/gstreamer-mpegts-sys/LICENSE
new file mode 100644
index 000000000..edeafc830
--- /dev/null
+++ b/gstreamer-mpegts-sys/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2017 Russel Winder
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/gstreamer-mpegts-sys/README.md b/gstreamer-mpegts-sys/README.md
new file mode 100644
index 000000000..c84c285a6
--- /dev/null
+++ b/gstreamer-mpegts-sys/README.md
@@ -0,0 +1,31 @@
+# gstreamer-sys [![crates.io](https://img.shields.io/crates/v/gstreamer-sys.svg)](https://crates.io/crates/gstreamer-sys) [![Build Status](https://travis-ci.org/sdroege/gstreamer-sys.svg?branch=master)](https://travis-ci.org/sdroege/gstreamer-sys)
+
+[GStreamer](https://gstreamer.freedesktop.org/) (MPEGTS library) FFI bindings for Rust.
+
+These bindings are providing unsafe FFI API that can be used to interface with
+GStreamer. Generally they are meant to be used as the building block for
+higher-level abstractions like:
+
+ * Application-side bindings for GStreamer: https://github.com/sdroege/gstreamer-rs
+ * Crate for writing GStreamer plugins in Rust: https://github.com/sdroege/gst-plugins-rs
+
+The bindings are autogenerated with [gir](https://github.com/gtk-rs/gir/)
+based on the [GObject-Introspection](https://wiki.gnome.org/Projects/GObjectIntrospection/)
+API metadata provided by the GStreamer project.
+
+## LICENSE
+
+gstreamer-sys and all crates contained here are licensed under the MIT
+license ([LICENSE](LICENSE) or http://opensource.org/licenses/MIT).
+
+GStreamer itself is licensed under the Lesser General Public License version
+2.1 or (at your option) any later version:
+https://www.gnu.org/licenses/lgpl-2.1.html
+
+## Contribution
+
+Any kinds of contributions are welcome as a pull request.
+
+Unless you explicitly state otherwise, any contribution intentionally submitted
+for inclusion in gstreamer-rs by you shall be licensed under the MIT license as above,
+without any additional terms or conditions.
diff --git a/gstreamer-mpegts-sys/build.rs b/gstreamer-mpegts-sys/build.rs
new file mode 100644
index 000000000..6d16e8b17
--- /dev/null
+++ b/gstreamer-mpegts-sys/build.rs
@@ -0,0 +1,61 @@
+extern crate pkg_config;
+
+use pkg_config::{Config, Error};
+use std::env;
+use std::io::prelude::*;
+use std::io;
+use std::process;
+
+fn main() {
+ if let Err(s) = find() {
+ let _ = writeln!(io::stderr(), "{}", s);
+ process::exit(1);
+ }
+}
+
+fn find() -> Result<(), Error> {
+ let package_name = "gstreamer-mpegts-1.0";
+ let shared_libs = ["gstmpegts-1.0"];
+ let version = {
+ "1.12"
+ };
+
+ if let Ok(lib_dir) = env::var("GTK_LIB_DIR") {
+ for lib_ in shared_libs.iter() {
+ println!("cargo:rustc-link-lib=dylib={}", lib_);
+ }
+ println!("cargo:rustc-link-search=native={}", lib_dir);
+ return Ok(())
+ }
+
+ let target = env::var("TARGET").expect("TARGET environment variable doesn't exist");
+ let hardcode_shared_libs = target.contains("windows");
+
+ let mut config = Config::new();
+ config.atleast_version(version);
+ if hardcode_shared_libs {
+ config.cargo_metadata(false);
+ }
+ match config.probe(package_name) {
+ Ok(library) => {
+ if hardcode_shared_libs {
+ for lib_ in shared_libs.iter() {
+ println!("cargo:rustc-link-lib=dylib={}", lib_);
+ }
+ for path in library.link_paths.iter() {
+ println!("cargo:rustc-link-search=native={}",
+ path.to_str().expect("library path doesn't exist"));
+ }
+ }
+ Ok(())
+ }
+ Err(Error::EnvNoPkgConfig(_)) | Err(Error::Command { .. }) => {
+ for lib_ in shared_libs.iter() {
+ println!("cargo:rustc-link-lib=dylib={}", lib_);
+ }
+ Ok(())
+ }
+ Err(err) => Err(err),
+ }
+}
+
diff --git a/gstreamer-mpegts-sys/src/lib.rs b/gstreamer-mpegts-sys/src/lib.rs
new file mode 100644
index 000000000..e362bb3b5
--- /dev/null
+++ b/gstreamer-mpegts-sys/src/lib.rs
@@ -0,0 +1,1834 @@
+// This file was generated by gir (b7c4c83) from gir-files (???)
+// DO NOT EDIT
+
+#![allow(non_camel_case_types, non_upper_case_globals)]
+
+extern crate libc;
+extern crate glib_sys as glib;
+extern crate gobject_sys as gobject;
+extern crate gstreamer_sys as gst;
+
+#[allow(unused_imports)]
+use libc::{c_int, c_char, c_uchar, c_float, c_uint, c_double,
+ c_short, c_ushort, c_long, c_ulong,
+ c_void, size_t, ssize_t, intptr_t, uintptr_t, time_t, FILE};
+
+#[allow(unused_imports)]
+use glib::{gboolean, gconstpointer, gpointer, GType, Volatile};
+
+// Enums
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsATSCDescriptorType {
+ Stuffing = 128,
+ Ac3 = 131,
+ CaptionService = 134,
+ ContentAdvisory = 135,
+ ExtendedChannelName = 160,
+ ServiceLocation = 161,
+ TimeShiftedService = 162,
+ ComponentName = 163,
+ DccDepartingRequest = 168,
+ DccArrivingRequest = 169,
+ RedistributionControl = 170,
+ Genre = 171,
+ PrivateInformation = 173,
+ Eac3 = 204,
+ EnhancedSignaling = 178,
+ DataService = 164,
+ PidCount = 165,
+ DownloadDescriptor = 166,
+ MultiprotocolEncapsulation = 167,
+ ModuleLink = 180,
+ Crc32 = 181,
+ GroupLink = 184,
+}
+pub const GST_MTS_DESC_ATSC_STUFFING: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::Stuffing;
+pub const GST_MTS_DESC_ATSC_AC3: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::Ac3;
+pub const GST_MTS_DESC_ATSC_CAPTION_SERVICE: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::CaptionService;
+pub const GST_MTS_DESC_ATSC_CONTENT_ADVISORY: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::ContentAdvisory;
+pub const GST_MTS_DESC_ATSC_EXTENDED_CHANNEL_NAME: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::ExtendedChannelName;
+pub const GST_MTS_DESC_ATSC_SERVICE_LOCATION: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::ServiceLocation;
+pub const GST_MTS_DESC_ATSC_TIME_SHIFTED_SERVICE: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::TimeShiftedService;
+pub const GST_MTS_DESC_ATSC_COMPONENT_NAME: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::ComponentName;
+pub const GST_MTS_DESC_ATSC_DCC_DEPARTING_REQUEST: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::DccDepartingRequest;
+pub const GST_MTS_DESC_ATSC_DCC_ARRIVING_REQUEST: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::DccArrivingRequest;
+pub const GST_MTS_DESC_ATSC_REDISTRIBUTION_CONTROL: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::RedistributionControl;
+pub const GST_MTS_DESC_ATSC_GENRE: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::Genre;
+pub const GST_MTS_DESC_ATSC_PRIVATE_INFORMATION: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::PrivateInformation;
+pub const GST_MTS_DESC_ATSC_EAC3: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::Eac3;
+pub const GST_MTS_DESC_ATSC_ENHANCED_SIGNALING: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::EnhancedSignaling;
+pub const GST_MTS_DESC_ATSC_DATA_SERVICE: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::DataService;
+pub const GST_MTS_DESC_ATSC_PID_COUNT: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::PidCount;
+pub const GST_MTS_DESC_ATSC_DOWNLOAD_DESCRIPTOR: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::DownloadDescriptor;
+pub const GST_MTS_DESC_ATSC_MULTIPROTOCOL_ENCAPSULATION: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::MultiprotocolEncapsulation;
+pub const GST_MTS_DESC_ATSC_MODULE_LINK: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::ModuleLink;
+pub const GST_MTS_DESC_ATSC_CRC32: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::Crc32;
+pub const GST_MTS_DESC_ATSC_GROUP_LINK: GstMpegtsATSCDescriptorType = GstMpegtsATSCDescriptorType::GroupLink;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsAtscMGTTableType {
+ Eit0 = 256,
+ Eit127 = 383,
+ Ett0 = 512,
+ Ett127 = 639,
+}
+pub const GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0: GstMpegtsAtscMGTTableType = GstMpegtsAtscMGTTableType::Eit0;
+pub const GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127: GstMpegtsAtscMGTTableType = GstMpegtsAtscMGTTableType::Eit127;
+pub const GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0: GstMpegtsAtscMGTTableType = GstMpegtsAtscMGTTableType::Ett0;
+pub const GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127: GstMpegtsAtscMGTTableType = GstMpegtsAtscMGTTableType::Ett127;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsCableOuterFECScheme {
+ Undefined = 0,
+ None = 1,
+ Rs204188 = 2,
+}
+pub const GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED: GstMpegtsCableOuterFECScheme = GstMpegtsCableOuterFECScheme::Undefined;
+pub const GST_MPEGTS_CABLE_OUTER_FEC_NONE: GstMpegtsCableOuterFECScheme = GstMpegtsCableOuterFECScheme::None;
+pub const GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188: GstMpegtsCableOuterFECScheme = GstMpegtsCableOuterFECScheme::Rs204188;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsComponentStreamContent {
+ Mpeg2Video = 1,
+ Mpeg1Layer2Audio = 2,
+ TeletextOrSubtitle = 3,
+ Ac3 = 4,
+ Avc = 5,
+ Aac = 6,
+ Dts = 7,
+ SrmCpcm = 8,
+}
+pub const GST_MPEGTS_STREAM_CONTENT_MPEG2_VIDEO: GstMpegtsComponentStreamContent = GstMpegtsComponentStreamContent::Mpeg2Video;
+pub const GST_MPEGTS_STREAM_CONTENT_MPEG1_LAYER2_AUDIO: GstMpegtsComponentStreamContent = GstMpegtsComponentStreamContent::Mpeg1Layer2Audio;
+pub const GST_MPEGTS_STREAM_CONTENT_TELETEXT_OR_SUBTITLE: GstMpegtsComponentStreamContent = GstMpegtsComponentStreamContent::TeletextOrSubtitle;
+pub const GST_MPEGTS_STREAM_CONTENT_AC_3: GstMpegtsComponentStreamContent = GstMpegtsComponentStreamContent::Ac3;
+pub const GST_MPEGTS_STREAM_CONTENT_AVC: GstMpegtsComponentStreamContent = GstMpegtsComponentStreamContent::Avc;
+pub const GST_MPEGTS_STREAM_CONTENT_AAC: GstMpegtsComponentStreamContent = GstMpegtsComponentStreamContent::Aac;
+pub const GST_MPEGTS_STREAM_CONTENT_DTS: GstMpegtsComponentStreamContent = GstMpegtsComponentStreamContent::Dts;
+pub const GST_MPEGTS_STREAM_CONTENT_SRM_CPCM: GstMpegtsComponentStreamContent = GstMpegtsComponentStreamContent::SrmCpcm;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsContentNibbleHi {
+ MovieDrama = 1,
+ NewsCurrentAffairs = 2,
+ ShowGameShow = 3,
+ Sports = 4,
+ ChildrenYouthProgram = 5,
+ MusicBalletDance = 6,
+ ArtsCulture = 7,
+ SocialPoliticalEconomics = 8,
+ EducationScienceFactual = 9,
+ LeisureHobbies = 10,
+ SpecialCharacteristics = 11,
+}
+pub const GST_MPEGTS_CONTENT_MOVIE_DRAMA: GstMpegtsContentNibbleHi = GstMpegtsContentNibbleHi::MovieDrama;
+pub const GST_MPEGTS_CONTENT_NEWS_CURRENT_AFFAIRS: GstMpegtsContentNibbleHi = GstMpegtsContentNibbleHi::NewsCurrentAffairs;
+pub const GST_MPEGTS_CONTENT_SHOW_GAME_SHOW: GstMpegtsContentNibbleHi = GstMpegtsContentNibbleHi::ShowGameShow;
+pub const GST_MPEGTS_CONTENT_SPORTS: GstMpegtsContentNibbleHi = GstMpegtsContentNibbleHi::Sports;
+pub const GST_MPEGTS_CONTENT_CHILDREN_YOUTH_PROGRAM: GstMpegtsContentNibbleHi = GstMpegtsContentNibbleHi::ChildrenYouthProgram;
+pub const GST_MPEGTS_CONTENT_MUSIC_BALLET_DANCE: GstMpegtsContentNibbleHi = GstMpegtsContentNibbleHi::MusicBalletDance;
+pub const GST_MPEGTS_CONTENT_ARTS_CULTURE: GstMpegtsContentNibbleHi = GstMpegtsContentNibbleHi::ArtsCulture;
+pub const GST_MPEGTS_CONTENT_SOCIAL_POLITICAL_ECONOMICS: GstMpegtsContentNibbleHi = GstMpegtsContentNibbleHi::SocialPoliticalEconomics;
+pub const GST_MPEGTS_CONTENT_EDUCATION_SCIENCE_FACTUAL: GstMpegtsContentNibbleHi = GstMpegtsContentNibbleHi::EducationScienceFactual;
+pub const GST_MPEGTS_CONTENT_LEISURE_HOBBIES: GstMpegtsContentNibbleHi = GstMpegtsContentNibbleHi::LeisureHobbies;
+pub const GST_MPEGTS_CONTENT_SPECIAL_CHARACTERISTICS: GstMpegtsContentNibbleHi = GstMpegtsContentNibbleHi::SpecialCharacteristics;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsDVBCodeRate {
+ None = 0,
+ _12 = 1,
+ _23 = 2,
+ _34 = 3,
+ _45 = 4,
+ _56 = 5,
+ _67 = 6,
+ _78 = 7,
+ _89 = 8,
+ Auto = 9,
+ _35 = 10,
+ _910 = 11,
+ _25 = 12,
+}
+pub const GST_MPEGTS_FEC_NONE: GstMpegtsDVBCodeRate = GstMpegtsDVBCodeRate::None;
+pub const GST_MPEGTS_FEC_1_2: GstMpegtsDVBCodeRate = GstMpegtsDVBCodeRate::_12;
+pub const GST_MPEGTS_FEC_2_3: GstMpegtsDVBCodeRate = GstMpegtsDVBCodeRate::_23;
+pub const GST_MPEGTS_FEC_3_4: GstMpegtsDVBCodeRate = GstMpegtsDVBCodeRate::_34;
+pub const GST_MPEGTS_FEC_4_5: GstMpegtsDVBCodeRate = GstMpegtsDVBCodeRate::_45;
+pub const GST_MPEGTS_FEC_5_6: GstMpegtsDVBCodeRate = GstMpegtsDVBCodeRate::_56;
+pub const GST_MPEGTS_FEC_6_7: GstMpegtsDVBCodeRate = GstMpegtsDVBCodeRate::_67;
+pub const GST_MPEGTS_FEC_7_8: GstMpegtsDVBCodeRate = GstMpegtsDVBCodeRate::_78;
+pub const GST_MPEGTS_FEC_8_9: GstMpegtsDVBCodeRate = GstMpegtsDVBCodeRate::_89;
+pub const GST_MPEGTS_FEC_AUTO: GstMpegtsDVBCodeRate = GstMpegtsDVBCodeRate::Auto;
+pub const GST_MPEGTS_FEC_3_5: GstMpegtsDVBCodeRate = GstMpegtsDVBCodeRate::_35;
+pub const GST_MPEGTS_FEC_9_10: GstMpegtsDVBCodeRate = GstMpegtsDVBCodeRate::_910;
+pub const GST_MPEGTS_FEC_2_5: GstMpegtsDVBCodeRate = GstMpegtsDVBCodeRate::_25;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsDVBDescriptorType {
+ NetworkName = 64,
+ ServiceList = 65,
+ Stuffing = 66,
+ SatelliteDeliverySystem = 67,
+ CableDeliverySystem = 68,
+ VbiData = 69,
+ VbiTeletext = 70,
+ BouquetName = 71,
+ Service = 72,
+ CountryAvailability = 73,
+ Linkage = 74,
+ NvodReference = 75,
+ TimeShiftedService = 76,
+ ShortEvent = 77,
+ ExtendedEvent = 78,
+ TimeShiftedEvent = 79,
+ Component = 80,
+ Mosaic = 81,
+ StreamIdentifier = 82,
+ CaIdentifier = 83,
+ Content = 84,
+ ParentalRating = 85,
+ Teletext = 86,
+ Telephone = 87,
+ LocalTimeOffset = 88,
+ Subtitling = 89,
+ TerrestrialDeliverySystem = 90,
+ MultilingualNetworkName = 91,
+ MultilingualBouquetName = 92,
+ MultilingualServiceName = 93,
+ MultilingualComponent = 94,
+ PrivateDataSpecifier = 95,
+ ServiceMove = 96,
+ ShortSmoothingBuffer = 97,
+ FrequencyList = 98,
+ PartialTransportStream = 99,
+ DataBroadcast = 100,
+ Scrambling = 101,
+ DataBroadcastId = 102,
+ TransportStream = 103,
+ Dsng = 104,
+ Pdc = 105,
+ Ac3 = 106,
+ AncillaryData = 107,
+ CellList = 108,
+ CellFrequencyLink = 109,
+ AnnouncementSupport = 110,
+ ApplicationSignalling = 111,
+ AdaptationFieldData = 112,
+ ServiceIdentifier = 113,
+ ServiceAvailability = 114,
+ DefaultAuthority = 115,
+ RelatedContent = 116,
+ TvaId = 117,
+ ContentIdentifier = 118,
+ TimesliceFecIdentifier = 119,
+ EcmRepetitionRate = 120,
+ S2SatelliteDeliverySystem = 121,
+ EnhancedAc3 = 122,
+ Dts = 123,
+ Aac = 124,
+ XaitLocation = 125,
+ FtaContentManagement = 126,
+ Extension = 127,
+}
+pub const GST_MTS_DESC_DVB_NETWORK_NAME: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::NetworkName;
+pub const GST_MTS_DESC_DVB_SERVICE_LIST: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::ServiceList;
+pub const GST_MTS_DESC_DVB_STUFFING: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Stuffing;
+pub const GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::SatelliteDeliverySystem;
+pub const GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::CableDeliverySystem;
+pub const GST_MTS_DESC_DVB_VBI_DATA: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::VbiData;
+pub const GST_MTS_DESC_DVB_VBI_TELETEXT: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::VbiTeletext;
+pub const GST_MTS_DESC_DVB_BOUQUET_NAME: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::BouquetName;
+pub const GST_MTS_DESC_DVB_SERVICE: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Service;
+pub const GST_MTS_DESC_DVB_COUNTRY_AVAILABILITY: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::CountryAvailability;
+pub const GST_MTS_DESC_DVB_LINKAGE: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Linkage;
+pub const GST_MTS_DESC_DVB_NVOD_REFERENCE: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::NvodReference;
+pub const GST_MTS_DESC_DVB_TIME_SHIFTED_SERVICE: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::TimeShiftedService;
+pub const GST_MTS_DESC_DVB_SHORT_EVENT: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::ShortEvent;
+pub const GST_MTS_DESC_DVB_EXTENDED_EVENT: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::ExtendedEvent;
+pub const GST_MTS_DESC_DVB_TIME_SHIFTED_EVENT: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::TimeShiftedEvent;
+pub const GST_MTS_DESC_DVB_COMPONENT: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Component;
+pub const GST_MTS_DESC_DVB_MOSAIC: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Mosaic;
+pub const GST_MTS_DESC_DVB_STREAM_IDENTIFIER: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::StreamIdentifier;
+pub const GST_MTS_DESC_DVB_CA_IDENTIFIER: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::CaIdentifier;
+pub const GST_MTS_DESC_DVB_CONTENT: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Content;
+pub const GST_MTS_DESC_DVB_PARENTAL_RATING: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::ParentalRating;
+pub const GST_MTS_DESC_DVB_TELETEXT: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Teletext;
+pub const GST_MTS_DESC_DVB_TELEPHONE: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Telephone;
+pub const GST_MTS_DESC_DVB_LOCAL_TIME_OFFSET: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::LocalTimeOffset;
+pub const GST_MTS_DESC_DVB_SUBTITLING: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Subtitling;
+pub const GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::TerrestrialDeliverySystem;
+pub const GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::MultilingualNetworkName;
+pub const GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::MultilingualBouquetName;
+pub const GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::MultilingualServiceName;
+pub const GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::MultilingualComponent;
+pub const GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::PrivateDataSpecifier;
+pub const GST_MTS_DESC_DVB_SERVICE_MOVE: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::ServiceMove;
+pub const GST_MTS_DESC_DVB_SHORT_SMOOTHING_BUFFER: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::ShortSmoothingBuffer;
+pub const GST_MTS_DESC_DVB_FREQUENCY_LIST: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::FrequencyList;
+pub const GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::PartialTransportStream;
+pub const GST_MTS_DESC_DVB_DATA_BROADCAST: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::DataBroadcast;
+pub const GST_MTS_DESC_DVB_SCRAMBLING: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Scrambling;
+pub const GST_MTS_DESC_DVB_DATA_BROADCAST_ID: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::DataBroadcastId;
+pub const GST_MTS_DESC_DVB_TRANSPORT_STREAM: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::TransportStream;
+pub const GST_MTS_DESC_DVB_DSNG: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Dsng;
+pub const GST_MTS_DESC_DVB_PDC: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Pdc;
+pub const GST_MTS_DESC_DVB_AC3: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Ac3;
+pub const GST_MTS_DESC_DVB_ANCILLARY_DATA: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::AncillaryData;
+pub const GST_MTS_DESC_DVB_CELL_LIST: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::CellList;
+pub const GST_MTS_DESC_DVB_CELL_FREQUENCY_LINK: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::CellFrequencyLink;
+pub const GST_MTS_DESC_DVB_ANNOUNCEMENT_SUPPORT: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::AnnouncementSupport;
+pub const GST_MTS_DESC_DVB_APPLICATION_SIGNALLING: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::ApplicationSignalling;
+pub const GST_MTS_DESC_DVB_ADAPTATION_FIELD_DATA: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::AdaptationFieldData;
+pub const GST_MTS_DESC_DVB_SERVICE_IDENTIFIER: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::ServiceIdentifier;
+pub const GST_MTS_DESC_DVB_SERVICE_AVAILABILITY: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::ServiceAvailability;
+pub const GST_MTS_DESC_DVB_DEFAULT_AUTHORITY: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::DefaultAuthority;
+pub const GST_MTS_DESC_DVB_RELATED_CONTENT: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::RelatedContent;
+pub const GST_MTS_DESC_DVB_TVA_ID: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::TvaId;
+pub const GST_MTS_DESC_DVB_CONTENT_IDENTIFIER: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::ContentIdentifier;
+pub const GST_MTS_DESC_DVB_TIMESLICE_FEC_IDENTIFIER: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::TimesliceFecIdentifier;
+pub const GST_MTS_DESC_DVB_ECM_REPETITION_RATE: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::EcmRepetitionRate;
+pub const GST_MTS_DESC_DVB_S2_SATELLITE_DELIVERY_SYSTEM: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::S2SatelliteDeliverySystem;
+pub const GST_MTS_DESC_DVB_ENHANCED_AC3: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::EnhancedAc3;
+pub const GST_MTS_DESC_DVB_DTS: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Dts;
+pub const GST_MTS_DESC_DVB_AAC: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Aac;
+pub const GST_MTS_DESC_DVB_XAIT_LOCATION: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::XaitLocation;
+pub const GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::FtaContentManagement;
+pub const GST_MTS_DESC_DVB_EXTENSION: GstMpegtsDVBDescriptorType = GstMpegtsDVBDescriptorType::Extension;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsDVBExtendedDescriptorType {
+ ImageIcon = 0,
+ CpcmDeliverySignalling = 1,
+ Cp = 2,
+ CpIdentifier = 3,
+ T2DeliverySystem = 4,
+ ShDeliverySystem = 5,
+ SupplementaryAudio = 6,
+ NetworkChangeNotify = 7,
+ Message = 8,
+ TargetRegion = 9,
+ TargetRegionName = 10,
+ ServiceRelocated = 11,
+ XaitPid = 12,
+ C2DeliverySystem = 13,
+ DtsHdAudioStream = 14,
+ DtsNeutral = 15,
+ VideoDepthRange = 16,
+ T2mi = 17,
+ UriLinkage = 19,
+}
+pub const GST_MTS_DESC_EXT_DVB_IMAGE_ICON: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::ImageIcon;
+pub const GST_MTS_DESC_EXT_DVB_CPCM_DELIVERY_SIGNALLING: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::CpcmDeliverySignalling;
+pub const GST_MTS_DESC_EXT_DVB_CP: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::Cp;
+pub const GST_MTS_DESC_EXT_DVB_CP_IDENTIFIER: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::CpIdentifier;
+pub const GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::T2DeliverySystem;
+pub const GST_MTS_DESC_EXT_DVB_SH_DELIVERY_SYSTEM: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::ShDeliverySystem;
+pub const GST_MTS_DESC_EXT_DVB_SUPPLEMENTARY_AUDIO: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::SupplementaryAudio;
+pub const GST_MTS_DESC_EXT_DVB_NETWORK_CHANGE_NOTIFY: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::NetworkChangeNotify;
+pub const GST_MTS_DESC_EXT_DVB_MESSAGE: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::Message;
+pub const GST_MTS_DESC_EXT_DVB_TARGET_REGION: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::TargetRegion;
+pub const GST_MTS_DESC_EXT_DVB_TARGET_REGION_NAME: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::TargetRegionName;
+pub const GST_MTS_DESC_EXT_DVB_SERVICE_RELOCATED: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::ServiceRelocated;
+pub const GST_MTS_DESC_EXT_DVB_XAIT_PID: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::XaitPid;
+pub const GST_MTS_DESC_EXT_DVB_C2_DELIVERY_SYSTEM: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::C2DeliverySystem;
+pub const GST_MTS_DESC_EXT_DVB_DTS_HD_AUDIO_STREAM: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::DtsHdAudioStream;
+pub const GST_MTS_DESC_EXT_DVB_DTS_NEUTRAL: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::DtsNeutral;
+pub const GST_MTS_DESC_EXT_DVB_VIDEO_DEPTH_RANGE: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::VideoDepthRange;
+pub const GST_MTS_DESC_EXT_DVB_T2MI: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::T2mi;
+pub const GST_MTS_DESC_EXT_DVB_URI_LINKAGE: GstMpegtsDVBExtendedDescriptorType = GstMpegtsDVBExtendedDescriptorType::UriLinkage;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsDVBLinkageHandOverType {
+ Reserved = 0,
+ Identical = 1,
+ LocalVariation = 2,
+ Associated = 3,
+}
+pub const GST_MPEGTS_DVB_LINKAGE_HAND_OVER_RESERVED: GstMpegtsDVBLinkageHandOverType = GstMpegtsDVBLinkageHandOverType::Reserved;
+pub const GST_MPEGTS_DVB_LINKAGE_HAND_OVER_IDENTICAL: GstMpegtsDVBLinkageHandOverType = GstMpegtsDVBLinkageHandOverType::Identical;
+pub const GST_MPEGTS_DVB_LINKAGE_HAND_OVER_LOCAL_VARIATION: GstMpegtsDVBLinkageHandOverType = GstMpegtsDVBLinkageHandOverType::LocalVariation;
+pub const GST_MPEGTS_DVB_LINKAGE_HAND_OVER_ASSOCIATED: GstMpegtsDVBLinkageHandOverType = GstMpegtsDVBLinkageHandOverType::Associated;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsDVBLinkageType {
+ Reserved00 = 0,
+ Information = 1,
+ Epg = 2,
+ CaReplacement = 3,
+ TsContainingCompleteSi = 4,
+ ServiceReplacement = 5,
+ DataBroadcast = 6,
+ RcsMap = 7,
+ MobileHandOver = 8,
+ SystemSoftwareUpdate = 9,
+ TsContainingSsu = 10,
+ IpMacNotification = 11,
+ TsContainingInt = 12,
+ Event = 13,
+ ExtendedEvent = 14,
+}
+pub const GST_MPEGTS_DVB_LINKAGE_RESERVED_00: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::Reserved00;
+pub const GST_MPEGTS_DVB_LINKAGE_INFORMATION: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::Information;
+pub const GST_MPEGTS_DVB_LINKAGE_EPG: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::Epg;
+pub const GST_MPEGTS_DVB_LINKAGE_CA_REPLACEMENT: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::CaReplacement;
+pub const GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_COMPLETE_SI: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::TsContainingCompleteSi;
+pub const GST_MPEGTS_DVB_LINKAGE_SERVICE_REPLACEMENT: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::ServiceReplacement;
+pub const GST_MPEGTS_DVB_LINKAGE_DATA_BROADCAST: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::DataBroadcast;
+pub const GST_MPEGTS_DVB_LINKAGE_RCS_MAP: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::RcsMap;
+pub const GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::MobileHandOver;
+pub const GST_MPEGTS_DVB_LINKAGE_SYSTEM_SOFTWARE_UPDATE: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::SystemSoftwareUpdate;
+pub const GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_SSU: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::TsContainingSsu;
+pub const GST_MPEGTS_DVB_LINKAGE_IP_MAC_NOTIFICATION: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::IpMacNotification;
+pub const GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_INT: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::TsContainingInt;
+pub const GST_MPEGTS_DVB_LINKAGE_EVENT: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::Event;
+pub const GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT: GstMpegtsDVBLinkageType = GstMpegtsDVBLinkageType::ExtendedEvent;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsDVBScramblingModeType {
+ Reserved = 0,
+ Csa1 = 1,
+ Csa2 = 2,
+ Csa3Standard = 3,
+ Csa3MinimalEnhanced = 4,
+ Csa3FullEnhanced = 5,
+ Cissa = 16,
+ Atis0 = 112,
+ AtisF = 127,
+}
+pub const GST_MPEGTS_DVB_SCRAMBLING_MODE_RESERVED: GstMpegtsDVBScramblingModeType = GstMpegtsDVBScramblingModeType::Reserved;
+pub const GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA1: GstMpegtsDVBScramblingModeType = GstMpegtsDVBScramblingModeType::Csa1;
+pub const GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA2: GstMpegtsDVBScramblingModeType = GstMpegtsDVBScramblingModeType::Csa2;
+pub const GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_STANDARD: GstMpegtsDVBScramblingModeType = GstMpegtsDVBScramblingModeType::Csa3Standard;
+pub const GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_MINIMAL_ENHANCED: GstMpegtsDVBScramblingModeType = GstMpegtsDVBScramblingModeType::Csa3MinimalEnhanced;
+pub const GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_FULL_ENHANCED: GstMpegtsDVBScramblingModeType = GstMpegtsDVBScramblingModeType::Csa3FullEnhanced;
+pub const GST_MPEGTS_DVB_SCRAMBLING_MODE_CISSA: GstMpegtsDVBScramblingModeType = GstMpegtsDVBScramblingModeType::Cissa;
+pub const GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_0: GstMpegtsDVBScramblingModeType = GstMpegtsDVBScramblingModeType::Atis0;
+pub const GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_F: GstMpegtsDVBScramblingModeType = GstMpegtsDVBScramblingModeType::AtisF;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsDVBServiceType {
+ Reserved00 = 0,
+ DigitalTelevision = 1,
+ DigitalRadioSound = 2,
+ Teletext = 3,
+ NvodReference = 4,
+ NvodTimeShifted = 5,
+ Mosaic = 6,
+ FmRadio = 7,
+ DvbSrm = 8,
+ Reserved09 = 9,
+ AdvancedCodecDigitalRadioSound = 10,
+ AdvancedCodecMosaic = 11,
+ DataBroadcast = 12,
+ Reserved0dCommonInterface = 13,
+ RcsMap = 14,
+ RcsFls = 15,
+ DvbMhp = 16,
+ Mpeg2HdDigitalTelevision = 17,
+ AdvancedCodecSdDigitalTelevision = 22,
+ AdvancedCodecSdNvodTimeShifted = 23,
+ AdvancedCodecSdNvodReference = 24,
+ AdvancedCodecHdDigitalTelevision = 25,
+ AdvancedCodecHdNvodTimeShifted = 26,
+ AdvancedCodecHdNvodReference = 27,
+ AdvancedCodecStereoHdDigitalTelevision = 28,
+ AdvancedCodecStereoHdNvodTimeShifted = 29,
+ AdvancedCodecStereoHdNvodReference = 30,
+ ReservedFf = 31,
+}
+pub const GST_DVB_SERVICE_RESERVED_00: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::Reserved00;
+pub const GST_DVB_SERVICE_DIGITAL_TELEVISION: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::DigitalTelevision;
+pub const GST_DVB_SERVICE_DIGITAL_RADIO_SOUND: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::DigitalRadioSound;
+pub const GST_DVB_SERVICE_TELETEXT: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::Teletext;
+pub const GST_DVB_SERVICE_NVOD_REFERENCE: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::NvodReference;
+pub const GST_DVB_SERVICE_NVOD_TIME_SHIFTED: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::NvodTimeShifted;
+pub const GST_DVB_SERVICE_MOSAIC: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::Mosaic;
+pub const GST_DVB_SERVICE_FM_RADIO: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::FmRadio;
+pub const GST_DVB_SERVICE_DVB_SRM: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::DvbSrm;
+pub const GST_DVB_SERVICE_RESERVED_09: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::Reserved09;
+pub const GST_DVB_SERVICE_ADVANCED_CODEC_DIGITAL_RADIO_SOUND: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::AdvancedCodecDigitalRadioSound;
+pub const GST_DVB_SERVICE_ADVANCED_CODEC_MOSAIC: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::AdvancedCodecMosaic;
+pub const GST_DVB_SERVICE_DATA_BROADCAST: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::DataBroadcast;
+pub const GST_DVB_SERVICE_RESERVED_0D_COMMON_INTERFACE: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::Reserved0dCommonInterface;
+pub const GST_DVB_SERVICE_RCS_MAP: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::RcsMap;
+pub const GST_DVB_SERVICE_RCS_FLS: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::RcsFls;
+pub const GST_DVB_SERVICE_DVB_MHP: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::DvbMhp;
+pub const GST_DVB_SERVICE_MPEG2_HD_DIGITAL_TELEVISION: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::Mpeg2HdDigitalTelevision;
+pub const GST_DVB_SERVICE_ADVANCED_CODEC_SD_DIGITAL_TELEVISION: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::AdvancedCodecSdDigitalTelevision;
+pub const GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::AdvancedCodecSdNvodTimeShifted;
+pub const GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_REFERENCE: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::AdvancedCodecSdNvodReference;
+pub const GST_DVB_SERVICE_ADVANCED_CODEC_HD_DIGITAL_TELEVISION: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::AdvancedCodecHdDigitalTelevision;
+pub const GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::AdvancedCodecHdNvodTimeShifted;
+pub const GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_REFERENCE: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::AdvancedCodecHdNvodReference;
+pub const GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::AdvancedCodecStereoHdDigitalTelevision;
+pub const GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::AdvancedCodecStereoHdNvodTimeShifted;
+pub const GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::AdvancedCodecStereoHdNvodReference;
+pub const GST_DVB_SERVICE_RESERVED_FF: GstMpegtsDVBServiceType = GstMpegtsDVBServiceType::ReservedFf;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsDVBTeletextType {
+ NitialPage = 1,
+ UbtitlePage = 2,
+ DditionalInfoPage = 3,
+ RogrammeSchedulePage = 4,
+ EaringImpairedPage = 5,
+}
+pub const INITIAL_PAGE: GstMpegtsDVBTeletextType = GstMpegtsDVBTeletextType::NitialPage;
+pub const SUBTITLE_PAGE: GstMpegtsDVBTeletextType = GstMpegtsDVBTeletextType::UbtitlePage;
+pub const ADDITIONAL_INFO_PAGE: GstMpegtsDVBTeletextType = GstMpegtsDVBTeletextType::DditionalInfoPage;
+pub const PROGRAMME_SCHEDULE_PAGE: GstMpegtsDVBTeletextType = GstMpegtsDVBTeletextType::RogrammeSchedulePage;
+pub const HEARING_IMPAIRED_PAGE: GstMpegtsDVBTeletextType = GstMpegtsDVBTeletextType::EaringImpairedPage;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsDescriptorType {
+ Reserved00 = 0,
+ Reserved01 = 1,
+ VideoStream = 2,
+ AudioStream = 3,
+ Hierarchy = 4,
+ Registration = 5,
+ DataStreamAlignment = 6,
+ TargetBackgroundGrid = 7,
+ VideoWindow = 8,
+ Ca = 9,
+ Iso639Language = 10,
+ SystemClock = 11,
+ MultiplexBufferUtilisation = 12,
+ Copyright = 13,
+ MaximumBitrate = 14,
+ PrivateDataIndicator = 15,
+ SmoothingBuffer = 16,
+ Std = 17,
+ Ibp = 18,
+ DsmccCarouselIdentifier = 19,
+ DsmccAssociationTag = 20,
+ DsmccDeferredAssociationTag = 21,
+ DsmccNptReference = 23,
+ DsmccNptEndpoint = 24,
+ DsmccStreamMode = 25,
+ DsmccStreamEvent = 26,
+ Mpeg4Video = 27,
+ Mpeg4Audio = 28,
+ Iod = 29,
+ Sl = 30,
+ Fmc = 31,
+ ExternalEsId = 32,
+ MuxCode = 33,
+ FmxBufferSize = 34,
+ MultiplexBuffer = 35,
+ ContentLabeling = 36,
+ MetadataPointer = 37,
+ Metadata = 38,
+ MetadataStd = 39,
+ AvcVideo = 40,
+ Ipmp = 41,
+ AvcTimingAndHrd = 42,
+ Mpeg2AacAudio = 43,
+ FlexMuxTiming = 44,
+ Mpeg4Text = 45,
+ Mpeg4AudioExtension = 46,
+ AuxiliaryVideoStream = 47,
+ SvcExtension = 48,
+ MvcExtension = 49,
+ J2kVideo = 50,
+ MvcOperationPoint = 51,
+ Mpeg2StereoscopicVideoFormat = 52,
+ StereoscopicProgramInfo = 53,
+ StereoscopicVideoInfo = 54,
+}
+pub const GST_MTS_DESC_RESERVED_00: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Reserved00;
+pub const GST_MTS_DESC_RESERVED_01: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Reserved01;
+pub const GST_MTS_DESC_VIDEO_STREAM: GstMpegtsDescriptorType = GstMpegtsDescriptorType::VideoStream;
+pub const GST_MTS_DESC_AUDIO_STREAM: GstMpegtsDescriptorType = GstMpegtsDescriptorType::AudioStream;
+pub const GST_MTS_DESC_HIERARCHY: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Hierarchy;
+pub const GST_MTS_DESC_REGISTRATION: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Registration;
+pub const GST_MTS_DESC_DATA_STREAM_ALIGNMENT: GstMpegtsDescriptorType = GstMpegtsDescriptorType::DataStreamAlignment;
+pub const GST_MTS_DESC_TARGET_BACKGROUND_GRID: GstMpegtsDescriptorType = GstMpegtsDescriptorType::TargetBackgroundGrid;
+pub const GST_MTS_DESC_VIDEO_WINDOW: GstMpegtsDescriptorType = GstMpegtsDescriptorType::VideoWindow;
+pub const GST_MTS_DESC_CA: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Ca;
+pub const GST_MTS_DESC_ISO_639_LANGUAGE: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Iso639Language;
+pub const GST_MTS_DESC_SYSTEM_CLOCK: GstMpegtsDescriptorType = GstMpegtsDescriptorType::SystemClock;
+pub const GST_MTS_DESC_MULTIPLEX_BUFFER_UTILISATION: GstMpegtsDescriptorType = GstMpegtsDescriptorType::MultiplexBufferUtilisation;
+pub const GST_MTS_DESC_COPYRIGHT: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Copyright;
+pub const GST_MTS_DESC_MAXIMUM_BITRATE: GstMpegtsDescriptorType = GstMpegtsDescriptorType::MaximumBitrate;
+pub const GST_MTS_DESC_PRIVATE_DATA_INDICATOR: GstMpegtsDescriptorType = GstMpegtsDescriptorType::PrivateDataIndicator;
+pub const GST_MTS_DESC_SMOOTHING_BUFFER: GstMpegtsDescriptorType = GstMpegtsDescriptorType::SmoothingBuffer;
+pub const GST_MTS_DESC_STD: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Std;
+pub const GST_MTS_DESC_IBP: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Ibp;
+pub const GST_MTS_DESC_DSMCC_CAROUSEL_IDENTIFIER: GstMpegtsDescriptorType = GstMpegtsDescriptorType::DsmccCarouselIdentifier;
+pub const GST_MTS_DESC_DSMCC_ASSOCIATION_TAG: GstMpegtsDescriptorType = GstMpegtsDescriptorType::DsmccAssociationTag;
+pub const GST_MTS_DESC_DSMCC_DEFERRED_ASSOCIATION_TAG: GstMpegtsDescriptorType = GstMpegtsDescriptorType::DsmccDeferredAssociationTag;
+pub const GST_MTS_DESC_DSMCC_NPT_REFERENCE: GstMpegtsDescriptorType = GstMpegtsDescriptorType::DsmccNptReference;
+pub const GST_MTS_DESC_DSMCC_NPT_ENDPOINT: GstMpegtsDescriptorType = GstMpegtsDescriptorType::DsmccNptEndpoint;
+pub const GST_MTS_DESC_DSMCC_STREAM_MODE: GstMpegtsDescriptorType = GstMpegtsDescriptorType::DsmccStreamMode;
+pub const GST_MTS_DESC_DSMCC_STREAM_EVENT: GstMpegtsDescriptorType = GstMpegtsDescriptorType::DsmccStreamEvent;
+pub const GST_MTS_DESC_MPEG4_VIDEO: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Mpeg4Video;
+pub const GST_MTS_DESC_MPEG4_AUDIO: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Mpeg4Audio;
+pub const GST_MTS_DESC_IOD: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Iod;
+pub const GST_MTS_DESC_SL: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Sl;
+pub const GST_MTS_DESC_FMC: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Fmc;
+pub const GST_MTS_DESC_EXTERNAL_ES_ID: GstMpegtsDescriptorType = GstMpegtsDescriptorType::ExternalEsId;
+pub const GST_MTS_DESC_MUX_CODE: GstMpegtsDescriptorType = GstMpegtsDescriptorType::MuxCode;
+pub const GST_MTS_DESC_FMX_BUFFER_SIZE: GstMpegtsDescriptorType = GstMpegtsDescriptorType::FmxBufferSize;
+pub const GST_MTS_DESC_MULTIPLEX_BUFFER: GstMpegtsDescriptorType = GstMpegtsDescriptorType::MultiplexBuffer;
+pub const GST_MTS_DESC_CONTENT_LABELING: GstMpegtsDescriptorType = GstMpegtsDescriptorType::ContentLabeling;
+pub const GST_MTS_DESC_METADATA_POINTER: GstMpegtsDescriptorType = GstMpegtsDescriptorType::MetadataPointer;
+pub const GST_MTS_DESC_METADATA: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Metadata;
+pub const GST_MTS_DESC_METADATA_STD: GstMpegtsDescriptorType = GstMpegtsDescriptorType::MetadataStd;
+pub const GST_MTS_DESC_AVC_VIDEO: GstMpegtsDescriptorType = GstMpegtsDescriptorType::AvcVideo;
+pub const GST_MTS_DESC_IPMP: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Ipmp;
+pub const GST_MTS_DESC_AVC_TIMING_AND_HRD: GstMpegtsDescriptorType = GstMpegtsDescriptorType::AvcTimingAndHrd;
+pub const GST_MTS_DESC_MPEG2_AAC_AUDIO: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Mpeg2AacAudio;
+pub const GST_MTS_DESC_FLEX_MUX_TIMING: GstMpegtsDescriptorType = GstMpegtsDescriptorType::FlexMuxTiming;
+pub const GST_MTS_DESC_MPEG4_TEXT: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Mpeg4Text;
+pub const GST_MTS_DESC_MPEG4_AUDIO_EXTENSION: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Mpeg4AudioExtension;
+pub const GST_MTS_DESC_AUXILIARY_VIDEO_STREAM: GstMpegtsDescriptorType = GstMpegtsDescriptorType::AuxiliaryVideoStream;
+pub const GST_MTS_DESC_SVC_EXTENSION: GstMpegtsDescriptorType = GstMpegtsDescriptorType::SvcExtension;
+pub const GST_MTS_DESC_MVC_EXTENSION: GstMpegtsDescriptorType = GstMpegtsDescriptorType::MvcExtension;
+pub const GST_MTS_DESC_J2K_VIDEO: GstMpegtsDescriptorType = GstMpegtsDescriptorType::J2kVideo;
+pub const GST_MTS_DESC_MVC_OPERATION_POINT: GstMpegtsDescriptorType = GstMpegtsDescriptorType::MvcOperationPoint;
+pub const GST_MTS_DESC_MPEG2_STEREOSCOPIC_VIDEO_FORMAT: GstMpegtsDescriptorType = GstMpegtsDescriptorType::Mpeg2StereoscopicVideoFormat;
+pub const GST_MTS_DESC_STEREOSCOPIC_PROGRAM_INFO: GstMpegtsDescriptorType = GstMpegtsDescriptorType::StereoscopicProgramInfo;
+pub const GST_MTS_DESC_STEREOSCOPIC_VIDEO_INFO: GstMpegtsDescriptorType = GstMpegtsDescriptorType::StereoscopicVideoInfo;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsISDBDescriptorType {
+ HierarchicalTransmission = 192,
+ DigitalCopyControl = 193,
+ NetworkIdentification = 194,
+ PartialTsTime = 195,
+ AudioComponent = 196,
+ Hyperlink = 197,
+ TargetRegion = 198,
+ DataContent = 199,
+ VideoDecodeControl = 200,
+ DownloadContent = 201,
+ CaEmmTs = 202,
+ CaContractInformation = 203,
+ CaService = 204,
+ TsInformation = 205,
+ ExtendedBroadcaster = 206,
+ LogoTransmission = 207,
+ BasicLocalEvent = 208,
+ Reference = 209,
+ NodeRelation = 210,
+ ShortNodeInformation = 211,
+ StcReference = 212,
+ Series = 213,
+ EventGroup = 214,
+ SiParameter = 215,
+ BroadcasterName = 216,
+ ComponentGroup = 217,
+ SiPrimeTs = 218,
+ BoardInformation = 219,
+ LdtLinkage = 220,
+ ConnectedTransmission = 221,
+ ContentAvailability = 222,
+ ServiceGroup = 224,
+}
+pub const GST_MTS_DESC_ISDB_HIERARCHICAL_TRANSMISSION: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::HierarchicalTransmission;
+pub const GST_MTS_DESC_ISDB_DIGITAL_COPY_CONTROL: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::DigitalCopyControl;
+pub const GST_MTS_DESC_ISDB_NETWORK_IDENTIFICATION: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::NetworkIdentification;
+pub const GST_MTS_DESC_ISDB_PARTIAL_TS_TIME: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::PartialTsTime;
+pub const GST_MTS_DESC_ISDB_AUDIO_COMPONENT: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::AudioComponent;
+pub const GST_MTS_DESC_ISDB_HYPERLINK: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::Hyperlink;
+pub const GST_MTS_DESC_ISDB_TARGET_REGION: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::TargetRegion;
+pub const GST_MTS_DESC_ISDB_DATA_CONTENT: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::DataContent;
+pub const GST_MTS_DESC_ISDB_VIDEO_DECODE_CONTROL: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::VideoDecodeControl;
+pub const GST_MTS_DESC_ISDB_DOWNLOAD_CONTENT: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::DownloadContent;
+pub const GST_MTS_DESC_ISDB_CA_EMM_TS: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::CaEmmTs;
+pub const GST_MTS_DESC_ISDB_CA_CONTRACT_INFORMATION: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::CaContractInformation;
+pub const GST_MTS_DESC_ISDB_CA_SERVICE: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::CaService;
+pub const GST_MTS_DESC_ISDB_TS_INFORMATION: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::TsInformation;
+pub const GST_MTS_DESC_ISDB_EXTENDED_BROADCASTER: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::ExtendedBroadcaster;
+pub const GST_MTS_DESC_ISDB_LOGO_TRANSMISSION: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::LogoTransmission;
+pub const GST_MTS_DESC_ISDB_BASIC_LOCAL_EVENT: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::BasicLocalEvent;
+pub const GST_MTS_DESC_ISDB_REFERENCE: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::Reference;
+pub const GST_MTS_DESC_ISDB_NODE_RELATION: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::NodeRelation;
+pub const GST_MTS_DESC_ISDB_SHORT_NODE_INFORMATION: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::ShortNodeInformation;
+pub const GST_MTS_DESC_ISDB_STC_REFERENCE: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::StcReference;
+pub const GST_MTS_DESC_ISDB_SERIES: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::Series;
+pub const GST_MTS_DESC_ISDB_EVENT_GROUP: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::EventGroup;
+pub const GST_MTS_DESC_ISDB_SI_PARAMETER: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::SiParameter;
+pub const GST_MTS_DESC_ISDB_BROADCASTER_NAME: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::BroadcasterName;
+pub const GST_MTS_DESC_ISDB_COMPONENT_GROUP: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::ComponentGroup;
+pub const GST_MTS_DESC_ISDB_SI_PRIME_TS: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::SiPrimeTs;
+pub const GST_MTS_DESC_ISDB_BOARD_INFORMATION: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::BoardInformation;
+pub const GST_MTS_DESC_ISDB_LDT_LINKAGE: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::LdtLinkage;
+pub const GST_MTS_DESC_ISDB_CONNECTED_TRANSMISSION: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::ConnectedTransmission;
+pub const GST_MTS_DESC_ISDB_CONTENT_AVAILABILITY: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::ContentAvailability;
+pub const GST_MTS_DESC_ISDB_SERVICE_GROUP: GstMpegtsISDBDescriptorType = GstMpegtsISDBDescriptorType::ServiceGroup;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsIso639AudioType {
+ Undefined = 0,
+ CleanEffects = 1,
+ HearingImpaired = 2,
+ VisualImpairedCommentary = 3,
+}
+pub const GST_MPEGTS_AUDIO_TYPE_UNDEFINED: GstMpegtsIso639AudioType = GstMpegtsIso639AudioType::Undefined;
+pub const GST_MPEGTS_AUDIO_TYPE_CLEAN_EFFECTS: GstMpegtsIso639AudioType = GstMpegtsIso639AudioType::CleanEffects;
+pub const GST_MPEGTS_AUDIO_TYPE_HEARING_IMPAIRED: GstMpegtsIso639AudioType = GstMpegtsIso639AudioType::HearingImpaired;
+pub const GST_MPEGTS_AUDIO_TYPE_VISUAL_IMPAIRED_COMMENTARY: GstMpegtsIso639AudioType = GstMpegtsIso639AudioType::VisualImpairedCommentary;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsMiscDescriptorType {
+ Ac3AudioStream = 129,
+ DtgLogicalChannel = 131,
+}
+pub const GST_MTS_DESC_AC3_AUDIO_STREAM: GstMpegtsMiscDescriptorType = GstMpegtsMiscDescriptorType::Ac3AudioStream;
+pub const GST_MTS_DESC_DTG_LOGICAL_CHANNEL: GstMpegtsMiscDescriptorType = GstMpegtsMiscDescriptorType::DtgLogicalChannel;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsModulationType {
+ Qpsk = 0,
+ Qam16 = 1,
+ Qam32 = 2,
+ Qam64 = 3,
+ Qam128 = 4,
+ Qam256 = 5,
+ QamAuto = 6,
+ Vsb8 = 7,
+ Vsb16 = 8,
+ Psk8 = 9,
+ Apsk16 = 10,
+ Apsk32 = 11,
+ Dqpsk = 12,
+ Qam4Nr = 13,
+ None = 14,
+}
+pub const GST_MPEGTS_MODULATION_QPSK: GstMpegtsModulationType = GstMpegtsModulationType::Qpsk;
+pub const GST_MPEGTS_MODULATION_QAM_16: GstMpegtsModulationType = GstMpegtsModulationType::Qam16;
+pub const GST_MPEGTS_MODULATION_QAM_32: GstMpegtsModulationType = GstMpegtsModulationType::Qam32;
+pub const GST_MPEGTS_MODULATION_QAM_64: GstMpegtsModulationType = GstMpegtsModulationType::Qam64;
+pub const GST_MPEGTS_MODULATION_QAM_128: GstMpegtsModulationType = GstMpegtsModulationType::Qam128;
+pub const GST_MPEGTS_MODULATION_QAM_256: GstMpegtsModulationType = GstMpegtsModulationType::Qam256;
+pub const GST_MPEGTS_MODULATION_QAM_AUTO: GstMpegtsModulationType = GstMpegtsModulationType::QamAuto;
+pub const GST_MPEGTS_MODULATION_VSB_8: GstMpegtsModulationType = GstMpegtsModulationType::Vsb8;
+pub const GST_MPEGTS_MODULATION_VSB_16: GstMpegtsModulationType = GstMpegtsModulationType::Vsb16;
+pub const GST_MPEGTS_MODULATION_PSK_8: GstMpegtsModulationType = GstMpegtsModulationType::Psk8;
+pub const GST_MPEGTS_MODULATION_APSK_16: GstMpegtsModulationType = GstMpegtsModulationType::Apsk16;
+pub const GST_MPEGTS_MODULATION_APSK_32: GstMpegtsModulationType = GstMpegtsModulationType::Apsk32;
+pub const GST_MPEGTS_MODULATION_DQPSK: GstMpegtsModulationType = GstMpegtsModulationType::Dqpsk;
+pub const GST_MPEGTS_MODULATION_QAM_4_NR_: GstMpegtsModulationType = GstMpegtsModulationType::Qam4Nr;
+pub const GST_MPEGTS_MODULATION_NONE: GstMpegtsModulationType = GstMpegtsModulationType::None;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsRunningStatus {
+ Undefined = 0,
+ NotRunning = 1,
+ StartsInFewSeconds = 2,
+ Pausing = 3,
+ Running = 4,
+ OffAir = 5,
+}
+pub const GST_MPEGTS_RUNNING_STATUS_UNDEFINED: GstMpegtsRunningStatus = GstMpegtsRunningStatus::Undefined;
+pub const GST_MPEGTS_RUNNING_STATUS_NOT_RUNNING: GstMpegtsRunningStatus = GstMpegtsRunningStatus::NotRunning;
+pub const GST_MPEGTS_RUNNING_STATUS_STARTS_IN_FEW_SECONDS: GstMpegtsRunningStatus = GstMpegtsRunningStatus::StartsInFewSeconds;
+pub const GST_MPEGTS_RUNNING_STATUS_PAUSING: GstMpegtsRunningStatus = GstMpegtsRunningStatus::Pausing;
+pub const GST_MPEGTS_RUNNING_STATUS_RUNNING: GstMpegtsRunningStatus = GstMpegtsRunningStatus::Running;
+pub const GST_MPEGTS_RUNNING_STATUS_OFF_AIR: GstMpegtsRunningStatus = GstMpegtsRunningStatus::OffAir;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsSatellitePolarizationType {
+ LinearHorizontal = 0,
+ LinearVertical = 1,
+ CircularLeft = 2,
+ CircularRight = 3,
+}
+pub const GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL: GstMpegtsSatellitePolarizationType = GstMpegtsSatellitePolarizationType::LinearHorizontal;
+pub const GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL: GstMpegtsSatellitePolarizationType = GstMpegtsSatellitePolarizationType::LinearVertical;
+pub const GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT: GstMpegtsSatellitePolarizationType = GstMpegtsSatellitePolarizationType::CircularLeft;
+pub const GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT: GstMpegtsSatellitePolarizationType = GstMpegtsSatellitePolarizationType::CircularRight;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsSatelliteRolloff {
+ _35 = 0,
+ _20 = 1,
+ _25 = 2,
+ Reserved = 3,
+ Auto = 4,
+}
+pub const GST_MPEGTS_ROLLOFF_35: GstMpegtsSatelliteRolloff = GstMpegtsSatelliteRolloff::_35;
+pub const GST_MPEGTS_ROLLOFF_20: GstMpegtsSatelliteRolloff = GstMpegtsSatelliteRolloff::_20;
+pub const GST_MPEGTS_ROLLOFF_25: GstMpegtsSatelliteRolloff = GstMpegtsSatelliteRolloff::_25;
+pub const GST_MPEGTS_ROLLOFF_RESERVED: GstMpegtsSatelliteRolloff = GstMpegtsSatelliteRolloff::Reserved;
+pub const GST_MPEGTS_ROLLOFF_AUTO: GstMpegtsSatelliteRolloff = GstMpegtsSatelliteRolloff::Auto;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsScteStreamType {
+ Subtitling = 130,
+ IsochData = 131,
+ DstNrt = 149,
+ DsmccDcb = 176,
+ Signaling = 192,
+ SyncData = 194,
+ AsyncData = 195,
+}
+pub const GST_MPEGTS_STREAM_TYPE_SCTE_SUBTITLING: GstMpegtsScteStreamType = GstMpegtsScteStreamType::Subtitling;
+pub const GST_MPEGTS_STREAM_TYPE_SCTE_ISOCH_DATA: GstMpegtsScteStreamType = GstMpegtsScteStreamType::IsochData;
+pub const GST_MPEGTS_STREAM_TYPE_SCTE_DST_NRT: GstMpegtsScteStreamType = GstMpegtsScteStreamType::DstNrt;
+pub const GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB: GstMpegtsScteStreamType = GstMpegtsScteStreamType::DsmccDcb;
+pub const GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING: GstMpegtsScteStreamType = GstMpegtsScteStreamType::Signaling;
+pub const GST_MPEGTS_STREAM_TYPE_SCTE_SYNC_DATA: GstMpegtsScteStreamType = GstMpegtsScteStreamType::SyncData;
+pub const GST_MPEGTS_STREAM_TYPE_SCTE_ASYNC_DATA: GstMpegtsScteStreamType = GstMpegtsScteStreamType::AsyncData;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsSectionATSCTableID {
+ MasterGuide = 199,
+ TerrestrialVirtualChannel = 200,
+ CableVirtualChannel = 201,
+ RatingRegion = 202,
+ EventInformation = 203,
+ ChannelOrEventExtendedText = 204,
+ SystemTime = 205,
+ DataEvent = 206,
+ DataService = 207,
+ NetworkResource = 209,
+ LongTermService = 210,
+ DirectedChannelChange = 211,
+ DirectedChannelChangeSectionCode = 212,
+ AggregateEventInformation = 214,
+ AggregateExtendedText = 215,
+ AggregateDataEvent = 217,
+ SatelliteVirtualChannel = 218,
+}
+pub const GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::MasterGuide;
+pub const GST_MTS_TABLE_ID_ATSC_TERRESTRIAL_VIRTUAL_CHANNEL: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::TerrestrialVirtualChannel;
+pub const GST_MTS_TABLE_ID_ATSC_CABLE_VIRTUAL_CHANNEL: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::CableVirtualChannel;
+pub const GST_MTS_TABLE_ID_ATSC_RATING_REGION: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::RatingRegion;
+pub const GST_MTS_TABLE_ID_ATSC_EVENT_INFORMATION: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::EventInformation;
+pub const GST_MTS_TABLE_ID_ATSC_CHANNEL_OR_EVENT_EXTENDED_TEXT: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::ChannelOrEventExtendedText;
+pub const GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::SystemTime;
+pub const GST_MTS_TABLE_ID_ATSC_DATA_EVENT: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::DataEvent;
+pub const GST_MTS_TABLE_ID_ATSC_DATA_SERVICE: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::DataService;
+pub const GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::NetworkResource;
+pub const GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::LongTermService;
+pub const GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::DirectedChannelChange;
+pub const GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE_SECTION_CODE: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::DirectedChannelChangeSectionCode;
+pub const GST_MTS_TABLE_ID_ATSC_AGGREGATE_EVENT_INFORMATION: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::AggregateEventInformation;
+pub const GST_MTS_TABLE_ID_ATSC_AGGREGATE_EXTENDED_TEXT: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::AggregateExtendedText;
+pub const GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::AggregateDataEvent;
+pub const GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL: GstMpegtsSectionATSCTableID = GstMpegtsSectionATSCTableID::SatelliteVirtualChannel;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsSectionDVBTableID {
+ NetworkInformationActualNetwork = 64,
+ NetworkInformationOtherNetwork = 65,
+ ServiceDescriptionActualTs = 66,
+ ServiceDescriptionOtherTs = 70,
+ BouquetAssociation = 74,
+ EventInformationActualTsPresent = 78,
+ EventInformationOtherTsPresent = 79,
+ EventInformationActualTsSchedule1 = 80,
+ EventInformationActualTsScheduleN = 95,
+ EventInformationOtherTsSchedule1 = 96,
+ EventInformationOtherTsScheduleN = 111,
+ TimeDate = 112,
+ RunningStatus = 113,
+ Stuffing = 114,
+ TimeOffset = 115,
+ ApplicationInformationTable = 116,
+ Container = 117,
+ RelatedContent = 118,
+ ContentIdentifier = 119,
+ MpeFec = 120,
+ ResolutionNotification = 121,
+ MpeIfec = 122,
+ DiscontinuityInformation = 126,
+ SelectionInformation = 127,
+ CaMessageEcm0 = 128,
+ CaMessageEcm1 = 129,
+ CaMessageSystemPrivate1 = 130,
+ CaMessageSystemPrivateN = 143,
+ Sct = 160,
+ Fct = 161,
+ Tct = 162,
+ Spt = 163,
+ Cmt = 164,
+ Tbtp = 165,
+ PcrPacketPayload = 166,
+ TransmissionModeSupportPayload = 170,
+ Tim = 176,
+ LlFecParityDataTable = 177,
+}
+pub const GST_MTS_TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::NetworkInformationActualNetwork;
+pub const GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::NetworkInformationOtherNetwork;
+pub const GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::ServiceDescriptionActualTs;
+pub const GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::ServiceDescriptionOtherTs;
+pub const GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::BouquetAssociation;
+pub const GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::EventInformationActualTsPresent;
+pub const GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::EventInformationOtherTsPresent;
+pub const GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::EventInformationActualTsSchedule1;
+pub const GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::EventInformationActualTsScheduleN;
+pub const GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_1: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::EventInformationOtherTsSchedule1;
+pub const GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_N: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::EventInformationOtherTsScheduleN;
+pub const GST_MTS_TABLE_ID_TIME_DATE: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::TimeDate;
+pub const GST_MTS_TABLE_ID_RUNNING_STATUS: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::RunningStatus;
+pub const GST_MTS_TABLE_ID_STUFFING: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::Stuffing;
+pub const GST_MTS_TABLE_ID_TIME_OFFSET: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::TimeOffset;
+pub const GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::ApplicationInformationTable;
+pub const GST_MTS_TABLE_ID_CONTAINER: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::Container;
+pub const GST_MTS_TABLE_ID_RELATED_CONTENT: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::RelatedContent;
+pub const GST_MTS_TABLE_ID_CONTENT_IDENTIFIER: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::ContentIdentifier;
+pub const GST_MTS_TABLE_ID_MPE_FEC: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::MpeFec;
+pub const GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::ResolutionNotification;
+pub const GST_MTS_TABLE_ID_MPE_IFEC: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::MpeIfec;
+pub const GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::DiscontinuityInformation;
+pub const GST_MTS_TABLE_ID_SELECTION_INFORMATION: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::SelectionInformation;
+pub const GST_MTS_TABLE_ID_CA_MESSAGE_ECM_0: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::CaMessageEcm0;
+pub const GST_MTS_TABLE_ID_CA_MESSAGE_ECM_1: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::CaMessageEcm1;
+pub const GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_1: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::CaMessageSystemPrivate1;
+pub const GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_N: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::CaMessageSystemPrivateN;
+pub const GST_MTS_TABLE_ID_SCT: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::Sct;
+pub const GST_MTS_TABLE_ID_FCT: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::Fct;
+pub const GST_MTS_TABLE_ID_TCT: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::Tct;
+pub const GST_MTS_TABLE_ID_SPT: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::Spt;
+pub const GST_MTS_TABLE_ID_CMT: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::Cmt;
+pub const GST_MTS_TABLE_ID_TBTP: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::Tbtp;
+pub const GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::PcrPacketPayload;
+pub const GST_MTS_TABLE_ID_TRANSMISSION_MODE_SUPPORT_PAYLOAD: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::TransmissionModeSupportPayload;
+pub const GST_MTS_TABLE_ID_TIM: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::Tim;
+pub const GST_MTS_TABLE_ID_LL_FEC_PARITY_DATA_TABLE: GstMpegtsSectionDVBTableID = GstMpegtsSectionDVBTableID::LlFecParityDataTable;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsSectionSCTETableID {
+ Eas = 216,
+ Ebif = 224,
+ Reserved = 225,
+ Eiss = 226,
+ Dii = 227,
+ Ddb = 228,
+ Splice = 252,
+}
+pub const GST_MTS_TABLE_ID_SCTE_EAS: GstMpegtsSectionSCTETableID = GstMpegtsSectionSCTETableID::Eas;
+pub const GST_MTS_TABLE_ID_SCTE_EBIF: GstMpegtsSectionSCTETableID = GstMpegtsSectionSCTETableID::Ebif;
+pub const GST_MTS_TABLE_ID_SCTE_RESERVED: GstMpegtsSectionSCTETableID = GstMpegtsSectionSCTETableID::Reserved;
+pub const GST_MTS_TABLE_ID_SCTE_EISS: GstMpegtsSectionSCTETableID = GstMpegtsSectionSCTETableID::Eiss;
+pub const GST_MTS_TABLE_ID_SCTE_DII: GstMpegtsSectionSCTETableID = GstMpegtsSectionSCTETableID::Dii;
+pub const GST_MTS_TABLE_ID_SCTE_DDB: GstMpegtsSectionSCTETableID = GstMpegtsSectionSCTETableID::Ddb;
+pub const GST_MTS_TABLE_ID_SCTE_SPLICE: GstMpegtsSectionSCTETableID = GstMpegtsSectionSCTETableID::Splice;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsSectionTableID {
+ ProgramAssociation = 0,
+ ConditionalAccess = 1,
+ TsProgramMap = 2,
+ TsDescription = 3,
+ _14496SceneDescription = 4,
+ _14496ObjetDescriptor = 5,
+ Metadata = 6,
+ IpmpControlInformation = 7,
+ DsmCcMultiprotoEncapsulatedData = 58,
+ DsmCcUNMessages = 59,
+ DsmCcDownloadDataMessages = 60,
+ DsmCcStreamDescriptors = 61,
+ DsmCcPrivateData = 62,
+ DsmCcAddressableSections = 63,
+ Unset = 255,
+}
+pub const GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION: GstMpegtsSectionTableID = GstMpegtsSectionTableID::ProgramAssociation;
+pub const GST_MTS_TABLE_ID_CONDITIONAL_ACCESS: GstMpegtsSectionTableID = GstMpegtsSectionTableID::ConditionalAccess;
+pub const GST_MTS_TABLE_ID_TS_PROGRAM_MAP: GstMpegtsSectionTableID = GstMpegtsSectionTableID::TsProgramMap;
+pub const GST_MTS_TABLE_ID_TS_DESCRIPTION: GstMpegtsSectionTableID = GstMpegtsSectionTableID::TsDescription;
+pub const GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION: GstMpegtsSectionTableID = GstMpegtsSectionTableID::_14496SceneDescription;
+pub const GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR: GstMpegtsSectionTableID = GstMpegtsSectionTableID::_14496ObjetDescriptor;
+pub const GST_MTS_TABLE_ID_METADATA: GstMpegtsSectionTableID = GstMpegtsSectionTableID::Metadata;
+pub const GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION: GstMpegtsSectionTableID = GstMpegtsSectionTableID::IpmpControlInformation;
+pub const GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA: GstMpegtsSectionTableID = GstMpegtsSectionTableID::DsmCcMultiprotoEncapsulatedData;
+pub const GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES: GstMpegtsSectionTableID = GstMpegtsSectionTableID::DsmCcUNMessages;
+pub const GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES: GstMpegtsSectionTableID = GstMpegtsSectionTableID::DsmCcDownloadDataMessages;
+pub const GST_MTS_TABLE_ID_DSM_CC_STREAM_DESCRIPTORS: GstMpegtsSectionTableID = GstMpegtsSectionTableID::DsmCcStreamDescriptors;
+pub const GST_MTS_TABLE_ID_DSM_CC_PRIVATE_DATA: GstMpegtsSectionTableID = GstMpegtsSectionTableID::DsmCcPrivateData;
+pub const GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS: GstMpegtsSectionTableID = GstMpegtsSectionTableID::DsmCcAddressableSections;
+pub const GST_MTS_TABLE_ID_UNSET: GstMpegtsSectionTableID = GstMpegtsSectionTableID::Unset;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsSectionType {
+ Unknown = 0,
+ Pat = 1,
+ Pmt = 2,
+ Cat = 3,
+ Tsdt = 4,
+ Eit = 5,
+ Nit = 6,
+ Bat = 7,
+ Sdt = 8,
+ Tdt = 9,
+ Tot = 10,
+ AtscTvct = 11,
+ AtscCvct = 12,
+ AtscMgt = 13,
+ AtscEtt = 14,
+ AtscEit = 15,
+ AtscStt = 16,
+}
+pub const GST_MPEGTS_SECTION_UNKNOWN: GstMpegtsSectionType = GstMpegtsSectionType::Unknown;
+pub const GST_MPEGTS_SECTION_PAT: GstMpegtsSectionType = GstMpegtsSectionType::Pat;
+pub const GST_MPEGTS_SECTION_PMT: GstMpegtsSectionType = GstMpegtsSectionType::Pmt;
+pub const GST_MPEGTS_SECTION_CAT: GstMpegtsSectionType = GstMpegtsSectionType::Cat;
+pub const GST_MPEGTS_SECTION_TSDT: GstMpegtsSectionType = GstMpegtsSectionType::Tsdt;
+pub const GST_MPEGTS_SECTION_EIT: GstMpegtsSectionType = GstMpegtsSectionType::Eit;
+pub const GST_MPEGTS_SECTION_NIT: GstMpegtsSectionType = GstMpegtsSectionType::Nit;
+pub const GST_MPEGTS_SECTION_BAT: GstMpegtsSectionType = GstMpegtsSectionType::Bat;
+pub const GST_MPEGTS_SECTION_SDT: GstMpegtsSectionType = GstMpegtsSectionType::Sdt;
+pub const GST_MPEGTS_SECTION_TDT: GstMpegtsSectionType = GstMpegtsSectionType::Tdt;
+pub const GST_MPEGTS_SECTION_TOT: GstMpegtsSectionType = GstMpegtsSectionType::Tot;
+pub const GST_MPEGTS_SECTION_ATSC_TVCT: GstMpegtsSectionType = GstMpegtsSectionType::AtscTvct;
+pub const GST_MPEGTS_SECTION_ATSC_CVCT: GstMpegtsSectionType = GstMpegtsSectionType::AtscCvct;
+pub const GST_MPEGTS_SECTION_ATSC_MGT: GstMpegtsSectionType = GstMpegtsSectionType::AtscMgt;
+pub const GST_MPEGTS_SECTION_ATSC_ETT: GstMpegtsSectionType = GstMpegtsSectionType::AtscEtt;
+pub const GST_MPEGTS_SECTION_ATSC_EIT: GstMpegtsSectionType = GstMpegtsSectionType::AtscEit;
+pub const GST_MPEGTS_SECTION_ATSC_STT: GstMpegtsSectionType = GstMpegtsSectionType::AtscStt;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsStreamType {
+ Reserved00 = 0,
+ VideoMpeg1 = 1,
+ VideoMpeg2 = 2,
+ AudioMpeg1 = 3,
+ AudioMpeg2 = 4,
+ PrivateSections = 5,
+ PrivatePesPackets = 6,
+ Mheg = 7,
+ DsmCc = 8,
+ H2221 = 9,
+ DsmccA = 10,
+ DsmccB = 11,
+ DsmccC = 12,
+ DsmccD = 13,
+ Auxiliary = 14,
+ AudioAacAdts = 15,
+ VideoMpeg4 = 16,
+ AudioAacLatm = 17,
+ SlFlexmuxPesPackets = 18,
+ SlFlexmuxSections = 19,
+ SynchronizedDownload = 20,
+ MetadataPesPackets = 21,
+ MetadataSections = 22,
+ MetadataDataCarousel = 23,
+ MetadataObjectCarousel = 24,
+ MetadataSynchronizedDownload = 25,
+ Mpeg2Ipmp = 26,
+ VideoH264 = 27,
+ AudioAacClean = 28,
+ Mpeg4TimedText = 29,
+ VideoRvc = 30,
+ VideoH264SvcSubBitstream = 31,
+ VideoH264MvcSubBitstream = 32,
+ VideoJp2k = 33,
+ VideoMpeg2StereoAdditionalView = 34,
+ VideoH264StereoAdditionalView = 35,
+ VideoHevc = 36,
+ IpmpStream = 127,
+}
+pub const GST_MPEGTS_STREAM_TYPE_RESERVED_00: GstMpegtsStreamType = GstMpegtsStreamType::Reserved00;
+pub const GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1: GstMpegtsStreamType = GstMpegtsStreamType::VideoMpeg1;
+pub const GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2: GstMpegtsStreamType = GstMpegtsStreamType::VideoMpeg2;
+pub const GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1: GstMpegtsStreamType = GstMpegtsStreamType::AudioMpeg1;
+pub const GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2: GstMpegtsStreamType = GstMpegtsStreamType::AudioMpeg2;
+pub const GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS: GstMpegtsStreamType = GstMpegtsStreamType::PrivateSections;
+pub const GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS: GstMpegtsStreamType = GstMpegtsStreamType::PrivatePesPackets;
+pub const GST_MPEGTS_STREAM_TYPE_MHEG: GstMpegtsStreamType = GstMpegtsStreamType::Mheg;
+pub const GST_MPEGTS_STREAM_TYPE_DSM_CC: GstMpegtsStreamType = GstMpegtsStreamType::DsmCc;
+pub const GST_MPEGTS_STREAM_TYPE_H_222_1: GstMpegtsStreamType = GstMpegtsStreamType::H2221;
+pub const GST_MPEGTS_STREAM_TYPE_DSMCC_A: GstMpegtsStreamType = GstMpegtsStreamType::DsmccA;
+pub const GST_MPEGTS_STREAM_TYPE_DSMCC_B: GstMpegtsStreamType = GstMpegtsStreamType::DsmccB;
+pub const GST_MPEGTS_STREAM_TYPE_DSMCC_C: GstMpegtsStreamType = GstMpegtsStreamType::DsmccC;
+pub const GST_MPEGTS_STREAM_TYPE_DSMCC_D: GstMpegtsStreamType = GstMpegtsStreamType::DsmccD;
+pub const GST_MPEGTS_STREAM_TYPE_AUXILIARY: GstMpegtsStreamType = GstMpegtsStreamType::Auxiliary;
+pub const GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS: GstMpegtsStreamType = GstMpegtsStreamType::AudioAacAdts;
+pub const GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4: GstMpegtsStreamType = GstMpegtsStreamType::VideoMpeg4;
+pub const GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM: GstMpegtsStreamType = GstMpegtsStreamType::AudioAacLatm;
+pub const GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS: GstMpegtsStreamType = GstMpegtsStreamType::SlFlexmuxPesPackets;
+pub const GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS: GstMpegtsStreamType = GstMpegtsStreamType::SlFlexmuxSections;
+pub const GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD: GstMpegtsStreamType = GstMpegtsStreamType::SynchronizedDownload;
+pub const GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS: GstMpegtsStreamType = GstMpegtsStreamType::MetadataPesPackets;
+pub const GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS: GstMpegtsStreamType = GstMpegtsStreamType::MetadataSections;
+pub const GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL: GstMpegtsStreamType = GstMpegtsStreamType::MetadataDataCarousel;
+pub const GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL: GstMpegtsStreamType = GstMpegtsStreamType::MetadataObjectCarousel;
+pub const GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD: GstMpegtsStreamType = GstMpegtsStreamType::MetadataSynchronizedDownload;
+pub const GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP: GstMpegtsStreamType = GstMpegtsStreamType::Mpeg2Ipmp;
+pub const GST_MPEGTS_STREAM_TYPE_VIDEO_H264: GstMpegtsStreamType = GstMpegtsStreamType::VideoH264;
+pub const GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN: GstMpegtsStreamType = GstMpegtsStreamType::AudioAacClean;
+pub const GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT: GstMpegtsStreamType = GstMpegtsStreamType::Mpeg4TimedText;
+pub const GST_MPEGTS_STREAM_TYPE_VIDEO_RVC: GstMpegtsStreamType = GstMpegtsStreamType::VideoRvc;
+pub const GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM: GstMpegtsStreamType = GstMpegtsStreamType::VideoH264SvcSubBitstream;
+pub const GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM: GstMpegtsStreamType = GstMpegtsStreamType::VideoH264MvcSubBitstream;
+pub const GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K: GstMpegtsStreamType = GstMpegtsStreamType::VideoJp2k;
+pub const GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW: GstMpegtsStreamType = GstMpegtsStreamType::VideoMpeg2StereoAdditionalView;
+pub const GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW: GstMpegtsStreamType = GstMpegtsStreamType::VideoH264StereoAdditionalView;
+pub const GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC: GstMpegtsStreamType = GstMpegtsStreamType::VideoHevc;
+pub const GST_MPEGTS_STREAM_TYPE_IPMP_STREAM: GstMpegtsStreamType = GstMpegtsStreamType::IpmpStream;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsTerrestrialGuardInterval {
+ _132 = 0,
+ _116 = 1,
+ _18 = 2,
+ _14 = 3,
+ Auto = 4,
+ _1128 = 5,
+ _19128 = 6,
+ _19256 = 7,
+ Pn420 = 8,
+ Pn595 = 9,
+ Pn945 = 10,
+}
+pub const GST_MPEGTS_GUARD_INTERVAL_1_32: GstMpegtsTerrestrialGuardInterval = GstMpegtsTerrestrialGuardInterval::_132;
+pub const GST_MPEGTS_GUARD_INTERVAL_1_16: GstMpegtsTerrestrialGuardInterval = GstMpegtsTerrestrialGuardInterval::_116;
+pub const GST_MPEGTS_GUARD_INTERVAL_1_8: GstMpegtsTerrestrialGuardInterval = GstMpegtsTerrestrialGuardInterval::_18;
+pub const GST_MPEGTS_GUARD_INTERVAL_1_4: GstMpegtsTerrestrialGuardInterval = GstMpegtsTerrestrialGuardInterval::_14;
+pub const GST_MPEGTS_GUARD_INTERVAL_AUTO: GstMpegtsTerrestrialGuardInterval = GstMpegtsTerrestrialGuardInterval::Auto;
+pub const GST_MPEGTS_GUARD_INTERVAL_1_128: GstMpegtsTerrestrialGuardInterval = GstMpegtsTerrestrialGuardInterval::_1128;
+pub const GST_MPEGTS_GUARD_INTERVAL_19_128: GstMpegtsTerrestrialGuardInterval = GstMpegtsTerrestrialGuardInterval::_19128;
+pub const GST_MPEGTS_GUARD_INTERVAL_19_256: GstMpegtsTerrestrialGuardInterval = GstMpegtsTerrestrialGuardInterval::_19256;
+pub const GST_MPEGTS_GUARD_INTERVAL_PN420: GstMpegtsTerrestrialGuardInterval = GstMpegtsTerrestrialGuardInterval::Pn420;
+pub const GST_MPEGTS_GUARD_INTERVAL_PN595: GstMpegtsTerrestrialGuardInterval = GstMpegtsTerrestrialGuardInterval::Pn595;
+pub const GST_MPEGTS_GUARD_INTERVAL_PN945: GstMpegtsTerrestrialGuardInterval = GstMpegtsTerrestrialGuardInterval::Pn945;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsTerrestrialHierarchy {
+ None = 0,
+ _1 = 1,
+ _2 = 2,
+ _4 = 3,
+ Auto = 4,
+}
+pub const GST_MPEGTS_HIERARCHY_NONE: GstMpegtsTerrestrialHierarchy = GstMpegtsTerrestrialHierarchy::None;
+pub const GST_MPEGTS_HIERARCHY_1: GstMpegtsTerrestrialHierarchy = GstMpegtsTerrestrialHierarchy::_1;
+pub const GST_MPEGTS_HIERARCHY_2: GstMpegtsTerrestrialHierarchy = GstMpegtsTerrestrialHierarchy::_2;
+pub const GST_MPEGTS_HIERARCHY_4: GstMpegtsTerrestrialHierarchy = GstMpegtsTerrestrialHierarchy::_4;
+pub const GST_MPEGTS_HIERARCHY_AUTO: GstMpegtsTerrestrialHierarchy = GstMpegtsTerrestrialHierarchy::Auto;
+
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[repr(C)]
+pub enum GstMpegtsTerrestrialTransmissionMode {
+ _2k = 0,
+ _8k = 1,
+ Auto = 2,
+ _4k = 3,
+ _1k = 4,
+ _16k = 5,
+ _32k = 6,
+ C1 = 7,
+ C3780 = 8,
+}
+pub const GST_MPEGTS_TRANSMISSION_MODE_2K: GstMpegtsTerrestrialTransmissionMode = GstMpegtsTerrestrialTransmissionMode::_2k;
+pub const GST_MPEGTS_TRANSMISSION_MODE_8K: GstMpegtsTerrestrialTransmissionMode = GstMpegtsTerrestrialTransmissionMode::_8k;
+pub const GST_MPEGTS_TRANSMISSION_MODE_AUTO: GstMpegtsTerrestrialTransmissionMode = GstMpegtsTerrestrialTransmissionMode::Auto;
+pub const GST_MPEGTS_TRANSMISSION_MODE_4K: GstMpegtsTerrestrialTransmissionMode = GstMpegtsTerrestrialTransmissionMode::_4k;
+pub const GST_MPEGTS_TRANSMISSION_MODE_1K: GstMpegtsTerrestrialTransmissionMode = GstMpegtsTerrestrialTransmissionMode::_1k;
+pub const GST_MPEGTS_TRANSMISSION_MODE_16K: GstMpegtsTerrestrialTransmissionMode = GstMpegtsTerrestrialTransmissionMode::_16k;
+pub const GST_MPEGTS_TRANSMISSION_MODE_32K: GstMpegtsTerrestrialTransmissionMode = GstMpegtsTerrestrialTransmissionMode::_32k;
+pub const GST_MPEGTS_TRANSMISSION_MODE_C1: GstMpegtsTerrestrialTransmissionMode = GstMpegtsTerrestrialTransmissionMode::C1;
+pub const GST_MPEGTS_TRANSMISSION_MODE_C3780: GstMpegtsTerrestrialTransmissionMode = GstMpegtsTerrestrialTransmissionMode::C3780;
+
+// Callbacks
+pub type GstMpegtsPacketizeFunc = Option gboolean>;
+
+// Records
+#[repr(C)]
+pub struct GstMpegtsAtscEIT {
+ pub source_id: u16,
+ pub protocol_version: u8,
+ pub events: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsAtscEITEvent {
+ pub event_id: u16,
+ pub start_time: u32,
+ pub etm_location: u8,
+ pub length_in_seconds: u32,
+ pub titles: *mut glib::GPtrArray,
+ pub descriptors: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsAtscETT {
+ pub ett_table_id_extension: u16,
+ pub protocol_version: u16,
+ pub etm_id: u32,
+ pub messages: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsAtscMGT {
+ pub protocol_version: u8,
+ pub tables_defined: u16,
+ pub tables: *mut glib::GPtrArray,
+ pub descriptors: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsAtscMGTTable {
+ pub table_type: u16,
+ pub pid: u16,
+ pub version_number: u8,
+ pub number_bytes: u32,
+ pub descriptors: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsAtscMultString {
+ pub iso_639_langcode: [c_char; 4],
+ pub segments: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsAtscSTT {
+ pub protocol_version: u8,
+ pub system_time: u32,
+ pub gps_utc_offset: u8,
+ pub ds_status: gboolean,
+ pub ds_dayofmonth: u8,
+ pub ds_hour: u8,
+ pub descriptors: *mut glib::GPtrArray,
+ pub utc_datetime: *mut gst::GstDateTime,
+}
+
+#[repr(C)]
+pub struct GstMpegtsAtscStringSegment {
+ pub compression_type: u8,
+ pub mode: u8,
+ pub compressed_data_size: u8,
+ pub compressed_data: *mut u8,
+ pub cached_string: *mut c_char,
+}
+
+#[repr(C)]
+pub struct GstMpegtsAtscVCT {
+ pub transport_stream_id: u16,
+ pub protocol_version: u8,
+ pub sources: *mut glib::GPtrArray,
+ pub descriptors: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsAtscVCTSource {
+ pub short_name: *mut c_char,
+ pub major_channel_number: u16,
+ pub minor_channel_number: u16,
+ pub modulation_mode: u8,
+ pub carrier_frequency: u32,
+ pub channel_TSID: u16,
+ pub program_number: u16,
+ pub ETM_location: u8,
+ pub access_controlled: gboolean,
+ pub hidden: gboolean,
+ pub path_select: gboolean,
+ pub out_of_band: gboolean,
+ pub hide_guide: gboolean,
+ pub service_type: u8,
+ pub source_id: u16,
+ pub descriptors: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsBAT {
+ pub descriptors: *mut glib::GPtrArray,
+ pub streams: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsBATStream {
+ pub transport_stream_id: u16,
+ pub original_network_id: u16,
+ pub descriptors: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsCableDeliverySystemDescriptor {
+ pub frequency: u32,
+ pub outer_fec: GstMpegtsCableOuterFECScheme,
+ pub modulation: GstMpegtsModulationType,
+ pub symbol_rate: u32,
+ pub fec_inner: GstMpegtsDVBCodeRate,
+}
+
+#[repr(C)]
+pub struct GstMpegtsComponentDescriptor {
+ pub stream_content: u8,
+ pub component_type: u8,
+ pub component_tag: u8,
+ pub language_code: *mut c_char,
+ pub text: *mut c_char,
+}
+
+#[repr(C)]
+pub struct GstMpegtsContent {
+ pub content_nibble_1: GstMpegtsContentNibbleHi,
+ pub content_nibble_2: u8,
+ pub user_byte: u8,
+}
+
+#[repr(C)]
+pub struct GstMpegtsDVBLinkageDescriptor {
+ pub transport_stream_id: u16,
+ pub original_network_id: u16,
+ pub service_id: u16,
+ pub linkage_type: GstMpegtsDVBLinkageType,
+ pub linkage_data: gpointer,
+ pub private_data_length: u8,
+ pub private_data_bytes: *mut u8,
+}
+
+#[repr(C)]
+pub struct GstMpegtsDVBLinkageEvent {
+ pub target_event_id: u16,
+ pub target_listed: gboolean,
+ pub event_simulcast: gboolean,
+}
+
+#[repr(C)]
+pub struct GstMpegtsDVBLinkageExtendedEvent {
+ pub target_event_id: u16,
+ pub target_listed: gboolean,
+ pub event_simulcast: gboolean,
+ pub link_type: u8,
+ pub target_id_type: u8,
+ pub original_network_id_flag: gboolean,
+ pub service_id_flag: gboolean,
+ pub user_defined_id: u16,
+ pub target_transport_stream_id: u16,
+ pub target_original_network_id: u16,
+ pub target_service_id: u16,
+}
+
+#[repr(C)]
+pub struct GstMpegtsDVBLinkageMobileHandOver {
+ pub hand_over_type: GstMpegtsDVBLinkageHandOverType,
+ pub origin_type: gboolean,
+ pub network_id: u16,
+ pub initial_service_id: u16,
+}
+
+#[repr(C)]
+pub struct GstMpegtsDVBParentalRatingItem {
+ pub country_code: *mut c_char,
+ pub rating: u8,
+}
+
+#[repr(C)]
+pub struct GstMpegtsDVBServiceListItem {
+ pub service_id: u16,
+ pub type_: GstMpegtsDVBServiceType,
+}
+
+#[repr(C)]
+pub struct GstMpegtsDataBroadcastDescriptor {
+ pub data_broadcast_id: u16,
+ pub component_tag: u8,
+ pub length: u8,
+ pub selector_bytes: *mut u8,
+ pub language_code: *mut c_char,
+ pub text: *mut c_char,
+}
+
+#[repr(C)]
+pub struct GstMpegtsDescriptor {
+ pub tag: u8,
+ pub tag_extension: u8,
+ pub length: u8,
+ pub data: *mut u8,
+ pub _gst_reserved: [gpointer; 4],
+}
+
+#[repr(C)]
+pub struct GstMpegtsDvbMultilingualBouquetNameItem {
+ pub language_code: *mut c_char,
+ pub bouquet_name: *mut c_char,
+}
+
+#[repr(C)]
+pub struct GstMpegtsDvbMultilingualComponentItem {
+ pub language_code: *mut c_char,
+ pub description: *mut c_char,
+}
+
+#[repr(C)]
+pub struct GstMpegtsDvbMultilingualNetworkNameItem {
+ pub language_code: *mut c_char,
+ pub network_name: *mut c_char,
+}
+
+#[repr(C)]
+pub struct GstMpegtsDvbMultilingualServiceNameItem {
+ pub language_code: *mut c_char,
+ pub provider_name: *mut c_char,
+ pub service_name: *mut c_char,
+}
+
+#[repr(C)]
+pub struct GstMpegtsEIT {
+ pub transport_stream_id: u16,
+ pub original_network_id: u16,
+ pub segment_last_section_number: u8,
+ pub last_table_id: u8,
+ pub actual_stream: gboolean,
+ pub present_following: gboolean,
+ pub events: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsEITEvent {
+ pub event_id: u16,
+ pub start_time: *mut gst::GstDateTime,
+ pub duration: u32,
+ pub running_status: GstMpegtsRunningStatus,
+ pub free_CA_mode: gboolean,
+ pub descriptors: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsExtendedEventDescriptor {
+ pub descriptor_number: u8,
+ pub last_descriptor_number: u8,
+ pub language_code: *mut c_char,
+ pub items: *mut glib::GPtrArray,
+ pub text: *mut c_char,
+}
+
+#[repr(C)]
+pub struct GstMpegtsExtendedEventItem {
+ pub item_description: *mut c_char,
+ pub item: *mut c_char,
+}
+
+#[repr(C)]
+pub struct GstMpegtsISO639LanguageDescriptor {
+ pub nb_language: c_uint,
+ pub language: [c_char; 64],
+ pub audio_type: [GstMpegtsIso639AudioType; 64],
+}
+
+#[repr(C)]
+pub struct GstMpegtsLogicalChannel {
+ pub service_id: u16,
+ pub visible_service: gboolean,
+ pub logical_channel_number: u16,
+}
+
+#[repr(C)]
+pub struct GstMpegtsLogicalChannelDescriptor {
+ pub nb_channels: c_uint,
+ pub channels: [GstMpegtsLogicalChannel; 64],
+}
+
+#[repr(C)]
+pub struct GstMpegtsNIT {
+ pub actual_network: gboolean,
+ pub network_id: u16,
+ pub descriptors: *mut glib::GPtrArray,
+ pub streams: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsNITStream {
+ pub transport_stream_id: u16,
+ pub original_network_id: u16,
+ pub descriptors: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsPMT {
+ pub pcr_pid: u16,
+ pub program_number: u16,
+ pub descriptors: *mut glib::GPtrArray,
+ pub streams: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsPMTStream {
+ pub stream_type: u8,
+ pub pid: u16,
+ pub descriptors: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsPatProgram {
+ pub program_number: u16,
+ pub network_or_program_map_PID: u16,
+}
+
+#[repr(C)]
+pub struct GstMpegtsSDT {
+ pub original_network_id: u16,
+ pub actual_ts: gboolean,
+ pub transport_stream_id: u16,
+ pub services: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsSDTService {
+ pub service_id: u16,
+ pub EIT_schedule_flag: gboolean,
+ pub EIT_present_following_flag: gboolean,
+ pub running_status: GstMpegtsRunningStatus,
+ pub free_CA_mode: gboolean,
+ pub descriptors: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsSatelliteDeliverySystemDescriptor {
+ pub frequency: u32,
+ pub orbital_position: c_float,
+ pub west_east: gboolean,
+ pub polarization: GstMpegtsSatellitePolarizationType,
+ pub roll_off: GstMpegtsSatelliteRolloff,
+ pub modulation_system: gboolean,
+ pub modulation_type: GstMpegtsModulationType,
+ pub symbol_rate: u32,
+ pub fec_inner: GstMpegtsDVBCodeRate,
+}
+
+#[repr(C)]
+pub struct GstMpegtsSection {
+ pub parent: gst::GstMiniObject,
+ pub section_type: GstMpegtsSectionType,
+ pub pid: u16,
+ pub table_id: u8,
+ pub subtable_extension: u16,
+ pub version_number: u8,
+ pub current_next_indicator: gboolean,
+ pub section_number: u8,
+ pub last_section_number: u8,
+ pub crc: u32,
+ pub data: *mut u8,
+ pub section_length: c_uint,
+ pub cached_parsed: *mut gpointer,
+ pub destroy_parsed: glib::GDestroyNotify,
+ pub offset: u64,
+ pub short_section: gboolean,
+ pub packetizer: GstMpegtsPacketizeFunc,
+ pub _gst_reserved: [gpointer; 4],
+}
+
+#[repr(C)]
+pub struct GstMpegtsT2DeliverySystemCell {
+ pub cell_id: u16,
+ pub centre_frequencies: *mut glib::GArray,
+ pub sub_cells: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsT2DeliverySystemCellExtension {
+ pub cell_id_extension: u8,
+ pub transposer_frequency: u32,
+}
+
+#[repr(C)]
+pub struct GstMpegtsT2DeliverySystemDescriptor {
+ pub plp_id: u8,
+ pub t2_system_id: u16,
+ pub siso_miso: u8,
+ pub bandwidth: u32,
+ pub guard_interval: GstMpegtsTerrestrialGuardInterval,
+ pub transmission_mode: GstMpegtsTerrestrialTransmissionMode,
+ pub other_frequency: gboolean,
+ pub tfs: gboolean,
+ pub cells: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsTOT {
+ pub utc_time: *mut gst::GstDateTime,
+ pub descriptors: *mut glib::GPtrArray,
+}
+
+#[repr(C)]
+pub struct GstMpegtsTerrestrialDeliverySystemDescriptor {
+ pub frequency: u32,
+ pub bandwidth: u32,
+ pub priority: gboolean,
+ pub time_slicing: gboolean,
+ pub mpe_fec: gboolean,
+ pub constellation: GstMpegtsModulationType,
+ pub hierarchy: GstMpegtsTerrestrialHierarchy,
+ pub code_rate_hp: GstMpegtsDVBCodeRate,
+ pub code_rate_lp: GstMpegtsDVBCodeRate,
+ pub guard_interval: GstMpegtsTerrestrialGuardInterval,
+ pub transmission_mode: GstMpegtsTerrestrialTransmissionMode,
+ pub other_frequency: gboolean,
+}
+
+extern "C" {
+
+ //=========================================================================
+ // GstMpegtsAtscEIT
+ //=========================================================================
+ pub fn gst_mpegts_atsc_eit_get_type() -> GType;
+
+ //=========================================================================
+ // GstMpegtsAtscEITEvent
+ //=========================================================================
+ pub fn gst_mpegts_atsc_eit_event_get_type() -> GType;
+
+ //=========================================================================
+ // GstMpegtsAtscETT
+ //=========================================================================
+ pub fn gst_mpegts_atsc_ett_get_type() -> GType;
+
+ //=========================================================================
+ // GstMpegtsAtscMGT
+ //=========================================================================
+ pub fn gst_mpegts_atsc_mgt_get_type() -> GType;
+
+ //=========================================================================
+ // GstMpegtsAtscMGTTable
+ //=========================================================================
+ pub fn gst_mpegts_atsc_mgt_table_get_type() -> GType;
+
+ //=========================================================================
+ // GstMpegtsAtscMultString
+ //=========================================================================
+ pub fn gst_mpegts_atsc_mult_string_get_type() -> GType;
+
+ //=========================================================================
+ // GstMpegtsAtscSTT
+ //=========================================================================
+ pub fn gst_mpegts_atsc_stt_get_type() -> GType;
+ pub fn gst_mpegts_atsc_stt_get_datetime_utc(stt: *mut GstMpegtsAtscSTT) -> *mut gst::GstDateTime;
+
+ //=========================================================================
+ // GstMpegtsAtscStringSegment
+ //=========================================================================
+ pub fn gst_mpegts_atsc_string_segment_get_type() -> GType;
+ pub fn gst_mpegts_atsc_string_segment_get_string(seg: *mut GstMpegtsAtscStringSegment) -> *const c_char;
+
+ //=========================================================================
+ // GstMpegtsAtscVCT
+ //=========================================================================
+ pub fn gst_mpegts_atsc_vct_get_type() -> GType;
+
+ //=========================================================================
+ // GstMpegtsAtscVCTSource
+ //=========================================================================
+ pub fn gst_mpegts_atsc_vct_source_get_type() -> GType;
+
+ //=========================================================================
+ // GstMpegtsBAT
+ //=========================================================================
+ pub fn gst_mpegts_bat_get_type() -> GType;
+
+ //=========================================================================
+ // GstMpegtsBATStream
+ //=========================================================================
+ pub fn gst_mpegts_bat_stream_get_type() -> GType;
+
+ //=========================================================================
+ // GstMpegtsComponentDescriptor
+ //=========================================================================
+ pub fn gst_mpegts_component_descriptor_get_type() -> GType;
+
+ //=========================================================================
+ // GstMpegtsDVBLinkageDescriptor
+ //=========================================================================
+ pub fn gst_mpegts_dvb_linkage_descriptor_get_type() -> GType;
+ pub fn gst_mpegts_dvb_linkage_descriptor_free(source: *mut GstMpegtsDVBLinkageDescriptor);
+ pub fn gst_mpegts_dvb_linkage_descriptor_get_event(desc: *const GstMpegtsDVBLinkageDescriptor) -> *const GstMpegtsDVBLinkageEvent;
+ pub fn gst_mpegts_dvb_linkage_descriptor_get_extended_event(desc: *const GstMpegtsDVBLinkageDescriptor) -> *const glib::GPtrArray;
+ pub fn gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over(desc: *const GstMpegtsDVBLinkageDescriptor) -> *const GstMpegtsDVBLinkageMobileHandOver;
+
+ //=========================================================================
+ // GstMpegtsDataBroadcastDescriptor
+ //=========================================================================
+ pub fn gst_mpegts_dvb_data_broadcast_descriptor_get_type() -> GType;
+ pub fn gst_mpegts_dvb_data_broadcast_descriptor_free(source: *mut GstMpegtsDataBroadcastDescriptor);
+
+ //=========================================================================
+ // GstMpegtsDescriptor
+ //=========================================================================
+ pub fn gst_mpegts_descriptor_get_type() -> GType;
+ pub fn gst_mpegts_descriptor_free(desc: *mut GstMpegtsDescriptor);
+ pub fn gst_mpegts_descriptor_parse_ca(descriptor: *mut GstMpegtsDescriptor, ca_system_id: *mut u16, ca_pid: *mut u16, private_data: *mut *const u8, private_data_size: *mut size_t) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_cable_delivery_system(descriptor: *const GstMpegtsDescriptor, res: *mut GstMpegtsCableDeliverySystemDescriptor) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_bouquet_name(descriptor: *const GstMpegtsDescriptor, bouquet_name: *mut *mut c_char) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_ca_identifier(descriptor: *const GstMpegtsDescriptor, list: *mut *mut glib::GArray) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_component(descriptor: *const GstMpegtsDescriptor, res: *mut *mut GstMpegtsComponentDescriptor) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_content(descriptor: *const GstMpegtsDescriptor, content: *mut *mut glib::GPtrArray) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_data_broadcast(descriptor: *const GstMpegtsDescriptor, res: *mut *mut GstMpegtsDataBroadcastDescriptor) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_data_broadcast_id(descriptor: *const GstMpegtsDescriptor, data_broadcast_id: *mut u16, id_selector_bytes: *mut *mut u8, len: *mut u8) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_extended_event(descriptor: *const GstMpegtsDescriptor, res: *mut *mut GstMpegtsExtendedEventDescriptor) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_frequency_list(descriptor: *const GstMpegtsDescriptor, offset: *mut gboolean, list: *mut *mut glib::GArray) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_linkage(descriptor: *const GstMpegtsDescriptor, res: *mut *mut GstMpegtsDVBLinkageDescriptor) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name(descriptor: *const GstMpegtsDescriptor, bouquet_name_items: *mut *mut glib::GPtrArray) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_multilingual_component(descriptor: *const GstMpegtsDescriptor, component_tag: *mut u8, component_description_items: *mut *mut glib::GPtrArray) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_multilingual_network_name(descriptor: *const GstMpegtsDescriptor, network_name_items: *mut *mut glib::GPtrArray) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_multilingual_service_name(descriptor: *const GstMpegtsDescriptor, service_name_items: *mut *mut glib::GPtrArray) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_network_name(descriptor: *const GstMpegtsDescriptor, name: *mut *mut c_char) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_parental_rating(descriptor: *const GstMpegtsDescriptor, rating: *mut *mut glib::GPtrArray) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_private_data_specifier(descriptor: *const GstMpegtsDescriptor, private_data_specifier: *mut u32, private_data: *mut *mut u8, length: *mut u8) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_scrambling(descriptor: *const GstMpegtsDescriptor, scrambling_mode: *mut GstMpegtsDVBScramblingModeType) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_service(descriptor: *const GstMpegtsDescriptor, service_type: *mut GstMpegtsDVBServiceType, service_name: *mut *mut c_char, provider_name: *mut *mut c_char) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_service_list(descriptor: *const GstMpegtsDescriptor, list: *mut *mut glib::GPtrArray) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_short_event(descriptor: *const GstMpegtsDescriptor, language_code: *mut *mut c_char, event_name: *mut *mut c_char, text: *mut *mut c_char) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_stream_identifier(descriptor: *const GstMpegtsDescriptor, component_tag: *mut u8) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_stuffing(descriptor: *const GstMpegtsDescriptor, stuffing_bytes: *mut *mut u8) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_subtitling_idx(descriptor: *const GstMpegtsDescriptor, idx: c_uint, lang: *mut *mut c_char, type_: *mut u8, composition_page_id: *mut u16, ancillary_page_id: *mut u16) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_subtitling_nb(descriptor: *const GstMpegtsDescriptor) -> c_uint;
+ pub fn gst_mpegts_descriptor_parse_dvb_t2_delivery_system(descriptor: *const GstMpegtsDescriptor, res: *mut *mut GstMpegtsT2DeliverySystemDescriptor) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_teletext_idx(descriptor: *const GstMpegtsDescriptor, idx: c_uint, language_code: *mut *mut c_char, teletext_type: *mut GstMpegtsDVBTeletextType, magazine_number: *mut u8, page_number: *mut u8) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_dvb_teletext_nb(descriptor: *const GstMpegtsDescriptor) -> c_uint;
+ pub fn gst_mpegts_descriptor_parse_iso_639_language(descriptor: *const GstMpegtsDescriptor, res: *mut *mut GstMpegtsISO639LanguageDescriptor) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_iso_639_language_idx(descriptor: *const GstMpegtsDescriptor, idx: c_uint, lang: *mut *mut c_char, audio_type: *mut GstMpegtsIso639AudioType) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_iso_639_language_nb(descriptor: *const GstMpegtsDescriptor) -> c_uint;
+ pub fn gst_mpegts_descriptor_parse_logical_channel(descriptor: *const GstMpegtsDescriptor, res: *mut GstMpegtsLogicalChannelDescriptor) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_satellite_delivery_system(descriptor: *const GstMpegtsDescriptor, res: *mut GstMpegtsSatelliteDeliverySystemDescriptor) -> gboolean;
+ pub fn gst_mpegts_descriptor_parse_terrestrial_delivery_system(descriptor: *const GstMpegtsDescriptor, res: *mut GstMpegtsTerrestrialDeliverySystemDescriptor) -> gboolean;
+ pub fn gst_mpegts_descriptor_from_custom(tag: u8, data: *const u8, length: size_t) -> *mut GstMpegtsDescriptor;
+ pub fn gst_mpegts_descriptor_from_custom_with_extension(tag: u8, tag_extension: u8, data: *const u8, length: size_t) -> *mut GstMpegtsDescriptor;
+ pub fn gst_mpegts_descriptor_from_dvb_network_name(name: *const c_char) -> *mut GstMpegtsDescriptor;
+ pub fn gst_mpegts_descriptor_from_dvb_service(service_type: GstMpegtsDVBServiceType, service_name: *const c_char, service_provider: *const c_char) -> *mut GstMpegtsDescriptor;
+ pub fn gst_mpegts_descriptor_from_dvb_subtitling(lang: *const c_char, type_: u8, composition: u16, ancillary: u16) -> *mut GstMpegtsDescriptor;
+ pub fn gst_mpegts_descriptor_from_iso_639_language(language: *const c_char) -> *mut GstMpegtsDescriptor;
+ pub fn gst_mpegts_descriptor_from_registration(format_identifier: *const c_char, additional_info: *mut u8, additional_info_length: size_t) -> *mut GstMpegtsDescriptor;
+
+ //=========================================================================
+ // GstMpegtsEIT
+ //=========================================================================
+ pub fn gst_mpegts_eit_get_type() -> GType;
+
+ //=========================================================================
+ // GstMpegtsEITEvent
+ //=========================================================================
+ pub fn gst_mpegts_eit_event_get_type() -> GType;
+
+ //=========================================================================
+ // GstMpegtsExtendedEventDescriptor
+ //=========================================================================
+ pub fn gst_mpegts_extended_event_descriptor_get_type() -> GType;
+ pub fn gst_mpegts_extended_event_descriptor_free(source: *mut GstMpegtsExtendedEventDescriptor);
+
+ //=========================================================================
+ // GstMpegtsISO639LanguageDescriptor
+ //=========================================================================
+ pub fn gst_mpegts_iso_639_language_get_type() -> GType;
+ pub fn gst_mpegts_iso_639_language_descriptor_free(desc: *mut GstMpegtsISO639LanguageDescriptor);
+
+ //=========================================================================
+ // GstMpegtsNIT
+ //=========================================================================
+ pub fn gst_mpegts_nit_get_type() -> GType;
+ pub fn gst_mpegts_nit_new() -> *mut GstMpegtsNIT;
+
+ //=========================================================================
+ // GstMpegtsNITStream
+ //=========================================================================
+ pub fn gst_mpegts_nit_stream_get_type() -> GType;
+ pub fn gst_mpegts_nit_stream_new() -> *mut GstMpegtsNITStream;
+
+ //=========================================================================
+ // GstMpegtsPMT
+ //=========================================================================
+ pub fn gst_mpegts_pmt_get_type() -> GType;
+ pub fn gst_mpegts_pmt_new() -> *mut GstMpegtsPMT;
+
+ //=========================================================================
+ // GstMpegtsPMTStream
+ //=========================================================================
+ pub fn gst_mpegts_pmt_stream_get_type() -> GType;
+ pub fn gst_mpegts_pmt_stream_new() -> *mut GstMpegtsPMTStream;
+
+ //=========================================================================
+ // GstMpegtsPatProgram
+ //=========================================================================
+ pub fn gst_mpegts_pat_program_get_type() -> GType;
+ pub fn gst_mpegts_pat_program_new() -> *mut GstMpegtsPatProgram;
+
+ //=========================================================================
+ // GstMpegtsSDT
+ //=========================================================================
+ pub fn gst_mpegts_sdt_get_type() -> GType;
+ pub fn gst_mpegts_sdt_new() -> *mut GstMpegtsSDT;
+
+ //=========================================================================
+ // GstMpegtsSDTService
+ //=========================================================================
+ pub fn gst_mpegts_sdt_service_get_type() -> GType;
+ pub fn gst_mpegts_sdt_service_new() -> *mut GstMpegtsSDTService;
+
+ //=========================================================================
+ // GstMpegtsSection
+ //=========================================================================
+ pub fn gst_mpegts_section_get_type() -> GType;
+ pub fn gst_mpegts_section_new(pid: u16, data: *mut u8, data_size: size_t) -> *mut GstMpegtsSection;
+ pub fn gst_mpegts_section_get_atsc_cvct(section: *mut GstMpegtsSection) -> *const GstMpegtsAtscVCT;
+ pub fn gst_mpegts_section_get_atsc_eit(section: *mut GstMpegtsSection) -> *const GstMpegtsAtscEIT;
+ pub fn gst_mpegts_section_get_atsc_ett(section: *mut GstMpegtsSection) -> *const GstMpegtsAtscETT;
+ pub fn gst_mpegts_section_get_atsc_mgt(section: *mut GstMpegtsSection) -> *const GstMpegtsAtscMGT;
+ pub fn gst_mpegts_section_get_atsc_stt(section: *mut GstMpegtsSection) -> *const GstMpegtsAtscSTT;
+ pub fn gst_mpegts_section_get_atsc_tvct(section: *mut GstMpegtsSection) -> *const GstMpegtsAtscVCT;
+ pub fn gst_mpegts_section_get_bat(section: *mut GstMpegtsSection) -> *const GstMpegtsBAT;
+ pub fn gst_mpegts_section_get_cat(section: *mut GstMpegtsSection) -> *mut glib::GPtrArray;
+ pub fn gst_mpegts_section_get_data(section: *mut GstMpegtsSection) -> *mut glib::GBytes;
+ pub fn gst_mpegts_section_get_eit(section: *mut GstMpegtsSection) -> *const GstMpegtsEIT;
+ pub fn gst_mpegts_section_get_nit(section: *mut GstMpegtsSection) -> *const GstMpegtsNIT;
+ pub fn gst_mpegts_section_get_pat(section: *mut GstMpegtsSection) -> *mut glib::GPtrArray;
+ pub fn gst_mpegts_section_get_pmt(section: *mut GstMpegtsSection) -> *const GstMpegtsPMT;
+ pub fn gst_mpegts_section_get_sdt(section: *mut GstMpegtsSection) -> *const GstMpegtsSDT;
+ pub fn gst_mpegts_section_get_tdt(section: *mut GstMpegtsSection) -> *mut gst::GstDateTime;
+ pub fn gst_mpegts_section_get_tot(section: *mut GstMpegtsSection) -> *const GstMpegtsTOT;
+ pub fn gst_mpegts_section_get_tsdt(section: *mut GstMpegtsSection) -> *mut glib::GPtrArray;
+ pub fn gst_mpegts_section_packetize(section: *mut GstMpegtsSection, output_size: *mut size_t) -> *mut u8;
+ pub fn gst_mpegts_section_send_event(section: *mut GstMpegtsSection, element: *mut gst::GstElement) -> gboolean;
+ pub fn gst_mpegts_section_from_nit(nit: *mut GstMpegtsNIT) -> *mut GstMpegtsSection;
+ pub fn gst_mpegts_section_from_pat(programs: *mut glib::GPtrArray, ts_id: u16) -> *mut GstMpegtsSection;
+ pub fn gst_mpegts_section_from_pmt(pmt: *mut GstMpegtsPMT, pid: u16) -> *mut GstMpegtsSection;
+ pub fn gst_mpegts_section_from_sdt(sdt: *mut GstMpegtsSDT) -> *mut GstMpegtsSection;
+
+ //=========================================================================
+ // GstMpegtsT2DeliverySystemDescriptor
+ //=========================================================================
+ pub fn gst_mpegts_t2_delivery_system_descriptor_get_type() -> GType;
+ pub fn gst_mpegts_t2_delivery_system_descriptor_free(source: *mut GstMpegtsT2DeliverySystemDescriptor);
+
+ //=========================================================================
+ // GstMpegtsTOT
+ //=========================================================================
+ pub fn gst_mpegts_tot_get_type() -> GType;
+
+ //=========================================================================
+ // Other functions
+ //=========================================================================
+ pub fn gst_mpegts_dvb_component_descriptor_free(source: *mut GstMpegtsComponentDescriptor);
+ pub fn gst_event_parse_mpegts_section(event: *mut gst::GstEvent) -> *mut GstMpegtsSection;
+ pub fn gst_mpegts_find_descriptor(descriptors: *mut glib::GPtrArray, tag: u8) -> *const GstMpegtsDescriptor;
+ pub fn gst_mpegts_initialize();
+ pub fn gst_message_new_mpegts_section(parent: *mut gst::GstObject, section: *mut GstMpegtsSection) -> *mut gst::GstMessage;
+ pub fn gst_message_parse_mpegts_section(message: *mut gst::GstMessage) -> *mut GstMpegtsSection;
+ pub fn gst_mpegts_parse_descriptors(buffer: *mut u8, buf_len: size_t) -> *mut glib::GPtrArray;
+ pub fn gst_mpegts_pat_new() -> *mut glib::GPtrArray;
+
+}