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; + +}