<SECTION>
<FILE>gstmpegtsdescriptor</FILE>
<SUBSECTION Common>
-GstMpegTsDescriptor
-GstMpegTsDescriptorType
-GstMpegTsMiscDescriptorType
+GstMpegtsDescriptor
+GstMpegtsDescriptorType
+GstMpegtsMiscDescriptorType
gst_mpegts_find_descriptor
gst_mpegts_parse_descriptors
gst_mpegts_descriptor_from_custom
<SUBSECTION registration>
gst_mpegts_descriptor_from_registration
<SUBSECTION iso639>
-GstMpegTsISO639LanguageDescriptor
-GstMpegTsIso639AudioType
+GstMpegtsISO639LanguageDescriptor
+GstMpegtsIso639AudioType
gst_mpegts_descriptor_parse_iso_639_language
gst_mpegts_descriptor_parse_iso_639_language_idx
gst_mpegts_descriptor_parse_iso_639_language_nb
gst_mpegts_iso_639_language_descriptor_free
<SUBSECTION logical_channel>
-GstMpegTsLogicalChannel
-GstMpegTsLogicalChannelDescriptor
+GstMpegtsLogicalChannel
+GstMpegtsLogicalChannelDescriptor
gst_mpegts_descriptor_parse_logical_channel
<SUBSECTION Standard>
-GST_TYPE_MPEG_TS_DVB_CODE_RATE
-GST_TYPE_MPEG_TS_CABLE_OUTER_FEC_SCHEME
-GST_TYPE_MPEG_TS_MODULATION_TYPE
-GST_TYPE_MPEG_TS_SATELLITE_POLARIZATION_TYPE
-GST_TYPE_MPEG_TS_SATELLITE_ROLLOFF
+GST_TYPE_MPEGTS_DVB_CODE_RATE
+GST_TYPE_MPEGTS_CABLE_OUTER_FEC_SCHEME
+GST_TYPE_MPEGTS_MODULATION_TYPE
+GST_TYPE_MPEGTS_SATELLITE_POLARIZATION_TYPE
+GST_TYPE_MPEGTS_SATELLITE_ROLLOFF
GST_TYPE_MPEGTS_ISO_639_LANGUAGE
GST_TYPE_MPEGTS_DESCRIPTOR
-GST_TYPE_MPEG_TS_DVB_SERVICE_TYPE
-GST_TYPE_MPEG_TS_DESCRIPTOR_TYPE
-GST_TYPE_MPEG_TS_ISO639_AUDIO_TYPE
-GST_TYPE_MPEG_TS_ATSC_DESCRIPTOR_TYPE
-GST_TYPE_MPEG_TS_DVB_DESCRIPTOR_TYPE
-GST_TYPE_MPEG_TS_ISDB_DESCRIPTOR_TYPE
-GST_TYPE_MPEG_TS_MISC_DESCRIPTOR_TYPE
+GST_TYPE_MPEGTS_DVB_SERVICE_TYPE
+GST_TYPE_MPEGTS_DESCRIPTOR_TYPE
+GST_TYPE_MPEGTS_ISO639_AUDIO_TYPE
+GST_TYPE_MPEGTS_ATSC_DESCRIPTOR_TYPE
+GST_TYPE_MPEGTS_DVB_DESCRIPTOR_TYPE
+GST_TYPE_MPEGTS_ISDB_DESCRIPTOR_TYPE
+GST_TYPE_MPEGTS_MISC_DESCRIPTOR_TYPE
gst_mpegts_descriptor_get_type
gst_mpegts_iso_639_language_get_type
-gst_mpeg_ts_cable_outer_fec_scheme_get_type
-gst_mpeg_ts_modulation_type_get_type
-gst_mpeg_ts_satellite_polarization_type_get_type
-gst_mpeg_ts_satellite_rolloff_get_type
-gst_mpeg_ts_dvb_code_rate_get_type
-gst_mpeg_ts_descriptor_type_get_type
-gst_mpeg_ts_atsc_descriptor_type_get_type
-gst_mpeg_ts_dvb_descriptor_type_get_type
-gst_mpeg_ts_isdb_descriptor_type_get_type
-gst_mpeg_ts_misc_descriptor_type_get_type
-gst_mpeg_ts_iso639_audio_type_get_type
-gst_mpeg_ts_dvb_service_type_get_type
+gst_mpegts_cable_outer_fec_scheme_get_type
+gst_mpegts_modulation_type_get_type
+gst_mpegts_satellite_polarization_type_get_type
+gst_mpegts_satellite_rolloff_get_type
+gst_mpegts_dvb_code_rate_get_type
+gst_mpegts_descriptor_type_get_type
+gst_mpegts_atsc_descriptor_type_get_type
+gst_mpegts_dvb_descriptor_type_get_type
+gst_mpegts_isdb_descriptor_type_get_type
+gst_mpegts_misc_descriptor_type_get_type
+gst_mpegts_iso639_audio_type_get_type
+gst_mpegts_dvb_service_type_get_type
</SECTION>
<SECTION>
<FILE>gst-atsc-descriptor</FILE>
-GstMpegTsATSCDescriptorType
+GstMpegtsATSCDescriptorType
<SUBSECTION Standard>
-GST_TYPE_MPEG_TS_ATSC_DESCRIPTOR_TYPE
-gst_mpeg_ts_atsc_descriptor_type_get_type
+GST_TYPE_MPEGTS_ATSC_DESCRIPTOR_TYPE
+gst_mpegts_atsc_descriptor_type_get_type
</SECTION>
<SECTION>
<FILE>gst-dvb-descriptor</FILE>
-GstMpegTsDVBDescriptorType
-GstMpegTsDVBExtendedDescriptorType
+GstMpegtsDVBDescriptorType
+GstMpegtsDVBExtendedDescriptorType
<SUBSECTION content>
-GstMpegTsContent
+GstMpegtsContent
gst_mpegts_descriptor_parse_dvb_content
<SUBSECTION component>
-GstMpegTsComponentDescriptor
+GstMpegtsComponentDescriptor
gst_mpegts_descriptor_parse_dvb_component
<SUBSECTION extended_event>
-GstMpegTsExtendedEventItem
-GstMpegTsExtendedEventDescriptor
+GstMpegtsExtendedEventItem
+GstMpegtsExtendedEventDescriptor
gst_mpegts_descriptor_parse_dvb_extended_event
<SUBSECTION satellite_delivery>
-GstMpegTsSatelliteDeliverySystemDescriptor
-GstMpegTsDVBCodeRate
-GstMpegTsModulationType
-GstMpegTsSatellitePolarizationType
-GstMpegTsSatelliteRolloff
+GstMpegtsSatelliteDeliverySystemDescriptor
+GstMpegtsDVBCodeRate
+GstMpegtsModulationType
+GstMpegtsSatellitePolarizationType
+GstMpegtsSatelliteRolloff
gst_mpegts_descriptor_parse_satellite_delivery_system
<SUBSECTION cable_delivery>
-GstMpegTsCableDeliverySystemDescriptor
-GstMpegTsCableOuterFECScheme
+GstMpegtsCableDeliverySystemDescriptor
+GstMpegtsCableOuterFECScheme
gst_mpegts_descriptor_parse_cable_delivery_system
<SUBSECTION terrestrial_delivery>
-GstMpegTsTerrestrialDeliverySystemDescriptor
-GstMpegTsTerrestrialTransmissionMode
-GstMpegTsTerrestrialGuardInterval
-GstMpegTsTerrestrialHierarchy
-GstMpegTsModulationType
-GstMpegTsDVBCodeRate
+GstMpegtsTerrestrialDeliverySystemDescriptor
+GstMpegtsTerrestrialTransmissionMode
+GstMpegtsTerrestrialGuardInterval
+GstMpegtsTerrestrialHierarchy
+GstMpegtsModulationType
+GstMpegtsDVBCodeRate
gst_mpegts_descriptor_parse_terrestrial_delivery_system
<SUBSECTION t2_delivery>
-GstMpegTsT2DeliverySystemCellExtension
-GstMpegTsT2DeliverySystemCell
-GstMpegTsT2DeliverySystemDescriptor
+GstMpegtsT2DeliverySystemCellExtension
+GstMpegtsT2DeliverySystemCell
+GstMpegtsT2DeliverySystemDescriptor
gst_mpegts_descriptor_parse_dvb_t2_delivery_system
<SUBSECTION short_event>
gst_mpegts_descriptor_parse_dvb_short_event
gst_mpegts_descriptor_parse_dvb_network_name
gst_mpegts_descriptor_from_dvb_network_name
<SUBSECTION service>
-GstMpegTsDVBServiceType
+GstMpegtsDVBServiceType
gst_mpegts_descriptor_parse_dvb_service
gst_mpegts_descriptor_from_dvb_service
<SUBSECTION teletext>
-GstMpegTsDVBTeletextType
+GstMpegtsDVBTeletextType
gst_mpegts_descriptor_parse_dvb_teletext_idx
gst_mpegts_descriptor_parse_dvb_teletext_nb
<SUBSECTION subtitling>
gst_mpegts_descriptor_parse_dvb_subtitling_nb
gst_mpegts_descriptor_from_dvb_subtitling
<SUBSECTION linkage>
-GstMpegTsDVBLinkageType
-GstMpegTsDVBLinkageHandOverType
-GstMpegTsDVBLinkageMobileHandOver
-GstMpegTsDVBLinkageEvent
-GstMpegTsDVBLinkageExtendedEvent
-GstMpegTsDVBLinkageDescriptor
+GstMpegtsDVBLinkageType
+GstMpegtsDVBLinkageHandOverType
+GstMpegtsDVBLinkageMobileHandOver
+GstMpegtsDVBLinkageEvent
+GstMpegtsDVBLinkageExtendedEvent
+GstMpegtsDVBLinkageDescriptor
gst_mpegts_descriptor_parse_dvb_linkage
<SUBSECTION private_data_specifier>
gst_mpegts_descriptor_parse_dvb_private_data_specifier
<SUBSECTION frequency_list>
gst_mpegts_descriptor_parse_dvb_frequency_list
<SUBSECTION data_broadcast>
-GstMpegTsDataBroadcastDescriptor
+GstMpegtsDataBroadcastDescriptor
gst_mpegts_descriptor_parse_dvb_data_broadcast
<SUBSECTION scrambling>
-GstMpegTsDVBScramblingModeType
+GstMpegtsDVBScramblingModeType
gst_mpegts_descriptor_parse_dvb_scrambling
<SUBSECTION data_broadcast_id>
gst_mpegts_descriptor_parse_dvb_data_broadcast_id
<SUBSECTION parental_rating>
-GstMpegTsDVBParentalRatingItem
+GstMpegtsDVBParentalRatingItem
gst_mpegts_descriptor_parse_dvb_parental_rating
<SUBSECTION stream_identifier>
gst_mpegts_descriptor_parse_dvb_stream_identifier
<SUBSECTION ca_identifier>
gst_mpegts_descriptor_parse_dvb_ca_identifier
<SUBSECTION service_list>
-GstMpegTsDVBServiceListItem
+GstMpegtsDVBServiceListItem
gst_mpegts_descriptor_parse_dvb_service_list
<SUBSECTION stuffing>
gst_mpegts_descriptor_parse_dvb_stuffing
<SUBSECTION bouquet_name>
gst_mpegts_descriptor_parse_dvb_bouquet_name
<SUBSECTION multilingual_network_name>
-GstMpegTsDvbMultilingualNetworkNameItem
+GstMpegtsDvbMultilingualNetworkNameItem
gst_mpegts_descriptor_parse_dvb_multilingual_network_name
<SUBSECTION multilingual_bouquet_name>
-GstMpegTsDvbMultilingualBouquetNameItem
+GstMpegtsDvbMultilingualBouquetNameItem
gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name
<SUBSECTION multilingual_service_name>
-GstMpegTsDvbMultilingualServiceNameItem
+GstMpegtsDvbMultilingualServiceNameItem
gst_mpegts_descriptor_parse_dvb_multilingual_service_name
<SUBSECTION multilingual_component>
-GstMpegTsDvbMultilingualComponentItem
+GstMpegtsDvbMultilingualComponentItem
gst_mpegts_descriptor_parse_dvb_multilingual_component
<SUBSECTION Standard>
-GST_TYPE_MPEG_TS_DVB_CODE_RATE
+GST_TYPE_MPEGTS_DVB_CODE_RATE
GST_TYPE_MPEGTS_COMPONENT_DESCRIPTOR
GST_TYPE_MPEGTS_DVB_DATA_BROADCAST_DESCRIPTOR
GST_TYPE_MPEGTS_DVB_LINKAGE_DESCRIPTOR
<SECTION>
<FILE>gst-isdb-descriptor</FILE>
-GstMpegTsISDBDescriptorType
+GstMpegtsISDBDescriptorType
<SUBSECTION Standard>
-GST_TYPE_MPEG_TS_ISDB_DESCRIPTOR_TYPE
-gst_mpeg_ts_isdb_descriptor_type_get_type
+GST_TYPE_MPEGTS_ISDB_DESCRIPTOR_TYPE
+gst_mpegts_isdb_descriptor_type_get_type
</SECTION>
<SECTION>
<FILE>gstmpegtssection</FILE>
<SUBSECTION section>
GST_MPEGTS_SECTION_TYPE
-GstMpegTsSection
-GstMpegTsSectionTableID
-GstMpegTsSectionType
+GstMpegtsSection
+GstMpegtsSectionTableID
+GstMpegtsSectionType
gst_message_new_mpegts_section
gst_message_parse_mpegts_section
gst_mpegts_section_send_event
gst_mpegts_section_ref
gst_mpegts_section_unref
<SUBSECTION PAT>
-GstMpegTsPatProgram
+GstMpegtsPatProgram
gst_mpegts_section_get_pat
gst_mpegts_pat_new
gst_mpegts_pat_program_new
gst_mpegts_section_from_pat
<SUBSECTION PMT>
-GstMpegTsPMT
-GstMpegTsPMTStream
-GstMpegTsStreamType
+GstMpegtsPMT
+GstMpegtsPMTStream
+GstMpegtsStreamType
gst_mpegts_section_get_pmt
gst_mpegts_pmt_new
gst_mpegts_pmt_stream_new
<SUBSECTION CAT>
gst_mpegts_section_get_cat
<SUBSECTION Standard>
-GST_TYPE_MPEG_TS_SECTION_TABLE_ID
-GST_TYPE_MPEG_TS_SECTION_TYPE
-GST_TYPE_MPEG_TS_SECTION_DVB_TABLE_ID
+GST_TYPE_MPEGTS_SECTION_TABLE_ID
+GST_TYPE_MPEGTS_SECTION_TYPE
+GST_TYPE_MPEGTS_SECTION_DVB_TABLE_ID
GST_MPEGTS_SECTION
-GST_TYPE_MPEG_TS_STREAM_TYPE
+GST_TYPE_MPEGTS_STREAM_TYPE
GST_TYPE_MPEGTS_PMT
GST_TYPE_MPEGTS_PMT_STREAM
GST_TYPE_MPEGTS_SECTION
-gst_mpeg_ts_section_table_id_get_type
-gst_mpeg_ts_section_type_get_type
+gst_mpegts_section_table_id_get_type
+gst_mpegts_section_type_get_type
gst_mpegts_pmt_get_type
gst_mpegts_pmt_stream_get_type
gst_mpegts_section_get_type
-gst_mpeg_ts_stream_type_get_type
+gst_mpegts_stream_type_get_type
</SECTION>
<SECTION>
<FILE>gst-atsc-section</FILE>
-GstMpegTsSectionATSCTableID
-GstMpegTsAtscVCTSource
-GstMpegTsAtscVCT
+GstMpegtsSectionATSCTableID
+GstMpegtsAtscVCTSource
+GstMpegtsAtscVCT
gst_mpegts_section_get_atsc_tvct
gst_mpegts_section_get_atsc_cvct
-GstMpegTsAtscMGTTableType
-GstMpegTsAtscMGTTable
-GstMpegTsAtscMGT
+GstMpegtsAtscMGTTableType
+GstMpegtsAtscMGTTable
+GstMpegtsAtscMGT
gst_mpegts_section_get_atsc_mgt
gst_mpegts_atsc_string_segment_get_string
-GstMpegTsAtscMultString
-GstMpegTsAtscEITEvent
-GstMpegTsAtscEIT
+GstMpegtsAtscMultString
+GstMpegtsAtscEITEvent
+GstMpegtsAtscEIT
gst_mpegts_section_get_atsc_eit
-GstMpegTsAtscETT
+GstMpegtsAtscETT
gst_mpegts_section_get_atsc_ett
-GstMpegTsAtscSTT
+GstMpegtsAtscSTT
gst_mpegts_section_get_atsc_stt
gst_mpegts_atsc_stt_get_datetime_utc
<SUBSECTION Standard>
GST_TYPE_MPEGTS_ATSC_STT
GST_TYPE_MPEGTS_ATSC_VCT
GST_TYPE_MPEGTS_ATSC_VCT_SOURCE
-GstMpegTsAtscStringSegment
+GstMpegtsAtscStringSegment
gst_mpegts_atsc_eit_event_get_type
gst_mpegts_atsc_eit_get_type
gst_mpegts_atsc_ett_get_type
<SECTION>
<FILE>gst-dvb-section</FILE>
-GstMpegTsSectionDVBTableID
+GstMpegtsSectionDVBTableID
<SUBSECTION NIT>
-GstMpegTsNIT
-GstMpegTsNITStream
+GstMpegtsNIT
+GstMpegtsNITStream
gst_mpegts_section_get_nit
gst_mpegts_nit_new
gst_mpegts_nit_stream_new
gst_mpegts_section_from_nit
<SUBSECTION BAT>
-GstMpegTsBAT
-GstMpegTsBATStream
+GstMpegtsBAT
+GstMpegtsBATStream
gst_mpegts_section_get_bat
<SUBSECTION SDT>
-GstMpegTsSDT
-GstMpegTsSDTService
+GstMpegtsSDT
+GstMpegtsSDTService
gst_mpegts_section_get_sdt
gst_mpegts_sdt_new
gst_mpegts_sdt_service_new
gst_mpegts_section_from_sdt
<SUBSECTION EIT>
-GstMpegTsEIT
-GstMpegTsEITEvent
-GstMpegTsRunningStatus
+GstMpegtsEIT
+GstMpegtsEITEvent
+GstMpegtsRunningStatus
gst_mpegts_section_get_eit
<SUBSECTION TDT>
gst_mpegts_section_get_tdt
<SUBSECTION TOT>
-GstMpegTsTOT
+GstMpegtsTOT
gst_mpegts_section_get_tot
<SUBSECTION Standard>
GST_TYPE_MPEGTS_BAT
GST_TYPE_MPEGTS_SDT
GST_TYPE_MPEGTS_SDT_SERVICE
GST_TYPE_MPEGTS_TOT
-GST_TYPE_MPEG_TS_SECTION_DVB_TABLE_ID
-GST_TYPE_MPEG_TS_RUNNING_STATUS
-gst_mpeg_ts_running_status_get_type
-gst_mpeg_ts_section_dvb_table_id_get_type
+GST_TYPE_MPEGTS_SECTION_DVB_TABLE_ID
+GST_TYPE_MPEGTS_RUNNING_STATUS
+gst_mpegts_running_status_get_type
+gst_mpegts_section_dvb_table_id_get_type
gst_mpegts_bat_stream_get_type
gst_mpegts_bat_get_type
gst_mpegts_eit_event_get_type
#include <gst/gl/gl.h>
gst_mpegts_section_get_type
-gst_mpeg_ts_section_type_get_type
-gst_mpeg_ts_section_table_id_get_type
+gst_mpegts_section_type_get_type
+gst_mpegts_section_table_id_get_type
gst_mpegts_descriptor_get_type
-gst_mpeg_ts_cable_outer_fec_scheme_get_type
-gst_mpeg_ts_modulation_type_get_type
-gst_mpeg_ts_satellite_polarization_type_get_type
-gst_mpeg_ts_satellite_rolloff_get_type
-gst_mpeg_ts_dvb_code_rate_get_type
-gst_mpeg_ts_descriptor_type_get_type
-gst_mpeg_ts_iso639_audio_type_get_type
-gst_mpeg_ts_running_status_get_type
-gst_mpeg_ts_dvb_service_type_get_type
-gst_mpeg_ts_stream_type_get_type
+gst_mpegts_cable_outer_fec_scheme_get_type
+gst_mpegts_modulation_type_get_type
+gst_mpegts_satellite_polarization_type_get_type
+gst_mpegts_satellite_rolloff_get_type
+gst_mpegts_dvb_code_rate_get_type
+gst_mpegts_descriptor_type_get_type
+gst_mpegts_iso639_audio_type_get_type
+gst_mpegts_running_status_get_type
+gst_mpegts_dvb_service_type_get_type
+gst_mpegts_stream_type_get_type
gst_insert_bin_get_type
GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
$(INTROSPECTION_SCANNER) -v --namespace GstMpegts \
--nsversion=@GST_API_VERSION@ \
- --identifier-prefix=GstMpegTs \
+ --identifier-prefix=GstMpegts \
--symbol-prefix=gst_mpegts \
--symbol-prefix=gst \
--warn-all -v \
*/
/* Terrestrial/Cable Virtual Channel Table TVCT/CVCT */
-static GstMpegTsAtscVCTSource *
-_gst_mpegts_atsc_vct_source_copy (GstMpegTsAtscVCTSource * source)
+static GstMpegtsAtscVCTSource *
+_gst_mpegts_atsc_vct_source_copy (GstMpegtsAtscVCTSource * source)
{
- GstMpegTsAtscVCTSource *copy;
+ GstMpegtsAtscVCTSource *copy;
- copy = g_slice_dup (GstMpegTsAtscVCTSource, source);
+ copy = g_slice_dup (GstMpegtsAtscVCTSource, source);
copy->descriptors = g_ptr_array_ref (source->descriptors);
return copy;
}
static void
-_gst_mpegts_atsc_vct_source_free (GstMpegTsAtscVCTSource * source)
+_gst_mpegts_atsc_vct_source_free (GstMpegtsAtscVCTSource * source)
{
if (source->descriptors)
g_ptr_array_unref (source->descriptors);
- g_slice_free (GstMpegTsAtscVCTSource, source);
+ g_slice_free (GstMpegtsAtscVCTSource, source);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsAtscVCTSource, gst_mpegts_atsc_vct_source,
+G_DEFINE_BOXED_TYPE (GstMpegtsAtscVCTSource, gst_mpegts_atsc_vct_source,
(GBoxedCopyFunc) _gst_mpegts_atsc_vct_source_copy,
(GFreeFunc) _gst_mpegts_atsc_vct_source_free);
-static GstMpegTsAtscVCT *
-_gst_mpegts_atsc_vct_copy (GstMpegTsAtscVCT * vct)
+static GstMpegtsAtscVCT *
+_gst_mpegts_atsc_vct_copy (GstMpegtsAtscVCT * vct)
{
- GstMpegTsAtscVCT *copy;
+ GstMpegtsAtscVCT *copy;
- copy = g_slice_dup (GstMpegTsAtscVCT, vct);
+ copy = g_slice_dup (GstMpegtsAtscVCT, vct);
copy->sources = g_ptr_array_ref (vct->sources);
copy->descriptors = g_ptr_array_ref (vct->descriptors);
}
static void
-_gst_mpegts_atsc_vct_free (GstMpegTsAtscVCT * vct)
+_gst_mpegts_atsc_vct_free (GstMpegtsAtscVCT * vct)
{
if (vct->sources)
g_ptr_array_unref (vct->sources);
if (vct->descriptors)
g_ptr_array_unref (vct->descriptors);
- g_slice_free (GstMpegTsAtscVCT, vct);
+ g_slice_free (GstMpegtsAtscVCT, vct);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsAtscVCT, gst_mpegts_atsc_vct,
+G_DEFINE_BOXED_TYPE (GstMpegtsAtscVCT, gst_mpegts_atsc_vct,
(GBoxedCopyFunc) _gst_mpegts_atsc_vct_copy,
(GFreeFunc) _gst_mpegts_atsc_vct_free);
static gpointer
-_parse_atsc_vct (GstMpegTsSection * section)
+_parse_atsc_vct (GstMpegtsSection * section)
{
- GstMpegTsAtscVCT *vct = NULL;
+ GstMpegtsAtscVCT *vct = NULL;
guint8 *data, *end, source_nb;
guint32 tmp32;
guint16 descriptors_loop_length, tmp16;
guint i;
GError *err = NULL;
- vct = g_slice_new0 (GstMpegTsAtscVCT);
+ vct = g_slice_new0 (GstMpegtsAtscVCT);
data = section->data;
end = data + section->section_length;
(GDestroyNotify) _gst_mpegts_atsc_vct_source_free);
for (i = 0; i < source_nb; i++) {
- GstMpegTsAtscVCTSource *source;
+ GstMpegtsAtscVCTSource *source;
/* minimum 32 bytes for a entry, 2 bytes second descriptor
loop-length, 4 bytes crc */
if (end - data < 32 + 2 + 4)
goto error;
- source = g_slice_new0 (GstMpegTsAtscVCTSource);
+ source = g_slice_new0 (GstMpegtsAtscVCTSource);
g_ptr_array_add (vct->sources, source);
source->short_name =
/**
* gst_mpegts_section_get_atsc_tvct:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_ATSC_TVCT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_TVCT
*
- * Returns the #GstMpegTsAtscVCT contained in the @section
+ * Returns the #GstMpegtsAtscVCT contained in the @section
*
- * Returns: The #GstMpegTsAtscVCT contained in the section, or %NULL if an error
+ * Returns: The #GstMpegtsAtscVCT contained in the section, or %NULL if an error
* happened.
*/
-const GstMpegTsAtscVCT *
-gst_mpegts_section_get_atsc_tvct (GstMpegTsSection * section)
+const GstMpegtsAtscVCT *
+gst_mpegts_section_get_atsc_tvct (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_ATSC_TVCT,
NULL);
__common_section_checks (section, 16, _parse_atsc_vct,
(GDestroyNotify) _gst_mpegts_atsc_vct_free);
- return (const GstMpegTsAtscVCT *) section->cached_parsed;
+ return (const GstMpegtsAtscVCT *) section->cached_parsed;
}
/**
* gst_mpegts_section_get_atsc_cvct:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_ATSC_CVCT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_CVCT
*
- * Returns the #GstMpegTsAtscVCT contained in the @section
+ * Returns the #GstMpegtsAtscVCT contained in the @section
*
- * Returns: The #GstMpegTsAtscVCT contained in the section, or %NULL if an error
+ * Returns: The #GstMpegtsAtscVCT contained in the section, or %NULL if an error
* happened.
*/
-const GstMpegTsAtscVCT *
-gst_mpegts_section_get_atsc_cvct (GstMpegTsSection * section)
+const GstMpegtsAtscVCT *
+gst_mpegts_section_get_atsc_cvct (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_ATSC_CVCT,
NULL);
__common_section_checks (section, 16, _parse_atsc_vct,
(GDestroyNotify) _gst_mpegts_atsc_vct_free);
- return (const GstMpegTsAtscVCT *) section->cached_parsed;
+ return (const GstMpegtsAtscVCT *) section->cached_parsed;
}
/* MGT */
-static GstMpegTsAtscMGTTable *
-_gst_mpegts_atsc_mgt_table_copy (GstMpegTsAtscMGTTable * mgt_table)
+static GstMpegtsAtscMGTTable *
+_gst_mpegts_atsc_mgt_table_copy (GstMpegtsAtscMGTTable * mgt_table)
{
- GstMpegTsAtscMGTTable *copy;
+ GstMpegtsAtscMGTTable *copy;
- copy = g_slice_dup (GstMpegTsAtscMGTTable, mgt_table);
+ copy = g_slice_dup (GstMpegtsAtscMGTTable, mgt_table);
copy->descriptors = g_ptr_array_ref (mgt_table->descriptors);
return copy;
}
static void
-_gst_mpegts_atsc_mgt_table_free (GstMpegTsAtscMGTTable * mgt_table)
+_gst_mpegts_atsc_mgt_table_free (GstMpegtsAtscMGTTable * mgt_table)
{
g_ptr_array_unref (mgt_table->descriptors);
- g_slice_free (GstMpegTsAtscMGTTable, mgt_table);
+ g_slice_free (GstMpegtsAtscMGTTable, mgt_table);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsAtscMGTTable, gst_mpegts_atsc_mgt_table,
+G_DEFINE_BOXED_TYPE (GstMpegtsAtscMGTTable, gst_mpegts_atsc_mgt_table,
(GBoxedCopyFunc) _gst_mpegts_atsc_mgt_table_copy,
(GFreeFunc) _gst_mpegts_atsc_mgt_table_free);
-static GstMpegTsAtscMGT *
-_gst_mpegts_atsc_mgt_copy (GstMpegTsAtscMGT * mgt)
+static GstMpegtsAtscMGT *
+_gst_mpegts_atsc_mgt_copy (GstMpegtsAtscMGT * mgt)
{
- GstMpegTsAtscMGT *copy;
+ GstMpegtsAtscMGT *copy;
- copy = g_slice_dup (GstMpegTsAtscMGT, mgt);
+ copy = g_slice_dup (GstMpegtsAtscMGT, mgt);
copy->tables = g_ptr_array_ref (mgt->tables);
copy->descriptors = g_ptr_array_ref (mgt->descriptors);
}
static void
-_gst_mpegts_atsc_mgt_free (GstMpegTsAtscMGT * mgt)
+_gst_mpegts_atsc_mgt_free (GstMpegtsAtscMGT * mgt)
{
g_ptr_array_unref (mgt->tables);
g_ptr_array_unref (mgt->descriptors);
- g_slice_free (GstMpegTsAtscMGT, mgt);
+ g_slice_free (GstMpegtsAtscMGT, mgt);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsAtscMGT, gst_mpegts_atsc_mgt,
+G_DEFINE_BOXED_TYPE (GstMpegtsAtscMGT, gst_mpegts_atsc_mgt,
(GBoxedCopyFunc) _gst_mpegts_atsc_mgt_copy,
(GFreeFunc) _gst_mpegts_atsc_mgt_free);
static gpointer
-_parse_atsc_mgt (GstMpegTsSection * section)
+_parse_atsc_mgt (GstMpegtsSection * section)
{
- GstMpegTsAtscMGT *mgt = NULL;
+ GstMpegtsAtscMGT *mgt = NULL;
guint i = 0;
guint8 *data, *end;
guint16 descriptors_loop_length;
- mgt = g_slice_new0 (GstMpegTsAtscMGT);
+ mgt = g_slice_new0 (GstMpegtsAtscMGT);
data = section->data;
end = data + section->section_length;
mgt->tables = g_ptr_array_new_full (mgt->tables_defined,
(GDestroyNotify) _gst_mpegts_atsc_mgt_table_free);
for (i = 0; i < mgt->tables_defined && data + 11 < end; i++) {
- GstMpegTsAtscMGTTable *mgt_table;
+ GstMpegtsAtscMGTTable *mgt_table;
if (data + 11 >= end) {
GST_WARNING ("MGT data too short to parse inner table num %d", i);
goto error;
}
- mgt_table = g_slice_new0 (GstMpegTsAtscMGTTable);
+ mgt_table = g_slice_new0 (GstMpegtsAtscMGTTable);
g_ptr_array_add (mgt->tables, mgt_table);
mgt_table->table_type = GST_READ_UINT16_BE (data);
/**
* gst_mpegts_section_get_atsc_mgt:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_ATSC_MGT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_MGT
*
- * Returns the #GstMpegTsAtscMGT contained in the @section.
+ * Returns the #GstMpegtsAtscMGT contained in the @section.
*
- * Returns: The #GstMpegTsAtscMGT contained in the section, or %NULL if an error
+ * Returns: The #GstMpegtsAtscMGT contained in the section, or %NULL if an error
* happened.
*/
-const GstMpegTsAtscMGT *
-gst_mpegts_section_get_atsc_mgt (GstMpegTsSection * section)
+const GstMpegtsAtscMGT *
+gst_mpegts_section_get_atsc_mgt (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_ATSC_MGT,
NULL);
__common_section_checks (section, 17, _parse_atsc_mgt,
(GDestroyNotify) _gst_mpegts_atsc_mgt_free);
- return (const GstMpegTsAtscMGT *) section->cached_parsed;
+ return (const GstMpegtsAtscMGT *) section->cached_parsed;
}
/* Multi string structure */
-static GstMpegTsAtscStringSegment *
-_gst_mpegts_atsc_string_segment_copy (GstMpegTsAtscStringSegment * seg)
+static GstMpegtsAtscStringSegment *
+_gst_mpegts_atsc_string_segment_copy (GstMpegtsAtscStringSegment * seg)
{
- GstMpegTsAtscStringSegment *copy;
+ GstMpegtsAtscStringSegment *copy;
- copy = g_slice_dup (GstMpegTsAtscStringSegment, seg);
+ copy = g_slice_dup (GstMpegtsAtscStringSegment, seg);
return copy;
}
static void
-_gst_mpegts_atsc_string_segment_free (GstMpegTsAtscStringSegment * seg)
+_gst_mpegts_atsc_string_segment_free (GstMpegtsAtscStringSegment * seg)
{
if (seg->cached_string)
g_free (seg->cached_string);
- g_slice_free (GstMpegTsAtscStringSegment, seg);
+ g_slice_free (GstMpegtsAtscStringSegment, seg);
}
static void
-_gst_mpegts_atsc_string_segment_decode_string (GstMpegTsAtscStringSegment * seg)
+_gst_mpegts_atsc_string_segment_decode_string (GstMpegtsAtscStringSegment * seg)
{
const gchar *from_encoding;
}
const gchar *
-gst_mpegts_atsc_string_segment_get_string (GstMpegTsAtscStringSegment * seg)
+gst_mpegts_atsc_string_segment_get_string (GstMpegtsAtscStringSegment * seg)
{
if (!seg->cached_string)
_gst_mpegts_atsc_string_segment_decode_string (seg);
return seg->cached_string;
}
-G_DEFINE_BOXED_TYPE (GstMpegTsAtscStringSegment, gst_mpegts_atsc_string_segment,
+G_DEFINE_BOXED_TYPE (GstMpegtsAtscStringSegment, gst_mpegts_atsc_string_segment,
(GBoxedCopyFunc) _gst_mpegts_atsc_string_segment_copy,
(GFreeFunc) _gst_mpegts_atsc_string_segment_free);
-static GstMpegTsAtscMultString *
-_gst_mpegts_atsc_mult_string_copy (GstMpegTsAtscMultString * mstring)
+static GstMpegtsAtscMultString *
+_gst_mpegts_atsc_mult_string_copy (GstMpegtsAtscMultString * mstring)
{
- GstMpegTsAtscMultString *copy;
+ GstMpegtsAtscMultString *copy;
- copy = g_slice_dup (GstMpegTsAtscMultString, mstring);
+ copy = g_slice_dup (GstMpegtsAtscMultString, mstring);
copy->segments = g_ptr_array_ref (mstring->segments);
return copy;
}
static void
-_gst_mpegts_atsc_mult_string_free (GstMpegTsAtscMultString * mstring)
+_gst_mpegts_atsc_mult_string_free (GstMpegtsAtscMultString * mstring)
{
g_ptr_array_unref (mstring->segments);
- g_slice_free (GstMpegTsAtscMultString, mstring);
+ g_slice_free (GstMpegtsAtscMultString, mstring);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsAtscMultString, gst_mpegts_atsc_mult_string,
+G_DEFINE_BOXED_TYPE (GstMpegtsAtscMultString, gst_mpegts_atsc_mult_string,
(GBoxedCopyFunc) _gst_mpegts_atsc_mult_string_copy,
(GFreeFunc) _gst_mpegts_atsc_mult_string_free);
(GDestroyNotify) _gst_mpegts_atsc_mult_string_free);
for (i = 0; i < num_strings; i++) {
- GstMpegTsAtscMultString *mstring;
+ GstMpegtsAtscMultString *mstring;
guint8 num_segments;
gint j;
- mstring = g_slice_new0 (GstMpegTsAtscMultString);
+ mstring = g_slice_new0 (GstMpegtsAtscMultString);
g_ptr_array_add (res, mstring);
mstring->segments =
g_ptr_array_new_full (num_strings,
data += 1;
for (j = 0; j < num_segments; j++) {
- GstMpegTsAtscStringSegment *seg;
+ GstMpegtsAtscStringSegment *seg;
- seg = g_slice_new0 (GstMpegTsAtscStringSegment);
+ seg = g_slice_new0 (GstMpegtsAtscStringSegment);
g_ptr_array_add (mstring->segments, seg);
/* each entry needs at least 3 bytes */
/* EIT */
-static GstMpegTsAtscEITEvent *
-_gst_mpegts_atsc_eit_event_copy (GstMpegTsAtscEITEvent * event)
+static GstMpegtsAtscEITEvent *
+_gst_mpegts_atsc_eit_event_copy (GstMpegtsAtscEITEvent * event)
{
- GstMpegTsAtscEITEvent *copy;
+ GstMpegtsAtscEITEvent *copy;
- copy = g_slice_dup (GstMpegTsAtscEITEvent, event);
+ copy = g_slice_dup (GstMpegtsAtscEITEvent, event);
copy->titles = g_ptr_array_ref (event->titles);
copy->descriptors = g_ptr_array_ref (event->descriptors);
}
static void
-_gst_mpegts_atsc_eit_event_free (GstMpegTsAtscEITEvent * event)
+_gst_mpegts_atsc_eit_event_free (GstMpegtsAtscEITEvent * event)
{
if (event->titles)
g_ptr_array_unref (event->titles);
if (event->descriptors)
g_ptr_array_unref (event->descriptors);
- g_slice_free (GstMpegTsAtscEITEvent, event);
+ g_slice_free (GstMpegtsAtscEITEvent, event);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsAtscEITEvent, gst_mpegts_atsc_eit_event,
+G_DEFINE_BOXED_TYPE (GstMpegtsAtscEITEvent, gst_mpegts_atsc_eit_event,
(GBoxedCopyFunc) _gst_mpegts_atsc_eit_event_copy,
(GFreeFunc) _gst_mpegts_atsc_eit_event_free);
-static GstMpegTsAtscEIT *
-_gst_mpegts_atsc_eit_copy (GstMpegTsAtscEIT * eit)
+static GstMpegtsAtscEIT *
+_gst_mpegts_atsc_eit_copy (GstMpegtsAtscEIT * eit)
{
- GstMpegTsAtscEIT *copy;
+ GstMpegtsAtscEIT *copy;
- copy = g_slice_dup (GstMpegTsAtscEIT, eit);
+ copy = g_slice_dup (GstMpegtsAtscEIT, eit);
copy->events = g_ptr_array_ref (eit->events);
return copy;
}
static void
-_gst_mpegts_atsc_eit_free (GstMpegTsAtscEIT * eit)
+_gst_mpegts_atsc_eit_free (GstMpegtsAtscEIT * eit)
{
if (eit->events)
g_ptr_array_unref (eit->events);
- g_slice_free (GstMpegTsAtscEIT, eit);
+ g_slice_free (GstMpegtsAtscEIT, eit);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsAtscEIT, gst_mpegts_atsc_eit,
+G_DEFINE_BOXED_TYPE (GstMpegtsAtscEIT, gst_mpegts_atsc_eit,
(GBoxedCopyFunc) _gst_mpegts_atsc_eit_copy,
(GFreeFunc) _gst_mpegts_atsc_eit_free);
static gpointer
-_parse_atsc_eit (GstMpegTsSection * section)
+_parse_atsc_eit (GstMpegtsSection * section)
{
- GstMpegTsAtscEIT *eit = NULL;
+ GstMpegtsAtscEIT *eit = NULL;
guint i = 0;
guint8 *data, *end;
guint8 num_events;
- eit = g_slice_new0 (GstMpegTsAtscEIT);
+ eit = g_slice_new0 (GstMpegtsAtscEIT);
data = section->data;
end = data + section->section_length;
_gst_mpegts_atsc_eit_event_free);
for (i = 0; i < num_events; i++) {
- GstMpegTsAtscEITEvent *event;
+ GstMpegtsAtscEITEvent *event;
guint32 tmp;
guint8 text_length;
guint16 descriptors_loop_length;
goto error;
}
- event = g_slice_new0 (GstMpegTsAtscEITEvent);
+ event = g_slice_new0 (GstMpegtsAtscEITEvent);
g_ptr_array_add (eit->events, event);
event->event_id = GST_READ_UINT16_BE (data) & 0x3FFF;
/**
* gst_mpegts_section_get_atsc_eit:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_ATSC_EIT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_EIT
*
- * Returns the #GstMpegTsAtscEIT contained in the @section.
+ * Returns the #GstMpegtsAtscEIT contained in the @section.
*
- * Returns: The #GstMpegTsAtscEIT contained in the section, or %NULL if an error
+ * Returns: The #GstMpegtsAtscEIT contained in the section, or %NULL if an error
* happened.
*/
-const GstMpegTsAtscEIT *
-gst_mpegts_section_get_atsc_eit (GstMpegTsSection * section)
+const GstMpegtsAtscEIT *
+gst_mpegts_section_get_atsc_eit (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_ATSC_EIT,
NULL);
__common_section_checks (section, 14, _parse_atsc_eit,
(GDestroyNotify) _gst_mpegts_atsc_eit_free);
- return (const GstMpegTsAtscEIT *) section->cached_parsed;
+ return (const GstMpegtsAtscEIT *) section->cached_parsed;
}
-static GstMpegTsAtscETT *
-_gst_mpegts_atsc_ett_copy (GstMpegTsAtscETT * ett)
+static GstMpegtsAtscETT *
+_gst_mpegts_atsc_ett_copy (GstMpegtsAtscETT * ett)
{
- GstMpegTsAtscETT *copy;
+ GstMpegtsAtscETT *copy;
- copy = g_slice_dup (GstMpegTsAtscETT, ett);
+ copy = g_slice_dup (GstMpegtsAtscETT, ett);
copy->messages = g_ptr_array_ref (ett->messages);
return copy;
}
static void
-_gst_mpegts_atsc_ett_free (GstMpegTsAtscETT * ett)
+_gst_mpegts_atsc_ett_free (GstMpegtsAtscETT * ett)
{
if (ett->messages)
g_ptr_array_unref (ett->messages);
- g_slice_free (GstMpegTsAtscETT, ett);
+ g_slice_free (GstMpegtsAtscETT, ett);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsAtscETT, gst_mpegts_atsc_ett,
+G_DEFINE_BOXED_TYPE (GstMpegtsAtscETT, gst_mpegts_atsc_ett,
(GBoxedCopyFunc) _gst_mpegts_atsc_ett_copy,
(GFreeFunc) _gst_mpegts_atsc_ett_free);
static gpointer
-_parse_ett (GstMpegTsSection * section)
+_parse_ett (GstMpegtsSection * section)
{
- GstMpegTsAtscETT *ett = NULL;
+ GstMpegtsAtscETT *ett = NULL;
guint8 *data, *end;
- ett = g_slice_new0 (GstMpegTsAtscETT);
+ ett = g_slice_new0 (GstMpegtsAtscETT);
data = section->data;
end = data + section->section_length;
/**
* gst_mpegts_section_get_atsc_ett:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_ATSC_ETT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_ETT
*
- * Returns the #GstMpegTsAtscETT contained in the @section.
+ * Returns the #GstMpegtsAtscETT contained in the @section.
*
- * Returns: The #GstMpegTsAtscETT contained in the section, or %NULL if an error
+ * Returns: The #GstMpegtsAtscETT contained in the section, or %NULL if an error
* happened.
*/
-const GstMpegTsAtscETT *
-gst_mpegts_section_get_atsc_ett (GstMpegTsSection * section)
+const GstMpegtsAtscETT *
+gst_mpegts_section_get_atsc_ett (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_ATSC_ETT,
NULL);
section->cached_parsed = __common_section_checks (section, 17, _parse_ett,
(GDestroyNotify) _gst_mpegts_atsc_ett_free);
- return (const GstMpegTsAtscETT *) section->cached_parsed;
+ return (const GstMpegtsAtscETT *) section->cached_parsed;
}
/* STT */
-static GstMpegTsAtscSTT *
-_gst_mpegts_atsc_stt_copy (GstMpegTsAtscSTT * stt)
+static GstMpegtsAtscSTT *
+_gst_mpegts_atsc_stt_copy (GstMpegtsAtscSTT * stt)
{
- GstMpegTsAtscSTT *copy;
+ GstMpegtsAtscSTT *copy;
- copy = g_slice_dup (GstMpegTsAtscSTT, stt);
+ copy = g_slice_dup (GstMpegtsAtscSTT, stt);
copy->descriptors = g_ptr_array_ref (stt->descriptors);
return copy;
}
static void
-_gst_mpegts_atsc_stt_free (GstMpegTsAtscSTT * stt)
+_gst_mpegts_atsc_stt_free (GstMpegtsAtscSTT * stt)
{
if (stt->descriptors)
g_ptr_array_unref (stt->descriptors);
- g_slice_free (GstMpegTsAtscSTT, stt);
+ g_slice_free (GstMpegtsAtscSTT, stt);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsAtscSTT, gst_mpegts_atsc_stt,
+G_DEFINE_BOXED_TYPE (GstMpegtsAtscSTT, gst_mpegts_atsc_stt,
(GBoxedCopyFunc) _gst_mpegts_atsc_stt_copy,
(GFreeFunc) _gst_mpegts_atsc_stt_free);
static gpointer
-_parse_atsc_stt (GstMpegTsSection * section)
+_parse_atsc_stt (GstMpegtsSection * section)
{
- GstMpegTsAtscSTT *stt = NULL;
+ GstMpegtsAtscSTT *stt = NULL;
guint8 *data, *end;
guint16 daylight_saving;
- stt = g_slice_new0 (GstMpegTsAtscSTT);
+ stt = g_slice_new0 (GstMpegtsAtscSTT);
data = section->data;
end = data + section->section_length;
/**
* gst_mpegts_section_get_atsc_stt:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_ATSC_STT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_STT
*
- * Returns the #GstMpegTsAtscSTT contained in the @section.
+ * Returns the #GstMpegtsAtscSTT contained in the @section.
*
- * Returns: The #GstMpegTsAtscSTT contained in the section, or %NULL if an error
+ * Returns: The #GstMpegtsAtscSTT contained in the section, or %NULL if an error
* happened.
*/
-const GstMpegTsAtscSTT *
-gst_mpegts_section_get_atsc_stt (GstMpegTsSection * section)
+const GstMpegtsAtscSTT *
+gst_mpegts_section_get_atsc_stt (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_ATSC_STT,
NULL);
__common_section_checks (section, 20, _parse_atsc_stt,
(GDestroyNotify) _gst_mpegts_atsc_stt_free);
- return (const GstMpegTsAtscSTT *) section->cached_parsed;
+ return (const GstMpegtsAtscSTT *) section->cached_parsed;
}
#define GPS_TO_UTC_TICKS G_GINT64_CONSTANT(315964800)
}
GstDateTime *
-gst_mpegts_atsc_stt_get_datetime_utc (GstMpegTsAtscSTT * stt)
+gst_mpegts_atsc_stt_get_datetime_utc (GstMpegtsAtscSTT * stt)
{
if (stt->utc_datetime == NULL)
stt->utc_datetime = _gst_mpegts_atsc_gps_time_to_datetime (stt->system_time,
G_BEGIN_DECLS
/**
- * GstMpegTsSectionATSCTableID:
+ * GstMpegtsSectionATSCTableID:
*
- * Values for a #GstMpegTsSection table_id.
+ * Values for a #GstMpegtsSection table_id.
*
* These are the registered ATSC table_id variants.
*
- * see also: #GstMpegTsSectionTableID
+ * see also: #GstMpegtsSectionTableID
*/
typedef enum {
/* 0xD8 ?? */
GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT = 0xD9,
GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL = 0xDA,
-} GstMpegTsSectionATSCTableID;
+} GstMpegtsSectionATSCTableID;
/* TVCT/CVCT */
#define GST_TYPE_MPEGTS_ATSC_VCT (gst_mpegts_atsc_vct_get_type ())
#define GST_TYPE_MPEGTS_ATSC_VCT_SOURCE (gst_mpegts_atsc_vct_source_get_type ())
-typedef struct _GstMpegTsAtscVCTSource GstMpegTsAtscVCTSource;
-typedef struct _GstMpegTsAtscVCT GstMpegTsAtscVCT;
+typedef struct _GstMpegtsAtscVCTSource GstMpegtsAtscVCTSource;
+typedef struct _GstMpegtsAtscVCT GstMpegtsAtscVCT;
/**
- * GstMpegTsAtscVCTSource:
- * @descriptors: (element-type GstMpegTsDescriptor): descriptors
+ * GstMpegtsAtscVCTSource:
+ * @descriptors: (element-type GstMpegtsDescriptor): descriptors
*
- * Source from a @GstMpegTsAtscVCT, can be used both for TVCT and CVCT tables
+ * Source from a @GstMpegtsAtscVCT, can be used both for TVCT and CVCT tables
*/
-struct _GstMpegTsAtscVCTSource
+struct _GstMpegtsAtscVCTSource
{
gchar *short_name;
guint16 major_channel_number;
};
/**
- * GstMpegTsAtscVCT:
- * @sources: (element-type GstMpegTsAtscVCTSource): sources
- * @descriptors: (element-type GstMpegTsDescriptor): descriptors
+ * GstMpegtsAtscVCT:
+ * @sources: (element-type GstMpegtsAtscVCTSource): sources
+ * @descriptors: (element-type GstMpegtsDescriptor): descriptors
*
* Represents both:
* Terrestrial Virtual Channel Table (A65)
* Cable Virtual Channel Table (A65)
*
*/
-struct _GstMpegTsAtscVCT
+struct _GstMpegtsAtscVCT
{
guint16 transport_stream_id;
guint8 protocol_version;
GType gst_mpegts_atsc_vct_get_type (void);
GType gst_mpegts_atsc_vct_source_get_type (void);
-const GstMpegTsAtscVCT * gst_mpegts_section_get_atsc_tvct (GstMpegTsSection * section);
-const GstMpegTsAtscVCT * gst_mpegts_section_get_atsc_cvct (GstMpegTsSection * section);
+const GstMpegtsAtscVCT * gst_mpegts_section_get_atsc_tvct (GstMpegtsSection * section);
+const GstMpegtsAtscVCT * gst_mpegts_section_get_atsc_cvct (GstMpegtsSection * section);
/* MGT */
#define GST_TYPE_MPEGTS_ATSC_MGT (gst_mpegts_atsc_mgt_get_type ())
#define GST_TYPE_MPEGTS_ATSC_MGT_TABLE (gst_mpegts_atsc_mgt_table_get_type ())
-typedef struct _GstMpegTsAtscMGTTable GstMpegTsAtscMGTTable;
-typedef struct _GstMpegTsAtscMGT GstMpegTsAtscMGT;
+typedef struct _GstMpegtsAtscMGTTable GstMpegtsAtscMGTTable;
+typedef struct _GstMpegtsAtscMGT GstMpegtsAtscMGT;
typedef enum {
- GST_MPEG_TS_ATSC_MGT_TABLE_TYPE_EIT0 = 0x0100,
- GST_MPEG_TS_ATSC_MGT_TABLE_TYPE_EIT127 = 0x017F,
- GST_MPEG_TS_ATSC_MGT_TABLE_TYPE_ETT0 = 0x0200,
- GST_MPEG_TS_ATSC_MGT_TABLE_TYPE_ETT127 = 0x027F
-} GstMpegTsAtscMGTTableType;
+ GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0 = 0x0100,
+ GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127 = 0x017F,
+ GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0 = 0x0200,
+ GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127 = 0x027F
+} GstMpegtsAtscMGTTableType;
/**
- * GstMpegTsAtscMGTTable:
- * @descriptors: (element-type GstMpegTsDescriptor): descriptors
+ * GstMpegtsAtscMGTTable:
+ * @descriptors: (element-type GstMpegtsDescriptor): descriptors
*
- * Source from a @GstMpegTsAtscMGT
+ * Source from a @GstMpegtsAtscMGT
*/
-struct _GstMpegTsAtscMGTTable
+struct _GstMpegtsAtscMGTTable
{
guint16 table_type;
guint16 pid;
};
/**
- * GstMpegTsAtscMGT:
- * @tables: (element-type GstMpegTsAtscMGTTable): the tables
- * @descriptors: (element-type GstMpegTsDescriptor): descriptors
+ * GstMpegtsAtscMGT:
+ * @tables: (element-type GstMpegtsAtscMGTTable): the tables
+ * @descriptors: (element-type GstMpegtsDescriptor): descriptors
*
* Master Guide Table (A65)
*
*/
-struct _GstMpegTsAtscMGT
+struct _GstMpegtsAtscMGT
{
guint8 protocol_version;
guint16 tables_defined;
GType gst_mpegts_atsc_mgt_get_type (void);
GType gst_mpegts_atsc_mgt_table_get_type (void);
-const GstMpegTsAtscMGT * gst_mpegts_section_get_atsc_mgt (GstMpegTsSection * section);
+const GstMpegtsAtscMGT * gst_mpegts_section_get_atsc_mgt (GstMpegtsSection * section);
/* Multiple string structure (used in ETT and EIT */
#define GST_TYPE_MPEGTS_ATSC_STRING_SEGMENT (gst_mpegts_atsc_string_segment_get_type())
#define GST_TYPE_MPEGTS_ATSC_MULT_STRING (gst_mpegts_atsc_mult_string_get_type())
-typedef struct _GstMpegTsAtscStringSegment GstMpegTsAtscStringSegment;
-typedef struct _GstMpegTsAtscMultString GstMpegTsAtscMultString;
+typedef struct _GstMpegtsAtscStringSegment GstMpegtsAtscStringSegment;
+typedef struct _GstMpegtsAtscMultString GstMpegtsAtscMultString;
-struct _GstMpegTsAtscStringSegment {
+struct _GstMpegtsAtscStringSegment {
guint8 compression_type;
guint8 mode;
guint8 compressed_data_size;
gchar *cached_string;
};
-const gchar * gst_mpegts_atsc_string_segment_get_string (GstMpegTsAtscStringSegment * seg);
+const gchar * gst_mpegts_atsc_string_segment_get_string (GstMpegtsAtscStringSegment * seg);
/**
- * GstMpegTsAtscMultString:
- * @segments: (element-type GstMpegTsAtscStringSegment)
+ * GstMpegtsAtscMultString:
+ * @segments: (element-type GstMpegtsAtscStringSegment)
*
*/
-struct _GstMpegTsAtscMultString {
+struct _GstMpegtsAtscMultString {
gchar iso_639_langcode[4];
GPtrArray *segments;
};
#define GST_TYPE_MPEGTS_ATSC_EIT_EVENT (gst_mpegts_atsc_eit_event_get_type())
#define GST_TYPE_MPEGTS_ATSC_EIT (gst_mpegts_atsc_eit_get_type())
-typedef struct _GstMpegTsAtscEITEvent GstMpegTsAtscEITEvent;
-typedef struct _GstMpegTsAtscEIT GstMpegTsAtscEIT;
+typedef struct _GstMpegtsAtscEITEvent GstMpegtsAtscEITEvent;
+typedef struct _GstMpegtsAtscEIT GstMpegtsAtscEIT;
/**
- * GstMpegTsAtscEITEvent:
- * @titles: (element-type GstMpegTsAtscMultString): the titles
- * @descriptors: (element-type GstMpegTsDescriptor): descriptors
+ * GstMpegtsAtscEITEvent:
+ * @titles: (element-type GstMpegtsAtscMultString): the titles
+ * @descriptors: (element-type GstMpegtsDescriptor): descriptors
*
* An ATSC EIT Event
*/
-struct _GstMpegTsAtscEITEvent {
+struct _GstMpegtsAtscEITEvent {
guint16 event_id;
guint32 start_time;
guint8 etm_location;
};
/**
- * GstMpegTsAtscEIT:
- * @events: (element-type GstMpegTsAtscEITEvent): Events
+ * GstMpegtsAtscEIT:
+ * @events: (element-type GstMpegtsAtscEITEvent): Events
*
* Event Information Table (ATSC)
*
*/
-struct _GstMpegTsAtscEIT
+struct _GstMpegtsAtscEIT
{
guint16 source_id;
guint8 protocol_version;
GType gst_mpegts_atsc_eit_event_get_type (void);
GType gst_mpegts_atsc_eit_get_type (void);
-const GstMpegTsAtscEIT *gst_mpegts_section_get_atsc_eit (GstMpegTsSection *section);
+const GstMpegtsAtscEIT *gst_mpegts_section_get_atsc_eit (GstMpegtsSection *section);
/* ETT */
#define GST_TYPE_MPEGTS_ATSC_ETT (gst_mpegts_atsc_ett_get_type())
-typedef struct _GstMpegTsAtscETT GstMpegTsAtscETT;
+typedef struct _GstMpegtsAtscETT GstMpegtsAtscETT;
/**
- * GstMpegTsAtscETT:
- * @messages: (element-type GstMpegTsAtscMultString): List of texts
+ * GstMpegtsAtscETT:
+ * @messages: (element-type GstMpegtsAtscMultString): List of texts
*
* Extended Text Table (ATSC)
*
*/
-struct _GstMpegTsAtscETT
+struct _GstMpegtsAtscETT
{
guint16 ett_table_id_extension;
guint16 protocol_version;
GType gst_mpegts_atsc_ett_get_type (void);
-const GstMpegTsAtscETT *gst_mpegts_section_get_atsc_ett (GstMpegTsSection *section);
+const GstMpegtsAtscETT *gst_mpegts_section_get_atsc_ett (GstMpegtsSection *section);
/* STT */
#define GST_TYPE_MPEGTS_ATSC_STT (gst_mpegts_atsc_stt_get_type ())
-typedef struct _GstMpegTsAtscSTT GstMpegTsAtscSTT;
+typedef struct _GstMpegtsAtscSTT GstMpegtsAtscSTT;
/**
- * GstMpegTsAtscSTT:
- * @descriptors: (element-type GstMpegTsDescriptor): descriptors
+ * GstMpegtsAtscSTT:
+ * @descriptors: (element-type GstMpegtsDescriptor): descriptors
*
* System Time Table (A65)
*
*/
-struct _GstMpegTsAtscSTT
+struct _GstMpegtsAtscSTT
{
guint8 protocol_version;
guint32 system_time;
GType gst_mpegts_atsc_stt_get_type (void);
-const GstMpegTsAtscSTT * gst_mpegts_section_get_atsc_stt (GstMpegTsSection * section);
+const GstMpegtsAtscSTT * gst_mpegts_section_get_atsc_stt (GstMpegtsSection * section);
/* FIXME receive a non-const parameter but we only provide a const getter */
-GstDateTime * gst_mpegts_atsc_stt_get_datetime_utc (GstMpegTsAtscSTT * stt);
+GstDateTime * gst_mpegts_atsc_stt_get_datetime_utc (GstMpegtsAtscSTT * stt);
G_END_DECLS
/* GST_MTS_DESC_DVB_NETWORK_NAME (0x40) */
/**
* gst_mpegts_descriptor_parse_dvb_network_name:
- * @descriptor: a %GST_MTS_DESC_DVB_NETWORK_NAME #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_NETWORK_NAME #GstMpegtsDescriptor
* @name: (out) (transfer full): the extracted name
*
* Parses out the dvb network name from the @descriptor:
* Returns: %TRUE if the parsing happened correctly, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_network_name (const GstMpegTsDescriptor *
+gst_mpegts_descriptor_parse_dvb_network_name (const GstMpegtsDescriptor *
descriptor, gchar ** name)
{
g_return_val_if_fail (descriptor != NULL && name != NULL, FALSE);
* gst_mpegts_descriptor_from_dvb_network_name:
* @name: the network name to set
*
- * Creates a #GstMpegTsDescriptor to be a %GST_MTS_DESC_DVB_NETWORK_NAME,
- * with the network name @name. The data field of the #GstMpegTsDescriptor
+ * 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.
*
- * Returns: (transfer full): the #GstMpegTsDescriptor or %NULL on fail
+ * Returns: (transfer full): the #GstMpegtsDescriptor or %NULL on fail
*/
-GstMpegTsDescriptor *
+GstMpegtsDescriptor *
gst_mpegts_descriptor_from_dvb_network_name (const gchar * name)
{
- GstMpegTsDescriptor *descriptor;
+ GstMpegtsDescriptor *descriptor;
guint8 *converted_name;
gsize size;
/* GST_MTS_DESC_DVB_SERVICE_LIST (0x41) */
static void
-_gst_mpegts_dvb_service_list_item_free (GstMpegTsDVBServiceListItem * item)
+_gst_mpegts_dvb_service_list_item_free (GstMpegtsDVBServiceListItem * item)
{
- g_slice_free (GstMpegTsDVBServiceListItem, item);
+ g_slice_free (GstMpegtsDVBServiceListItem, item);
}
/**
* gst_mpegts_descriptor_parse_dvb_service_list:
- * @descriptor: a %GST_MTS_DESC_DVB_SERVICE_LIST #GstMpegTsDescriptor
- * @list: (out) (transfer full) (element-type GstMpegTsDVBServiceListItem):
+ * @descriptor: a %GST_MTS_DESC_DVB_SERVICE_LIST #GstMpegtsDescriptor
+ * @list: (out) (transfer full) (element-type GstMpegtsDVBServiceListItem):
* the list of services
*
* Parses out a list of services from the @descriptor:
* Returns: %TRUE if the parsing happened correctly, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_service_list (const GstMpegTsDescriptor *
+gst_mpegts_descriptor_parse_dvb_service_list (const GstMpegtsDescriptor *
descriptor, GPtrArray ** list)
{
guint8 *data, i;
_gst_mpegts_dvb_service_list_item_free);
for (i = 0; i < descriptor->length - 2; i += 3) {
- GstMpegTsDVBServiceListItem *item =
- g_slice_new0 (GstMpegTsDVBServiceListItem);
+ GstMpegtsDVBServiceListItem *item =
+ g_slice_new0 (GstMpegtsDVBServiceListItem);
g_ptr_array_add (*list, item);
item->service_id = GST_READ_UINT16_BE (data);
/* GST_MTS_DESC_DVB_STUFFING (0x42) */
/**
* gst_mpegts_descriptor_parse_dvb_stuffing:
- * @descriptor: a %GST_MTS_DESC_DVB_STUFFING #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_STUFFING #GstMpegtsDescriptor
* @stuffing_bytes: (out) (transfer full): the stuffing bytes
*
* Parses out the stuffing bytes from the @descriptor.
* Returns: %TRUE if the parsing happened correctly, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_stuffing (const GstMpegTsDescriptor *
+gst_mpegts_descriptor_parse_dvb_stuffing (const GstMpegtsDescriptor *
descriptor, guint8 ** stuffing_bytes)
{
guint8 *data;
/* GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM (0x43) */
/**
* gst_mpegts_descriptor_parse_satellite_delivery_system:
- * @descriptor: a %GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM #GstMpegTsDescriptor
- * @res: (out) (transfer none): the #GstMpegTsSatelliteDeliverySystemDescriptor to fill
+ * @descriptor: a %GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM #GstMpegtsDescriptor
+ * @res: (out) (transfer none): the #GstMpegtsSatelliteDeliverySystemDescriptor to fill
*
* Extracts the satellite delivery system information from @descriptor.
*
* Returns: %TRUE if parsing succeeded, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_satellite_delivery_system (const GstMpegTsDescriptor
- * descriptor, GstMpegTsSatelliteDeliverySystemDescriptor * res)
+gst_mpegts_descriptor_parse_satellite_delivery_system (const GstMpegtsDescriptor
+ * descriptor, GstMpegtsSatelliteDeliverySystemDescriptor * res)
{
guint8 *data;
guint8 tmp;
/* GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM (0x44) */
/**
* gst_mpegts_descriptor_parse_cable_delivery_system:
- * @descriptor: a %GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM #GstMpegTsDescriptor
- * @res: (out) (transfer none): the #GstMpegTsCableDeliverySystemDescriptor to fill
+ * @descriptor: a %GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM #GstMpegtsDescriptor
+ * @res: (out) (transfer none): the #GstMpegtsCableDeliverySystemDescriptor to fill
*
* Extracts the cable delivery system information from @descriptor.
*
* Returns: %TRUE if parsing succeeded, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_cable_delivery_system (const GstMpegTsDescriptor *
- descriptor, GstMpegTsCableDeliverySystemDescriptor * res)
+gst_mpegts_descriptor_parse_cable_delivery_system (const GstMpegtsDescriptor *
+ descriptor, GstMpegtsCableDeliverySystemDescriptor * res)
{
guint8 *data;
* Returns: %TRUE if parsing succeeded, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_bouquet_name (const GstMpegTsDescriptor *
+gst_mpegts_descriptor_parse_dvb_bouquet_name (const GstMpegtsDescriptor *
descriptor, gchar ** bouquet_name)
{
guint8 *data;
/* GST_MTS_DESC_DVB_SERVICE (0x48) */
/**
* gst_mpegts_descriptor_parse_dvb_service:
- * @descriptor: a %GST_MTS_DESC_DVB_SERVICE #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_SERVICE #GstMpegtsDescriptor
* @service_type: (out) (allow-none): the service type
* @service_name: (out) (transfer full) (allow-none): the service name
* @provider_name: (out) (transfer full) (allow-none): the provider name
* Returns: %TRUE if parsing succeeded, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_service (const GstMpegTsDescriptor *
- descriptor, GstMpegTsDVBServiceType * service_type, gchar ** service_name,
+gst_mpegts_descriptor_parse_dvb_service (const GstMpegtsDescriptor *
+ descriptor, GstMpegtsDVBServiceType * service_type, gchar ** service_name,
gchar ** provider_name)
{
guint8 *data;
/**
* gst_mpegts_descriptor_from_dvb_service:
- * @service_type: Service type defined as a #GstMpegTsDVBServiceType
+ * @service_type: Service type defined as a #GstMpegtsDVBServiceType
* @service_name: (allow-none): Name of the service
* @service_provider: (allow-none): Name of the service provider
*
- * Fills a #GstMpegTsDescriptor to be a %GST_MTS_DESC_DVB_SERVICE.
- * The data field of the #GstMpegTsDescriptor will be allocated,
+ * 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.
*
- * Returns: (transfer full): the #GstMpegTsDescriptor or %NULL on fail
+ * Returns: (transfer full): the #GstMpegtsDescriptor or %NULL on fail
*/
-GstMpegTsDescriptor *
-gst_mpegts_descriptor_from_dvb_service (GstMpegTsDVBServiceType service_type,
+GstMpegtsDescriptor *
+gst_mpegts_descriptor_from_dvb_service (GstMpegtsDVBServiceType service_type,
const gchar * service_name, const gchar * service_provider)
{
- GstMpegTsDescriptor *descriptor = NULL;
+ GstMpegtsDescriptor *descriptor = NULL;
guint8 *conv_provider_name = NULL, *conv_service_name = NULL;
gsize provider_size = 0, service_size = 0;
guint8 *data;
}
/* GST_MTS_DESC_DVB_LINKAGE (0x4A) */
-static GstMpegTsDVBLinkageDescriptor *
-_gst_mpegts_dvb_linkage_descriptor_copy (GstMpegTsDVBLinkageDescriptor * source)
+static GstMpegtsDVBLinkageDescriptor *
+_gst_mpegts_dvb_linkage_descriptor_copy (GstMpegtsDVBLinkageDescriptor * source)
{
- GstMpegTsDVBLinkageDescriptor *copy;
+ GstMpegtsDVBLinkageDescriptor *copy;
- copy = g_slice_dup (GstMpegTsDVBLinkageDescriptor, source);
+ copy = g_slice_dup (GstMpegtsDVBLinkageDescriptor, source);
switch (source->linkage_type) {
case GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER:
- copy->linkage_data = g_slice_dup (GstMpegTsDVBLinkageMobileHandOver,
+ copy->linkage_data = g_slice_dup (GstMpegtsDVBLinkageMobileHandOver,
source->linkage_data);
break;
case GST_MPEGTS_DVB_LINKAGE_EVENT:
- copy->linkage_data = g_slice_dup (GstMpegTsDVBLinkageEvent,
+ copy->linkage_data = g_slice_dup (GstMpegtsDVBLinkageEvent,
source->linkage_data);
break;
case GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT:
}
void
-gst_mpegts_dvb_linkage_descriptor_free (GstMpegTsDVBLinkageDescriptor * source)
+gst_mpegts_dvb_linkage_descriptor_free (GstMpegtsDVBLinkageDescriptor * source)
{
switch (source->linkage_type) {
case GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER:
- g_slice_free (GstMpegTsDVBLinkageMobileHandOver, source->linkage_data);
+ g_slice_free (GstMpegtsDVBLinkageMobileHandOver, source->linkage_data);
break;
case GST_MPEGTS_DVB_LINKAGE_EVENT:
- g_slice_free (GstMpegTsDVBLinkageEvent, source->linkage_data);
+ g_slice_free (GstMpegtsDVBLinkageEvent, source->linkage_data);
break;
case GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT:
g_ptr_array_unref (source->linkage_data);
}
g_slice_free1 (source->private_data_length, source->private_data_bytes);
- g_slice_free (GstMpegTsDVBLinkageDescriptor, source);
+ g_slice_free (GstMpegtsDVBLinkageDescriptor, source);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsDVBLinkageDescriptor,
+G_DEFINE_BOXED_TYPE (GstMpegtsDVBLinkageDescriptor,
gst_mpegts_dvb_linkage_descriptor,
(GBoxedCopyFunc) _gst_mpegts_dvb_linkage_descriptor_copy,
(GFreeFunc) gst_mpegts_dvb_linkage_descriptor_free);
static void
-_gst_mpegts_dvb_linkage_extened_event_free (GstMpegTsDVBLinkageExtendedEvent *
+_gst_mpegts_dvb_linkage_extened_event_free (GstMpegtsDVBLinkageExtendedEvent *
item)
{
- g_slice_free (GstMpegTsDVBLinkageExtendedEvent, item);
+ g_slice_free (GstMpegtsDVBLinkageExtendedEvent, item);
}
/**
* gst_mpegts_descriptor_parse_dvb_linkage:
- * @descriptor: a %GST_MTS_DESC_DVB_LINKAGE #GstMpegTsDescriptor
- * @res: (out) (transfer full): the #GstMpegTsDVBLinkageDescriptor to fill
+ * @descriptor: a %GST_MTS_DESC_DVB_LINKAGE #GstMpegtsDescriptor
+ * @res: (out) (transfer full): the #GstMpegtsDVBLinkageDescriptor to fill
*
* Extracts the DVB linkage information from @descriptor.
*
* Returns: %TRUE if parsing succeeded, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_linkage (const GstMpegTsDescriptor * descriptor,
- GstMpegTsDVBLinkageDescriptor ** desc)
+gst_mpegts_descriptor_parse_dvb_linkage (const GstMpegtsDescriptor * descriptor,
+ GstMpegtsDVBLinkageDescriptor ** desc)
{
guint i;
guint8 *data, *end;
- GstMpegTsDVBLinkageDescriptor *res;
+ GstMpegtsDVBLinkageDescriptor *res;
g_return_val_if_fail (descriptor != NULL && desc != NULL, FALSE);
__common_desc_checks (descriptor, GST_MTS_DESC_DVB_LINKAGE, 7, FALSE);
data = (guint8 *) descriptor->data + 2;
end = data + descriptor->length;
- res = g_slice_new0 (GstMpegTsDVBLinkageDescriptor);
+ res = g_slice_new0 (GstMpegtsDVBLinkageDescriptor);
res->transport_stream_id = GST_READ_UINT16_BE (data);
data += 2;
switch (res->linkage_type) {
case GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER:{
- GstMpegTsDVBLinkageMobileHandOver *hand_over;
+ GstMpegtsDVBLinkageMobileHandOver *hand_over;
if (end - data < 1)
return FALSE;
- hand_over = g_slice_new0 (GstMpegTsDVBLinkageMobileHandOver);
+ hand_over = g_slice_new0 (GstMpegtsDVBLinkageMobileHandOver);
res->linkage_data = (gpointer) hand_over;
hand_over->origin_type = (*data) & 0x01;
|| hand_over->hand_over_type ==
GST_MPEGTS_DVB_LINKAGE_HAND_OVER_ASSOCIATED) {
if (end - data < 2) {
- g_slice_free (GstMpegTsDVBLinkageMobileHandOver, hand_over);
+ g_slice_free (GstMpegtsDVBLinkageMobileHandOver, hand_over);
res->linkage_data = NULL;
return FALSE;
}
if (hand_over->origin_type == 0) {
if (end - data < 2) {
- g_slice_free (GstMpegTsDVBLinkageMobileHandOver, hand_over);
+ g_slice_free (GstMpegtsDVBLinkageMobileHandOver, hand_over);
res->linkage_data = NULL;
return FALSE;
}
break;
}
case GST_MPEGTS_DVB_LINKAGE_EVENT:{
- GstMpegTsDVBLinkageEvent *event;
+ GstMpegtsDVBLinkageEvent *event;
if (end - data < 3)
return FALSE;
- event = g_slice_new0 (GstMpegTsDVBLinkageEvent);
+ event = g_slice_new0 (GstMpegtsDVBLinkageEvent);
res->linkage_data = (gpointer) event;
event->target_event_id = GST_READ_UINT16_BE (data);
res->linkage_data = (gpointer) ext_events;
for (i = 0; i < *data++;) {
- GstMpegTsDVBLinkageExtendedEvent *ext_event;
+ GstMpegtsDVBLinkageExtendedEvent *ext_event;
if (end - data < 3)
goto fail;
- ext_event = g_slice_new0 (GstMpegTsDVBLinkageExtendedEvent);
+ ext_event = g_slice_new0 (GstMpegtsDVBLinkageExtendedEvent);
g_ptr_array_add (res->linkage_data, ext_event);
ext_event->target_event_id = GST_READ_UINT16_BE (data);
/* GST_MTS_DESC_DVB_SHORT_EVENT (0x4D) */
/**
* gst_mpegts_descriptor_parse_dvb_short_event:
- * @descriptor: a %GST_MTS_DESC_DVB_SHORT_EVENT #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_SHORT_EVENT #GstMpegtsDescriptor
* @language_code: (out) (transfer full) (allow-none): the language code
* @event_name: (out) (transfer full) (allow-none): the event name
* @text: (out) (transfer full) (allow-none): the event text
* Returns: %TRUE if parsing succeeded, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_short_event (const GstMpegTsDescriptor *
+gst_mpegts_descriptor_parse_dvb_short_event (const GstMpegtsDescriptor *
descriptor, gchar ** language_code, gchar ** event_name, gchar ** text)
{
guint8 *data;
/* GST_MTS_DESC_DVB_TELETEXT (0x56) */
/**
* gst_mpegts_descriptor_parse_dvb_teletext_idx:
- * @descriptor: a %GST_MTS_DESC_DVB_TELETEXT #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_TELETEXT #GstMpegtsDescriptor
* @idx: The id of the teletext to get
* @language_code: (out) (transfer full) (allow-none): a null-terminated string
- * @teletext_type: (out) (allow-none): #GstMpegTsDVBTeletextType
+ * @teletext_type: (out) (allow-none): #GstMpegtsDVBTeletextType
* @magazine_number: (out) (allow-none):
* @page_number: (out) (allow-none):
*
* Returns: FALSE on out-of-bounds and errors
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_teletext_idx (const GstMpegTsDescriptor *
+gst_mpegts_descriptor_parse_dvb_teletext_idx (const GstMpegtsDescriptor *
descriptor, guint idx, gchar ** language_code,
- GstMpegTsDVBTeletextType * teletext_type, guint8 * magazine_number,
+ GstMpegtsDVBTeletextType * teletext_type, guint8 * magazine_number,
guint8 * page_number)
{
guint8 *data;
/**
* gst_mpegts_descriptor_parse_dvb_teletext_nb:
- * @descriptor: a %GST_MTS_DESC_DVB_TELETEXT #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_TELETEXT #GstMpegtsDescriptor
*
* Find the number of teletext entries in @descriptor
*
* Returns: Number of teletext entries
*/
guint
-gst_mpegts_descriptor_parse_dvb_teletext_nb (const GstMpegTsDescriptor *
+gst_mpegts_descriptor_parse_dvb_teletext_nb (const GstMpegtsDescriptor *
descriptor)
{
g_return_val_if_fail (descriptor != NULL, 0);
/**
* gst_mpegts_descriptor_parse_dvb_subtitling_idx:
- * @descriptor: a %GST_MTS_DESC_DVB_SUBTITLING #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_SUBTITLING #GstMpegtsDescriptor
* @idx: Table id of the entry to parse
* @lang: (out) (transfer full): the language code
* @type: (out) (transfer none) (allow-none): the type of subtitling
* Returns: %TRUE if parsing succeeded, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_subtitling_idx (const GstMpegTsDescriptor *
+gst_mpegts_descriptor_parse_dvb_subtitling_idx (const GstMpegtsDescriptor *
descriptor, guint idx, gchar ** lang, guint8 * type,
guint16 * composition_page_id, guint16 * ancillary_page_id)
{
/**
* gst_mpegts_descriptor_parse_dvb_subtitling_nb:
- * @descriptor: a %GST_MTS_DESC_DVB_SUBTITLING #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_SUBTITLING #GstMpegtsDescriptor
*
* Returns: The number of entries in @descriptor
*/
guint
-gst_mpegts_descriptor_parse_dvb_subtitling_nb (const GstMpegTsDescriptor *
+gst_mpegts_descriptor_parse_dvb_subtitling_nb (const GstMpegtsDescriptor *
descriptor)
{
g_return_val_if_fail (descriptor != NULL, FALSE);
* @composition: composition page id
* @ancillary: ancillary page id
*/
-GstMpegTsDescriptor *
+GstMpegtsDescriptor *
gst_mpegts_descriptor_from_dvb_subtitling (const gchar * lang,
guint8 type, guint16 composition, guint16 ancillary)
{
- GstMpegTsDescriptor *descriptor;
+ GstMpegtsDescriptor *descriptor;
guint8 *data;
g_return_val_if_fail (lang != NULL, NULL);
}
/* GST_MTS_DESC_DVB_EXTENDED_EVENT (0x4E) */
-static GstMpegTsExtendedEventDescriptor *
-_gst_mpegts_extended_event_descriptor_copy (GstMpegTsExtendedEventDescriptor *
+static GstMpegtsExtendedEventDescriptor *
+_gst_mpegts_extended_event_descriptor_copy (GstMpegtsExtendedEventDescriptor *
source)
{
- GstMpegTsExtendedEventDescriptor *copy;
+ GstMpegtsExtendedEventDescriptor *copy;
- copy = g_slice_dup (GstMpegTsExtendedEventDescriptor, source);
+ copy = g_slice_dup (GstMpegtsExtendedEventDescriptor, source);
copy->items = g_ptr_array_ref (source->items);
copy->text = g_slice_copy (sizeof (source->text), source->text);
}
void
-gst_mpegts_extended_event_descriptor_free (GstMpegTsExtendedEventDescriptor *
+gst_mpegts_extended_event_descriptor_free (GstMpegtsExtendedEventDescriptor *
source)
{
g_free (source->text);
g_ptr_array_unref (source->items);
- g_slice_free (GstMpegTsExtendedEventDescriptor, source);
+ g_slice_free (GstMpegtsExtendedEventDescriptor, source);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsExtendedEventDescriptor,
+G_DEFINE_BOXED_TYPE (GstMpegtsExtendedEventDescriptor,
gst_mpegts_extended_event_descriptor,
(GBoxedCopyFunc) _gst_mpegts_extended_event_descriptor_copy,
(GFreeFunc) gst_mpegts_extended_event_descriptor_free);
static void
-_gst_mpegts_extended_event_item_free (GstMpegTsExtendedEventItem * item)
+_gst_mpegts_extended_event_item_free (GstMpegtsExtendedEventItem * item)
{
g_free (item->item);
g_free (item->item_description);
- g_slice_free (GstMpegTsExtendedEventItem, item);
+ g_slice_free (GstMpegtsExtendedEventItem, item);
}
/**
* gst_mpegts_descriptor_parse_dvb_extended_event:
- * @descriptor: a %GST_MTS_DESC_DVB_EXTENDED_EVENT #GstMpegTsDescriptor
- * @res: (out) (transfer full): the #GstMpegTsExtendedEventDescriptor to fill
+ * @descriptor: a %GST_MTS_DESC_DVB_EXTENDED_EVENT #GstMpegtsDescriptor
+ * @res: (out) (transfer full): the #GstMpegtsExtendedEventDescriptor to fill
*
* Extracts the DVB extended event information from @descriptor.
*
* Returns: %TRUE if parsing succeeded, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_extended_event (const GstMpegTsDescriptor
- * descriptor, GstMpegTsExtendedEventDescriptor ** desc)
+gst_mpegts_descriptor_parse_dvb_extended_event (const GstMpegtsDescriptor
+ * descriptor, GstMpegtsExtendedEventDescriptor ** desc)
{
guint8 *data, *pdata;
guint8 tmp, len_item;
- GstMpegTsExtendedEventItem *item;
- GstMpegTsExtendedEventDescriptor *res;
+ GstMpegtsExtendedEventItem *item;
+ GstMpegtsExtendedEventDescriptor *res;
g_return_val_if_fail (descriptor != NULL && desc != NULL, FALSE);
/* Need at least 6 bytes (1 for desc number, 3 for language code, 2 for the loop length) */
__common_desc_checks (descriptor, GST_MTS_DESC_DVB_EXTENDED_EVENT, 6, FALSE);
- res = g_slice_new0 (GstMpegTsExtendedEventDescriptor);
+ res = g_slice_new0 (GstMpegtsExtendedEventDescriptor);
data = (guint8 *) descriptor->data + 2;
pdata = data + len_item;
while (data < pdata) {
- item = g_slice_new0 (GstMpegTsExtendedEventItem);
+ item = g_slice_new0 (GstMpegtsExtendedEventItem);
item->item_description =
get_encoding_and_convert ((const gchar *) data + 1, *data);
}
/* GST_MTS_DESC_DVB_COMPONENT (0x50) */
-static GstMpegTsComponentDescriptor *
-_gst_mpegts_dvb_component_descriptor_copy (GstMpegTsComponentDescriptor *
+static GstMpegtsComponentDescriptor *
+_gst_mpegts_dvb_component_descriptor_copy (GstMpegtsComponentDescriptor *
source)
{
- GstMpegTsComponentDescriptor *copy;
+ GstMpegtsComponentDescriptor *copy;
- copy = g_slice_dup (GstMpegTsComponentDescriptor, source);
+ copy = g_slice_dup (GstMpegtsComponentDescriptor, source);
copy->language_code = g_strdup (source->language_code);
copy->text = g_strdup (source->text);
}
void
-gst_mpegts_dvb_component_descriptor_free (GstMpegTsComponentDescriptor * source)
+gst_mpegts_dvb_component_descriptor_free (GstMpegtsComponentDescriptor * source)
{
if (source->language_code)
g_free (source->language_code);
if (source->text)
g_free (source->text);
- g_slice_free (GstMpegTsComponentDescriptor, source);
+ g_slice_free (GstMpegtsComponentDescriptor, source);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsComponentDescriptor,
+G_DEFINE_BOXED_TYPE (GstMpegtsComponentDescriptor,
gst_mpegts_component_descriptor,
(GBoxedCopyFunc) _gst_mpegts_dvb_component_descriptor_copy,
(GFreeFunc) gst_mpegts_dvb_component_descriptor_free);
/**
* gst_mpegts_descriptor_parse_dvb_component:
- * @descriptor: a %GST_MTS_DESC_DVB_COMPONENT #GstMpegTsDescriptor
- * @res: (out) (transfer full): the #GstMpegTsComponentDescriptor to fill
+ * @descriptor: a %GST_MTS_DESC_DVB_COMPONENT #GstMpegtsDescriptor
+ * @res: (out) (transfer full): the #GstMpegtsComponentDescriptor to fill
*
* Extracts the DVB component information from @descriptor.
*
* Returns: %TRUE if parsing succeeded, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_component (const GstMpegTsDescriptor
- * descriptor, GstMpegTsComponentDescriptor ** res)
+gst_mpegts_descriptor_parse_dvb_component (const GstMpegtsDescriptor
+ * descriptor, GstMpegtsComponentDescriptor ** res)
{
guint8 *data;
guint8 len;
- GstMpegTsComponentDescriptor *desc;
+ GstMpegtsComponentDescriptor *desc;
g_return_val_if_fail (descriptor != NULL && res != NULL, FALSE);
/* Need 6 bytes at least (1 for content, 1 for type, 1 for tag, 3 for language code) */
data = (guint8 *) descriptor->data + 2;
- desc = g_slice_new0 (GstMpegTsComponentDescriptor);
+ desc = g_slice_new0 (GstMpegtsComponentDescriptor);
desc->stream_content = *data & 0x0f;
data += 1;
/* GST_MTS_DESC_DVB_STREAM_IDENTIFIER (0x52) */
/**
* gst_mpegts_descriptor_parse_dvb_stream_identifier:
- * @descriptor: a %GST_MTS_DESC_DVB_CONTENT #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_CONTENT #GstMpegtsDescriptor
* @component_tag: (out) (transfer none): the component tag
*
* Extracts the component tag from @descriptor.
* Returns: %TRUE if the parsing happended correctly, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_stream_identifier (const GstMpegTsDescriptor
+gst_mpegts_descriptor_parse_dvb_stream_identifier (const GstMpegtsDescriptor
* descriptor, guint8 * component_tag)
{
guint8 *data;
/* GST_MTS_DESC_DVB_CA_IDENTIFIER (0x53) */
/**
* gst_mpegts_descriptor_parse_dvb_ca_identifier:
- * @descriptor: a %GST_MTS_DESC_DVB_CA_IDENTIFIER #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_CA_IDENTIFIER #GstMpegtsDescriptor
* @list: (out) (transfer full) (element-type guint16): 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
* Returns: %TRUE if the parsing happened correctly, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_ca_identifier (const GstMpegTsDescriptor *
+gst_mpegts_descriptor_parse_dvb_ca_identifier (const GstMpegtsDescriptor *
descriptor, GArray ** list)
{
guint8 *data;
/* GST_MTS_DESC_DVB_CONTENT (0x54) */
static void
-_gst_mpegts_content_free (GstMpegTsContent * content)
+_gst_mpegts_content_free (GstMpegtsContent * content)
{
- g_slice_free (GstMpegTsContent, content);
+ g_slice_free (GstMpegtsContent, content);
}
/**
* gst_mpegts_descriptor_parse_dvb_content:
- * @descriptor: a %GST_MTS_DESC_DVB_CONTENT #GstMpegTsDescriptor
- * @content: (out) (transfer full) (element-type GstMpegTsContent): #GstMpegTsContent
+ * @descriptor: a %GST_MTS_DESC_DVB_CONTENT #GstMpegtsDescriptor
+ * @content: (out) (transfer full) (element-type GstMpegtsContent): #GstMpegtsContent
*
* Extracts the DVB content information from @descriptor.
*
* Returns: %TRUE if the parsing happened correctly, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_content (const GstMpegTsDescriptor
+gst_mpegts_descriptor_parse_dvb_content (const GstMpegtsDescriptor
* descriptor, GPtrArray ** content)
{
guint8 *data;
*content = g_ptr_array_new_with_free_func ((GDestroyNotify)
_gst_mpegts_content_free);
for (i = 0; i < len;) {
- GstMpegTsContent *cont = g_slice_new0 (GstMpegTsContent);
+ GstMpegtsContent *cont = g_slice_new0 (GstMpegtsContent);
tmp = *data;
cont->content_nibble_1 = (tmp & 0xf0) >> 4;
cont->content_nibble_2 = tmp & 0x0f;
/* GST_MTS_DESC_DVB_PARENTAL_RATING (0x55) */
static void
-_gst_mpegts_dvb_parental_rating_item_free (GstMpegTsDVBParentalRatingItem *
+_gst_mpegts_dvb_parental_rating_item_free (GstMpegtsDVBParentalRatingItem *
item)
{
g_free (item->country_code);
- g_slice_free (GstMpegTsDVBParentalRatingItem, item);
+ g_slice_free (GstMpegtsDVBParentalRatingItem, item);
}
/**
* gst_mpegts_descriptor_parse_dvb_parental_rating:
- * @descriptor: a %GST_MTS_DESC_DVB_PARENTAL_RATING #GstMpegTsDescriptor
- * @rating: (out) (transfer full) (element-type GstMpegTsDVBParentalRatingItem):
- * #GstMpegTsDVBParentalRatingItem
+ * @descriptor: a %GST_MTS_DESC_DVB_PARENTAL_RATING #GstMpegtsDescriptor
+ * @rating: (out) (transfer full) (element-type GstMpegtsDVBParentalRatingItem):
+ * #GstMpegtsDVBParentalRatingItem
*
* Extracts the DVB parental rating information from @descriptor.
*
* Returns: %TRUE if the parsing happened correctly, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_parental_rating (const GstMpegTsDescriptor
+gst_mpegts_descriptor_parse_dvb_parental_rating (const GstMpegtsDescriptor
* descriptor, GPtrArray ** rating)
{
guint8 *data;
_gst_mpegts_dvb_parental_rating_item_free);
for (i = 0; i < descriptor->length - 3; i += 4) {
- GstMpegTsDVBParentalRatingItem *item =
- g_slice_new0 (GstMpegTsDVBParentalRatingItem);
+ GstMpegtsDVBParentalRatingItem *item =
+ g_slice_new0 (GstMpegtsDVBParentalRatingItem);
g_ptr_array_add (*rating, item);
item->country_code = convert_lang_code (data);
/* GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM (0x5A) */
/**
* gst_mpegts_descriptor_parse_terrestrial_delivery_system:
- * @descriptor: a %GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM #GstMpegTsDescriptor
- * @res: (out) (transfer none): #GstMpegTsTerrestrialDeliverySystemDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM #GstMpegtsDescriptor
+ * @res: (out) (transfer none): #GstMpegtsTerrestrialDeliverySystemDescriptor
*
* Parses out the terrestrial delivery system from the @descriptor.
*
*/
gboolean
gst_mpegts_descriptor_parse_terrestrial_delivery_system (const
- GstMpegTsDescriptor * descriptor,
- GstMpegTsTerrestrialDeliverySystemDescriptor * res)
+ GstMpegtsDescriptor * descriptor,
+ GstMpegtsTerrestrialDeliverySystemDescriptor * res)
{
guint8 *data;
guint8 tmp;
/* GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME (0x5B) */
static void
_gst_mpegts_dvb_multilingual_network_name_item_free
- (GstMpegTsDvbMultilingualNetworkNameItem * item)
+ (GstMpegtsDvbMultilingualNetworkNameItem * item)
{
g_free (item->network_name);
g_free (item->language_code);
- g_slice_free (GstMpegTsDvbMultilingualNetworkNameItem, item);
+ g_slice_free (GstMpegtsDvbMultilingualNetworkNameItem, item);
}
/**
* gst_mpegts_descriptor_parse_dvb_multilingual_network_name:
* @descriptor: a %GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME
- * #GstMpegTsDescriptor
- * @network_name_items: (out) (transfer full) (element-type GstMpegTsDvbMultilingualNetworkNameItem):
- * a #GstMpegTsDvbMultilingualNetworkNameItem
+ * #GstMpegtsDescriptor
+ * @network_name_items: (out) (transfer full) (element-type GstMpegtsDvbMultilingualNetworkNameItem):
+ * a #GstMpegtsDvbMultilingualNetworkNameItem
*
* Parses out the multilingual network name from the @descriptor.
*
*/
gboolean
gst_mpegts_descriptor_parse_dvb_multilingual_network_name (const
- GstMpegTsDescriptor * descriptor, GPtrArray ** network_name_items)
+ GstMpegtsDescriptor * descriptor, GPtrArray ** network_name_items)
{
guint8 *data, i, len;
- GstMpegTsDvbMultilingualNetworkNameItem *item;
+ GstMpegtsDvbMultilingualNetworkNameItem *item;
g_return_val_if_fail (descriptor != NULL && network_name_items != NULL,
FALSE);
_gst_mpegts_dvb_multilingual_network_name_item_free);
for (i = 0; i < descriptor->length - 3;) {
- item = g_slice_new0 (GstMpegTsDvbMultilingualNetworkNameItem);
+ item = g_slice_new0 (GstMpegtsDvbMultilingualNetworkNameItem);
g_ptr_array_add (*network_name_items, item);
item->language_code = convert_lang_code (data);
data += 3;
/* GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME (0x5C) */
static void
_gst_mpegts_dvb_multilingual_bouquet_name_item_free
- (GstMpegTsDvbMultilingualBouquetNameItem * item)
+ (GstMpegtsDvbMultilingualBouquetNameItem * item)
{
g_free (item->language_code);
g_free (item->bouquet_name);
- g_slice_free (GstMpegTsDvbMultilingualBouquetNameItem, item);
+ g_slice_free (GstMpegtsDvbMultilingualBouquetNameItem, item);
}
/**
* gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name:
* @descriptor: a %GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME
- * #GstMpegTsDescriptor
- * @bouquet_name_items: (out) (transfer full) (element-type GstMpegTsDvbMultilingualBouquetNameItem):
- * a #GstMpegTsDvbMultilingualBouquetNameItem
+ * #GstMpegtsDescriptor
+ * @bouquet_name_items: (out) (transfer full) (element-type GstMpegtsDvbMultilingualBouquetNameItem):
+ * a #GstMpegtsDvbMultilingualBouquetNameItem
*
* Parses out the multilingual bouquet name from the @descriptor.
*
*/
gboolean
gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name (const
- GstMpegTsDescriptor * descriptor, GPtrArray ** bouquet_name_items)
+ GstMpegtsDescriptor * descriptor, GPtrArray ** bouquet_name_items)
{
guint8 *data, i, len;
- GstMpegTsDvbMultilingualBouquetNameItem *item;
+ GstMpegtsDvbMultilingualBouquetNameItem *item;
g_return_val_if_fail (descriptor != NULL && bouquet_name_items != NULL,
FALSE);
_gst_mpegts_dvb_multilingual_bouquet_name_item_free);
for (i = 0; i < descriptor->length - 3;) {
- item = g_slice_new0 (GstMpegTsDvbMultilingualBouquetNameItem);
+ item = g_slice_new0 (GstMpegtsDvbMultilingualBouquetNameItem);
g_ptr_array_add (*bouquet_name_items, item);
item->language_code = convert_lang_code (data);
data += 3;
/* GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME (0x5D) */
static void
_gst_mpegts_dvb_multilingual_service_name_item_free
- (GstMpegTsDvbMultilingualServiceNameItem * item)
+ (GstMpegtsDvbMultilingualServiceNameItem * item)
{
g_free (item->provider_name);
g_free (item->service_name);
g_free (item->language_code);
- g_slice_free (GstMpegTsDvbMultilingualServiceNameItem, item);
+ g_slice_free (GstMpegtsDvbMultilingualServiceNameItem, item);
}
/**
* gst_mpegts_descriptor_parse_dvb_multilingual_service_name:
* @descriptor: a %GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME
- * #GstMpegTsDescriptor
- * @service_name_items: (out) (transfer full) (element-type GstMpegTsDvbMultilingualServiceNameItem):
- * a #GstMpegTsDvbMultilingualServiceNameItem
+ * #GstMpegtsDescriptor
+ * @service_name_items: (out) (transfer full) (element-type GstMpegtsDvbMultilingualServiceNameItem):
+ * a #GstMpegtsDvbMultilingualServiceNameItem
*
* Parses out the multilingual service name from the @descriptor.
*
*/
gboolean
gst_mpegts_descriptor_parse_dvb_multilingual_service_name (const
- GstMpegTsDescriptor * descriptor, GPtrArray ** service_name_items)
+ GstMpegtsDescriptor * descriptor, GPtrArray ** service_name_items)
{
guint8 *data, i, len;
- GstMpegTsDvbMultilingualServiceNameItem *item;
+ GstMpegtsDvbMultilingualServiceNameItem *item;
g_return_val_if_fail (descriptor != NULL && service_name_items != NULL,
FALSE);
_gst_mpegts_dvb_multilingual_service_name_item_free);
for (i = 0; i < descriptor->length - 3;) {
- item = g_slice_new0 (GstMpegTsDvbMultilingualServiceNameItem);
+ item = g_slice_new0 (GstMpegtsDvbMultilingualServiceNameItem);
g_ptr_array_add (*service_name_items, item);
item->language_code = convert_lang_code (data);
data += 3;
/* GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT (0x5E) */
static void
_gst_mpegts_dvb_multilingual_component_item_free
- (GstMpegTsDvbMultilingualComponentItem * item)
+ (GstMpegtsDvbMultilingualComponentItem * item)
{
g_free (item->language_code);
g_free (item->description);
- g_slice_free (GstMpegTsDvbMultilingualComponentItem, item);
+ g_slice_free (GstMpegtsDvbMultilingualComponentItem, item);
}
/**
* gst_mpegts_descriptor_parse_dvb_multilingual_component:
* @descriptor: a %GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT
- * #GstMpegTsDescriptor
+ * #GstMpegtsDescriptor
* @component_tag: the component tag
- * @component_description_items: (out) (transfer full) (element-type GstMpegTsDvbMultilingualComponentItem):
- * a #GstMpegTsDvbMultilingualComponentItem
+ * @component_description_items: (out) (transfer full) (element-type GstMpegtsDvbMultilingualComponentItem):
+ * a #GstMpegtsDvbMultilingualComponentItem
*
* Parses out the multilingual component from the @descriptor.
*
*/
gboolean
gst_mpegts_descriptor_parse_dvb_multilingual_component (const
- GstMpegTsDescriptor * descriptor, guint8 * component_tag,
+ GstMpegtsDescriptor * descriptor, guint8 * component_tag,
GPtrArray ** component_description_items)
{
guint8 *data, i, len;
- GstMpegTsDvbMultilingualComponentItem *item;
+ GstMpegtsDvbMultilingualComponentItem *item;
g_return_val_if_fail (descriptor != NULL
&& component_description_items != NULL && component_tag != NULL, FALSE);
_gst_mpegts_dvb_multilingual_component_item_free);
for (i = 0; i < descriptor->length - 3;) {
- item = g_slice_new0 (GstMpegTsDvbMultilingualComponentItem);
+ item = g_slice_new0 (GstMpegtsDvbMultilingualComponentItem);
g_ptr_array_add (*component_description_items, item);
item->language_code = convert_lang_code (data);
data += 3;
/* GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER (0x5F) */
/**
* gst_mpegts_descriptor_parse_dvb_private_data_specifier:
- * @descriptor: a %GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER #GstMpegtsDescriptor
* @private_data_specifier: (out): the private data specifier id
* registered by http://www.dvbservices.com/
* @private_data: (out) (transfer full)(allow-none): additional data or NULL
*/
gboolean
gst_mpegts_descriptor_parse_dvb_private_data_specifier (const
- GstMpegTsDescriptor * descriptor, guint32 * private_data_specifier,
+ GstMpegtsDescriptor * descriptor, guint32 * private_data_specifier,
guint8 ** private_data, guint8 * length)
{
guint8 *data;
/* GST_MTS_DESC_DVB_FREQUENCY_LIST (0x62) */
/**
* gst_mpegts_descriptor_parse_dvb_frequency_list:
- * @descriptor: a %GST_MTS_DESC_DVB_FREQUENCY_LIST #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_FREQUENCY_LIST #GstMpegtsDescriptor
* @offset: (out): %FALSE in Hz, %TRUE in kHz
* @list: (out) (transfer full) (element-type guint32): a list of all frequencies in Hz/kHz
* depending on %offset
* Returns: %TRUE if the parsing happened correctly, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_frequency_list (const GstMpegTsDescriptor
+gst_mpegts_descriptor_parse_dvb_frequency_list (const GstMpegtsDescriptor
* descriptor, gboolean * offset, GArray ** list)
{
guint8 *data, type, len;
}
/* GST_MTS_DESC_DVB_DATA_BROADCAST (0x64) */
-static GstMpegTsDataBroadcastDescriptor *
-_gst_mpegts_dvb_data_broadcast_descriptor_copy (GstMpegTsDataBroadcastDescriptor
+static GstMpegtsDataBroadcastDescriptor *
+_gst_mpegts_dvb_data_broadcast_descriptor_copy (GstMpegtsDataBroadcastDescriptor
* source)
{
- GstMpegTsDataBroadcastDescriptor *copy;
+ GstMpegtsDataBroadcastDescriptor *copy;
- copy = g_slice_dup (GstMpegTsDataBroadcastDescriptor, source);
+ copy = g_slice_dup (GstMpegtsDataBroadcastDescriptor, source);
copy->selector_bytes = g_slice_copy (source->length, source->selector_bytes);
copy->language_code = g_strdup (source->language_code);
}
void
-gst_mpegts_dvb_data_broadcast_descriptor_free (GstMpegTsDataBroadcastDescriptor
+gst_mpegts_dvb_data_broadcast_descriptor_free (GstMpegtsDataBroadcastDescriptor
* source)
{
g_free (source->selector_bytes);
g_free (source->language_code);
g_free (source->text);
- g_slice_free (GstMpegTsDataBroadcastDescriptor, source);
+ g_slice_free (GstMpegtsDataBroadcastDescriptor, source);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsDataBroadcastDescriptor,
+G_DEFINE_BOXED_TYPE (GstMpegtsDataBroadcastDescriptor,
gst_mpegts_dvb_data_broadcast_descriptor,
(GBoxedCopyFunc) _gst_mpegts_dvb_data_broadcast_descriptor_copy,
(GFreeFunc) gst_mpegts_dvb_data_broadcast_descriptor_free);
/**
* gst_mpegts_descriptor_parse_dvb_data_broadcast:
- * @descriptor: a %GST_MTS_DESC_DVB_DATA_BROADCAST #GstMpegTsDescriptor
- * @res: (out) (transfer full): #GstMpegTsDataBroadcastDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_DATA_BROADCAST #GstMpegtsDescriptor
+ * @res: (out) (transfer full): #GstMpegtsDataBroadcastDescriptor
*
* Parses out the data broadcast from the @descriptor.
*
* Returns: %TRUE if the parsing happened correctly, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_data_broadcast (const GstMpegTsDescriptor
- * descriptor, GstMpegTsDataBroadcastDescriptor ** desc)
+gst_mpegts_descriptor_parse_dvb_data_broadcast (const GstMpegtsDescriptor
+ * descriptor, GstMpegtsDataBroadcastDescriptor ** desc)
{
guint8 *data;
- GstMpegTsDataBroadcastDescriptor *res;
+ GstMpegtsDataBroadcastDescriptor *res;
g_return_val_if_fail (descriptor != NULL && desc != NULL, FALSE);
__common_desc_checks (descriptor, GST_MTS_DESC_DVB_DATA_BROADCAST, 8, FALSE);
data = (guint8 *) descriptor->data + 2;
- res = g_slice_new0 (GstMpegTsDataBroadcastDescriptor);
+ res = g_slice_new0 (GstMpegtsDataBroadcastDescriptor);
res->data_broadcast_id = GST_READ_UINT16_BE (data);
data += 2;
/* GST_MTS_DESC_DVB_SCRAMBLING (0x65) */
/**
* gst_mpegts_descriptor_parse_dvb_scrambling:
- * @descriptor: a %GST_MTS_DESC_DVB_SCRAMBLING #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_SCRAMBLING #GstMpegtsDescriptor
* @scrambling_mode: (out): This 8-bit field identifies the selected
- * mode of the scrambling algorithm (#GstMpegTsDVBScramblingModeType).
+ * 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.
* Returns: %TRUE if the parsing happened correctly, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_scrambling (const GstMpegTsDescriptor *
- descriptor, GstMpegTsDVBScramblingModeType * scrambling_mode)
+gst_mpegts_descriptor_parse_dvb_scrambling (const GstMpegtsDescriptor *
+ descriptor, GstMpegtsDVBScramblingModeType * scrambling_mode)
{
guint8 *data;
/* GST_MTS_DESC_DVB_DATA_BROADCAST_ID (0x66) */
/**
* gst_mpegts_descriptor_parse_dvb_data_broadcast_id:
- * @descriptor: a %GST_MTS_DESC_DVB_DATA_BROADCAST_ID #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_DVB_DATA_BROADCAST_ID #GstMpegtsDescriptor
* @data_broadcast_id: (out): the data broadcast id
* @id_selector_bytes: (out) (transfer full): the selector bytes, if present
* @len: (out): the length of #id_selector_bytes
* Returns: %TRUE if the parsing happened correctly, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_data_broadcast_id (const GstMpegTsDescriptor
+gst_mpegts_descriptor_parse_dvb_data_broadcast_id (const GstMpegtsDescriptor
* descriptor, guint16 * data_broadcast_id, guint8 ** id_selector_bytes,
guint8 * len)
{
}
/* GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM (0x7F && 0x04) */
-static GstMpegTsT2DeliverySystemDescriptor
+static GstMpegtsT2DeliverySystemDescriptor
* _gst_mpegts_t2_delivery_system_descriptor_copy
- (GstMpegTsT2DeliverySystemDescriptor * source)
+ (GstMpegtsT2DeliverySystemDescriptor * source)
{
- GstMpegTsT2DeliverySystemDescriptor *copy;
+ GstMpegtsT2DeliverySystemDescriptor *copy;
- copy = g_slice_dup (GstMpegTsT2DeliverySystemDescriptor, source);
+ copy = g_slice_dup (GstMpegtsT2DeliverySystemDescriptor, source);
copy->cells = g_ptr_array_ref (source->cells);
return copy;
}
void gst_mpegts_t2_delivery_system_descriptor_free
- (GstMpegTsT2DeliverySystemDescriptor * source)
+ (GstMpegtsT2DeliverySystemDescriptor * source)
{
g_ptr_array_unref (source->cells);
- g_slice_free (GstMpegTsT2DeliverySystemDescriptor, source);
+ g_slice_free (GstMpegtsT2DeliverySystemDescriptor, source);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsT2DeliverySystemDescriptor,
+G_DEFINE_BOXED_TYPE (GstMpegtsT2DeliverySystemDescriptor,
gst_mpegts_t2_delivery_system_descriptor,
(GBoxedCopyFunc) _gst_mpegts_t2_delivery_system_descriptor_copy,
(GFreeFunc) gst_mpegts_t2_delivery_system_descriptor_free);
static void
_gst_mpegts_t2_delivery_system_cell_extension_free
- (GstMpegTsT2DeliverySystemCellExtension * ext)
+ (GstMpegtsT2DeliverySystemCellExtension * ext)
{
- g_slice_free (GstMpegTsT2DeliverySystemCellExtension, ext);
+ g_slice_free (GstMpegtsT2DeliverySystemCellExtension, ext);
}
static void
-_gst_mpegts_t2_delivery_system_cell_free (GstMpegTsT2DeliverySystemCell * cell)
+_gst_mpegts_t2_delivery_system_cell_free (GstMpegtsT2DeliverySystemCell * cell)
{
g_ptr_array_unref (cell->sub_cells);
g_array_unref (cell->centre_frequencies);
- g_slice_free (GstMpegTsT2DeliverySystemCell, cell);
+ g_slice_free (GstMpegtsT2DeliverySystemCell, cell);
}
/**
* gst_mpegts_descriptor_parse_dvb_t2_delivery_system:
- * @descriptor: a %GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM #GstMpegTsDescriptor
- * @res: (out) (transfer full): #GstMpegTsT2DeliverySystemDescriptor
+ * @descriptor: a %GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM #GstMpegtsDescriptor
+ * @res: (out) (transfer full): #GstMpegtsT2DeliverySystemDescriptor
*
* Parses out the DVB-T2 delivery system from the @descriptor.
*
* Returns: %TRUE if the parsing happened correctly, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_dvb_t2_delivery_system (const GstMpegTsDescriptor
- * descriptor, GstMpegTsT2DeliverySystemDescriptor ** desc)
+gst_mpegts_descriptor_parse_dvb_t2_delivery_system (const GstMpegtsDescriptor
+ * descriptor, GstMpegtsT2DeliverySystemDescriptor ** desc)
{
guint8 *data;
guint8 len, freq_len, sub_cell_len;
guint32 tmp_freq;
guint8 i;
- GstMpegTsT2DeliverySystemDescriptor *res;
+ GstMpegtsT2DeliverySystemDescriptor *res;
g_return_val_if_fail (descriptor != NULL && desc != NULL, FALSE);
__common_desc_ext_checks (descriptor, GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM,
data = (guint8 *) descriptor->data + 3;
- res = g_slice_new0 (GstMpegTsT2DeliverySystemDescriptor);
+ res = g_slice_new0 (GstMpegtsT2DeliverySystemDescriptor);
res->plp_id = *data;
data += 1;
_gst_mpegts_t2_delivery_system_cell_free);
for (i = 0; i < len;) {
- GstMpegTsT2DeliverySystemCell *cell;
+ GstMpegtsT2DeliverySystemCell *cell;
guint8 j, k;
- cell = g_slice_new0 (GstMpegTsT2DeliverySystemCell);
+ cell = g_slice_new0 (GstMpegtsT2DeliverySystemCell);
g_ptr_array_add (res->cells, cell);
cell->cell_id = GST_READ_UINT16_BE (data);
_gst_mpegts_t2_delivery_system_cell_extension_free);
for (k = 0; k < sub_cell_len;) {
- GstMpegTsT2DeliverySystemCellExtension *cell_ext;
- cell_ext = g_slice_new0 (GstMpegTsT2DeliverySystemCellExtension);
+ GstMpegtsT2DeliverySystemCellExtension *cell_ext;
+ cell_ext = g_slice_new0 (GstMpegtsT2DeliverySystemCellExtension);
g_ptr_array_add (cell->sub_cells, cell_ext);
cell_ext->cell_id_extension = *data;
G_BEGIN_DECLS
/**
- * GstMpegTsDVBDescriptorType:
+ * GstMpegtsDVBDescriptorType:
*
- * The type of #GstMpegTsDescriptor
+ * The type of #GstMpegtsDescriptor
*
* These values correspond to the registered descriptor type from
* the various DVB specifications.
GST_MTS_DESC_DVB_XAIT_LOCATION = 0x7D,
GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT = 0x7E,
GST_MTS_DESC_DVB_EXTENSION = 0x7F,
-} GstMpegTsDVBDescriptorType;
+} GstMpegtsDVBDescriptorType;
/**
- * GstMpegTsDVBExtendedDescriptorType:
+ * GstMpegtsDVBExtendedDescriptorType:
*
- * The type of #GstMpegTsDescriptor
+ * The type of #GstMpegtsDescriptor
*
* These values correspond to the registered extended descriptor
* type from the various DVB specifications.
GST_MTS_DESC_EXT_DVB_VIDEO_DEPTH_RANGE = 0x10,
GST_MTS_DESC_EXT_DVB_T2MI = 0x11,
GST_MTS_DESC_EXT_DVB_URI_LINKAGE = 0x13,
-} GstMpegTsDVBExtendedDescriptorType;
+} GstMpegtsDVBExtendedDescriptorType;
/* GST_MTS_DESC_DVB_CAROUSEL_IDENTIFIER (0x13) */
/* FIXME : Implement */
/* GST_MTS_DESC_DVB_NETWORK_NAME (0x40) */
-gboolean gst_mpegts_descriptor_parse_dvb_network_name (const GstMpegTsDescriptor *descriptor,
+gboolean gst_mpegts_descriptor_parse_dvb_network_name (const GstMpegtsDescriptor *descriptor,
gchar **name);
-GstMpegTsDescriptor *gst_mpegts_descriptor_from_dvb_network_name (const gchar * name);
+GstMpegtsDescriptor *gst_mpegts_descriptor_from_dvb_network_name (const gchar * name);
/* GST_MTS_DESC_DVB_STUFFING (0x42) */
-gboolean gst_mpegts_descriptor_parse_dvb_stuffing (const GstMpegTsDescriptor * descriptor,
+gboolean gst_mpegts_descriptor_parse_dvb_stuffing (const GstMpegtsDescriptor * descriptor,
guint8 ** stuffing_bytes);
/* GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM (0x43) */
-typedef struct _GstMpegTsSatelliteDeliverySystemDescriptor GstMpegTsSatelliteDeliverySystemDescriptor;
+typedef struct _GstMpegtsSatelliteDeliverySystemDescriptor GstMpegtsSatelliteDeliverySystemDescriptor;
typedef enum {
GST_MPEGTS_MODULATION_QPSK = 0,
GST_MPEGTS_MODULATION_DQPSK,
GST_MPEGTS_MODULATION_QAM_4_NR_,
GST_MPEGTS_MODULATION_NONE
-} GstMpegTsModulationType;
+} GstMpegtsModulationType;
typedef enum {
GST_MPEGTS_FEC_NONE = 0,
GST_MPEGTS_FEC_3_5,
GST_MPEGTS_FEC_9_10,
GST_MPEGTS_FEC_2_5
-} GstMpegTsDVBCodeRate;
+} GstMpegtsDVBCodeRate;
typedef enum {
GST_MPEGTS_ROLLOFF_35 = 0,
GST_MPEGTS_ROLLOFF_25,
GST_MPEGTS_ROLLOFF_RESERVED,
GST_MPEGTS_ROLLOFF_AUTO
-} GstMpegTsSatelliteRolloff;
+} GstMpegtsSatelliteRolloff;
typedef enum {
GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL = 0,
GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL,
GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT,
GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT
-} GstMpegTsSatellitePolarizationType;
+} GstMpegtsSatellitePolarizationType;
/**
- * GstMpegTsSatelliteDeliverySystemDescriptor:
+ * GstMpegtsSatelliteDeliverySystemDescriptor:
* @frequency: the frequency in kHz (kiloHertz)
* @orbital_position: the orbital position in degrees
* @west_east: If %TRUE, the satellite is in the eastern part of the orbit,
*
* Satellite Delivery System Descriptor (EN 300 468 v.1.13.1)
*/
-struct _GstMpegTsSatelliteDeliverySystemDescriptor
+struct _GstMpegtsSatelliteDeliverySystemDescriptor
{
guint32 frequency;
gfloat orbital_position;
gboolean west_east;
- GstMpegTsSatellitePolarizationType polarization;
+ GstMpegtsSatellitePolarizationType polarization;
- GstMpegTsSatelliteRolloff roll_off;
+ GstMpegtsSatelliteRolloff roll_off;
gboolean modulation_system;
- GstMpegTsModulationType modulation_type;
+ GstMpegtsModulationType modulation_type;
guint32 symbol_rate;
- GstMpegTsDVBCodeRate fec_inner;
+ GstMpegtsDVBCodeRate fec_inner;
};
-gboolean gst_mpegts_descriptor_parse_satellite_delivery_system (const GstMpegTsDescriptor *descriptor,
- GstMpegTsSatelliteDeliverySystemDescriptor *res);
+gboolean gst_mpegts_descriptor_parse_satellite_delivery_system (const GstMpegtsDescriptor *descriptor,
+ GstMpegtsSatelliteDeliverySystemDescriptor *res);
/* GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM (0x44) */
GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED = 0,
GST_MPEGTS_CABLE_OUTER_FEC_NONE,
GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188,
-} GstMpegTsCableOuterFECScheme;
+} GstMpegtsCableOuterFECScheme;
-typedef struct _GstMpegTsCableDeliverySystemDescriptor GstMpegTsCableDeliverySystemDescriptor;
+typedef struct _GstMpegtsCableDeliverySystemDescriptor GstMpegtsCableDeliverySystemDescriptor;
/**
- * GstMpegTsCableDeliverySystemDescriptor:
+ * GstMpegtsCableDeliverySystemDescriptor:
* @frequency: the frequency in Hz (Hertz)
* @outer_fec: the outer FEC scheme used
* @modulation: Modulation scheme used
*
* Cable Delivery System Descriptor (EN 300 468 v.1.13.1)
*/
-struct _GstMpegTsCableDeliverySystemDescriptor
+struct _GstMpegtsCableDeliverySystemDescriptor
{
guint32 frequency;
- GstMpegTsCableOuterFECScheme outer_fec;
- GstMpegTsModulationType modulation;
+ GstMpegtsCableOuterFECScheme outer_fec;
+ GstMpegtsModulationType modulation;
guint32 symbol_rate;
- GstMpegTsDVBCodeRate fec_inner;
+ GstMpegtsDVBCodeRate fec_inner;
};
-gboolean gst_mpegts_descriptor_parse_cable_delivery_system (const GstMpegTsDescriptor *descriptor,
- GstMpegTsCableDeliverySystemDescriptor *res);
+gboolean gst_mpegts_descriptor_parse_cable_delivery_system (const GstMpegtsDescriptor *descriptor,
+ GstMpegtsCableDeliverySystemDescriptor *res);
/* GST_MTS_DESC_DVB_BOUQUET_NAME (0x47) */
-gboolean gst_mpegts_descriptor_parse_dvb_bouquet_name (const GstMpegTsDescriptor * descriptor,
+gboolean gst_mpegts_descriptor_parse_dvb_bouquet_name (const GstMpegtsDescriptor * descriptor,
gchar ** bouquet_name);
/* GST_MTS_DESC_DVB_SERVICE (0x48) */
/**
- * GstMpegTsDVBServiceType:
+ * GstMpegtsDVBServiceType:
*
* The type of service of a channel.
*
/* 0x80 - 0xfe user defined */
/* 0xff Reserved for future use */
GST_DVB_SERVICE_RESERVED_FF
-} GstMpegTsDVBServiceType;
+} GstMpegtsDVBServiceType;
-gboolean gst_mpegts_descriptor_parse_dvb_service (const GstMpegTsDescriptor *descriptor,
- GstMpegTsDVBServiceType *service_type,
+gboolean gst_mpegts_descriptor_parse_dvb_service (const GstMpegtsDescriptor *descriptor,
+ GstMpegtsDVBServiceType *service_type,
gchar **service_name,
gchar **provider_name);
-GstMpegTsDescriptor *gst_mpegts_descriptor_from_dvb_service (GstMpegTsDVBServiceType service_type,
+GstMpegtsDescriptor *gst_mpegts_descriptor_from_dvb_service (GstMpegtsDVBServiceType service_type,
const gchar * service_name,
const gchar * service_provider);
/* GST_MTS_DESC_DVB_SERVICE_LIST (0x41) */
-typedef struct _GstMpegTsDVBServiceListItem GstMpegTsDVBServiceListItem;
+typedef struct _GstMpegtsDVBServiceListItem GstMpegtsDVBServiceListItem;
/**
- * GstMpegTsDVBServiceListItem:
+ * GstMpegtsDVBServiceListItem:
* @service_id: the id of a service
* @type: the type of a service
*/
-struct _GstMpegTsDVBServiceListItem
+struct _GstMpegtsDVBServiceListItem
{
guint16 service_id;
- GstMpegTsDVBServiceType type;
+ GstMpegtsDVBServiceType type;
};
-gboolean gst_mpegts_descriptor_parse_dvb_service_list (const GstMpegTsDescriptor * descriptor,
+gboolean gst_mpegts_descriptor_parse_dvb_service_list (const GstMpegtsDescriptor * descriptor,
GPtrArray ** list);
/* GST_MTS_DESC_DVB_LINKAGE (0x4A) */
/**
- * GstMpegTsDVBLinkageType:
+ * GstMpegtsDVBLinkageType:
*
* Linkage Type (EN 300 468 v.1.13.1)
*/
GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_INT = 0x0C,
GST_MPEGTS_DVB_LINKAGE_EVENT = 0x0D,
GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT = 0x0E,
-} GstMpegTsDVBLinkageType;
+} GstMpegtsDVBLinkageType;
typedef enum {
GST_MPEGTS_DVB_LINKAGE_HAND_OVER_RESERVED = 0x00,
GST_MPEGTS_DVB_LINKAGE_HAND_OVER_IDENTICAL = 0x01,
GST_MPEGTS_DVB_LINKAGE_HAND_OVER_LOCAL_VARIATION = 0x02,
GST_MPEGTS_DVB_LINKAGE_HAND_OVER_ASSOCIATED = 0x03,
-} GstMpegTsDVBLinkageHandOverType;
+} GstMpegtsDVBLinkageHandOverType;
-typedef struct _GstMpegTsDVBLinkageMobileHandOver GstMpegTsDVBLinkageMobileHandOver;
-typedef struct _GstMpegTsDVBLinkageEvent GstMpegTsDVBLinkageEvent;
-typedef struct _GstMpegTsDVBLinkageExtendedEvent GstMpegTsDVBLinkageExtendedEvent;
-typedef struct _GstMpegTsDVBLinkageDescriptor GstMpegTsDVBLinkageDescriptor;
+typedef struct _GstMpegtsDVBLinkageMobileHandOver GstMpegtsDVBLinkageMobileHandOver;
+typedef struct _GstMpegtsDVBLinkageEvent GstMpegtsDVBLinkageEvent;
+typedef struct _GstMpegtsDVBLinkageExtendedEvent GstMpegtsDVBLinkageExtendedEvent;
+typedef struct _GstMpegtsDVBLinkageDescriptor GstMpegtsDVBLinkageDescriptor;
-struct _GstMpegTsDVBLinkageMobileHandOver
+struct _GstMpegtsDVBLinkageMobileHandOver
{
- GstMpegTsDVBLinkageHandOverType hand_over_type;
+ GstMpegtsDVBLinkageHandOverType hand_over_type;
/* 0 = NIT, 1 = SDT */
gboolean origin_type;
guint16 network_id;
guint16 initial_service_id;
};
-struct _GstMpegTsDVBLinkageEvent
+struct _GstMpegtsDVBLinkageEvent
{
guint16 target_event_id;
gboolean target_listed;
gboolean event_simulcast;
};
-struct _GstMpegTsDVBLinkageExtendedEvent
+struct _GstMpegtsDVBLinkageExtendedEvent
{
guint16 target_event_id;
gboolean target_listed;
};
/**
- * GstMpegTsDVBLinkageDescriptor:
+ * GstMpegtsDVBLinkageDescriptor:
* @transport_stream_id: the transport id
* @original_network_id: the original network id
* @service_id: the service id
* @private_data_length: the length for %private_data_bytes
* @private_data_bytes: additional data bytes
*/
-struct _GstMpegTsDVBLinkageDescriptor
+struct _GstMpegtsDVBLinkageDescriptor
{
guint16 transport_stream_id;
guint16 original_network_id;
guint16 service_id;
- GstMpegTsDVBLinkageType linkage_type;
+ GstMpegtsDVBLinkageType linkage_type;
gpointer linkage_data;
guint8 private_data_length;
guint8 *private_data_bytes;
GType gst_mpegts_dvb_linkage_descriptor_get_type (void);
-void gst_mpegts_dvb_linkage_descriptor_free (GstMpegTsDVBLinkageDescriptor * source);
+void gst_mpegts_dvb_linkage_descriptor_free (GstMpegtsDVBLinkageDescriptor * source);
-gboolean gst_mpegts_descriptor_parse_dvb_linkage (const GstMpegTsDescriptor * descriptor,
- GstMpegTsDVBLinkageDescriptor ** res);
+gboolean gst_mpegts_descriptor_parse_dvb_linkage (const GstMpegtsDescriptor * descriptor,
+ GstMpegtsDVBLinkageDescriptor ** res);
/* GST_MTS_DESC_DVB_SHORT_EVENT (0x4D) */
-gboolean gst_mpegts_descriptor_parse_dvb_short_event (const GstMpegTsDescriptor *descriptor,
+gboolean gst_mpegts_descriptor_parse_dvb_short_event (const GstMpegtsDescriptor *descriptor,
gchar **language_code,
gchar **event_name,
gchar **text);
/* GST_MTS_DESC_DVB_EXTENDED_EVENT (0x4E) */
-typedef struct _GstMpegTsExtendedEventDescriptor GstMpegTsExtendedEventDescriptor;
-typedef struct _GstMpegTsExtendedEventItem GstMpegTsExtendedEventItem;
+typedef struct _GstMpegtsExtendedEventDescriptor GstMpegtsExtendedEventDescriptor;
+typedef struct _GstMpegtsExtendedEventItem GstMpegtsExtendedEventItem;
/* FIXME : Maybe make a separate method for getting a specific item entry ? */
-struct _GstMpegTsExtendedEventItem
+struct _GstMpegtsExtendedEventItem
{
gchar *item_description;
gchar *item;
};
/**
- * GstMpegTsExtendedEventDescriptor:
+ * GstMpegtsExtendedEventDescriptor:
* @desctiptor_number:
* @last_descriptor_number:
* @language_code: NULL terminated language code.
- * @items: (element-type GstMpegTsExtendedEventItem): the #GstMpegTsExtendedEventItem
+ * @items: (element-type GstMpegtsExtendedEventItem): the #GstMpegtsExtendedEventItem
* @text:
*
* Extended Event Descriptor (EN 300 468 v.1.13.1)
*/
-struct _GstMpegTsExtendedEventDescriptor
+struct _GstMpegtsExtendedEventDescriptor
{
guint8 descriptor_number;
guint8 last_descriptor_number;
#define GST_TYPE_MPEGTS_EXTENDED_EVENT_DESCRIPTOR (gst_mpegts_extended_event_descriptor_get_type())
GType gst_mpegts_extended_event_descriptor_get_type (void);
-void gst_mpegts_extended_event_descriptor_free (GstMpegTsExtendedEventDescriptor * source);
-gboolean gst_mpegts_descriptor_parse_dvb_extended_event (const GstMpegTsDescriptor *descriptor,
- GstMpegTsExtendedEventDescriptor **res);
+void gst_mpegts_extended_event_descriptor_free (GstMpegtsExtendedEventDescriptor * source);
+gboolean gst_mpegts_descriptor_parse_dvb_extended_event (const GstMpegtsDescriptor *descriptor,
+ GstMpegtsExtendedEventDescriptor **res);
/* GST_MTS_DESC_DVB_COMPONENT (0x50) */
#define GST_TYPE_MPEGTS_COMPONENT_DESCRIPTOR (gst_mpegts_component_descriptor_get_type ())
GST_MPEGTS_STREAM_CONTENT_AAC = 0x06,
GST_MPEGTS_STREAM_CONTENT_DTS = 0x07,
GST_MPEGTS_STREAM_CONTENT_SRM_CPCM = 0x08
-} GstMpegTsComponentStreamContent;
+} GstMpegtsComponentStreamContent;
-typedef struct _GstMpegTsComponentDescriptor GstMpegTsComponentDescriptor;
-struct _GstMpegTsComponentDescriptor
+typedef struct _GstMpegtsComponentDescriptor GstMpegtsComponentDescriptor;
+struct _GstMpegtsComponentDescriptor
{
guint8 stream_content;
guint8 component_type;
};
GType gst_mpegts_component_descriptor_get_type (void);
-void gst_mpegts_dvb_component_descriptor_free (GstMpegTsComponentDescriptor * source);
-gboolean gst_mpegts_descriptor_parse_dvb_component (const GstMpegTsDescriptor *descriptor,
- GstMpegTsComponentDescriptor **res);
+void gst_mpegts_dvb_component_descriptor_free (GstMpegtsComponentDescriptor * source);
+gboolean gst_mpegts_descriptor_parse_dvb_component (const GstMpegtsDescriptor *descriptor,
+ GstMpegtsComponentDescriptor **res);
/* GST_MTS_DESC_DVB_STREAM_IDENTIFIER (0x52) */
-gboolean gst_mpegts_descriptor_parse_dvb_stream_identifier (const GstMpegTsDescriptor *descriptor,
+gboolean gst_mpegts_descriptor_parse_dvb_stream_identifier (const GstMpegtsDescriptor *descriptor,
guint8 *component_tag);
/* GST_MTS_DESC_DVB_CA_IDENTIFIER (0x53) */
-gboolean gst_mpegts_descriptor_parse_dvb_ca_identifier (const GstMpegTsDescriptor * descriptor,
+gboolean gst_mpegts_descriptor_parse_dvb_ca_identifier (const GstMpegtsDescriptor * descriptor,
GArray ** list);
/* GST_MTS_DESC_DVB_CONTENT (0x54) */
GST_MPEGTS_CONTENT_EDUCATION_SCIENCE_FACTUAL = 0x09,
GST_MPEGTS_CONTENT_LEISURE_HOBBIES = 0x0A,
GST_MPEGTS_CONTENT_SPECIAL_CHARACTERISTICS = 0x0B
-} GstMpegTsContentNibbleHi;
+} GstMpegtsContentNibbleHi;
-typedef struct _GstMpegTsContent GstMpegTsContent;
-struct _GstMpegTsContent
+typedef struct _GstMpegtsContent GstMpegtsContent;
+struct _GstMpegtsContent
{
- GstMpegTsContentNibbleHi content_nibble_1;
+ GstMpegtsContentNibbleHi content_nibble_1;
guint8 content_nibble_2;
guint8 user_byte;
};
-gboolean gst_mpegts_descriptor_parse_dvb_content (const GstMpegTsDescriptor *
+gboolean gst_mpegts_descriptor_parse_dvb_content (const GstMpegtsDescriptor *
descriptor, GPtrArray ** content);
/* GST_MTS_DESC_DVB_PARENTAL_RATING (0x55) */
-typedef struct _GstMpegTsDVBParentalRatingItem GstMpegTsDVBParentalRatingItem;
+typedef struct _GstMpegtsDVBParentalRatingItem GstMpegtsDVBParentalRatingItem;
/**
- * GstMpegTsDVBParentalRating:
+ * GstMpegtsDVBParentalRating:
* @country_code: This 24-bit field identifies a country using the 3-character
* code as specified in ISO 3166
* @rating: the rating age
*/
-struct _GstMpegTsDVBParentalRatingItem
+struct _GstMpegtsDVBParentalRatingItem
{
gchar *country_code;
guint8 rating;
};
-gboolean gst_mpegts_descriptor_parse_dvb_parental_rating (const GstMpegTsDescriptor
+gboolean gst_mpegts_descriptor_parse_dvb_parental_rating (const GstMpegtsDescriptor
* descriptor, GPtrArray ** rating);
/* GST_MTS_DESC_DVB_TELETEXT (0x56) */
/**
- * GstMpegTsDVBTeletextType:
+ * GstMpegtsDVBTeletextType:
*
* The type of teletext page.
*
ADDITIONAL_INFO_PAGE,
PROGRAMME_SCHEDULE_PAGE,
HEARING_IMPAIRED_PAGE
-} GstMpegTsDVBTeletextType;
+} GstMpegtsDVBTeletextType;
-gboolean gst_mpegts_descriptor_parse_dvb_teletext_idx (const GstMpegTsDescriptor *
+gboolean gst_mpegts_descriptor_parse_dvb_teletext_idx (const GstMpegtsDescriptor *
descriptor, guint idx, gchar ** language_code,
- GstMpegTsDVBTeletextType * teletext_type, guint8 * magazine_number,
+ GstMpegtsDVBTeletextType * teletext_type, guint8 * magazine_number,
guint8 * page_number);
-guint gst_mpegts_descriptor_parse_dvb_teletext_nb (const GstMpegTsDescriptor *
+guint gst_mpegts_descriptor_parse_dvb_teletext_nb (const GstMpegtsDescriptor *
descriptor);
/* GST_MTS_DESC_DVB_SUBTITLING (0x59) */
-gboolean gst_mpegts_descriptor_parse_dvb_subtitling_idx (const GstMpegTsDescriptor *descriptor,
+gboolean gst_mpegts_descriptor_parse_dvb_subtitling_idx (const GstMpegtsDescriptor *descriptor,
guint idx, gchar ** lang,
guint8 *type, guint16 *composition_page_id,
guint16 *ancillary_page_id);
-guint gst_mpegts_descriptor_parse_dvb_subtitling_nb (const GstMpegTsDescriptor *descriptor);
+guint gst_mpegts_descriptor_parse_dvb_subtitling_nb (const GstMpegtsDescriptor *descriptor);
-GstMpegTsDescriptor * gst_mpegts_descriptor_from_dvb_subtitling (const gchar *lang,
+GstMpegtsDescriptor * gst_mpegts_descriptor_from_dvb_subtitling (const gchar *lang,
guint8 type, guint16 composition, guint16 ancillary);
/* GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM (0x5A) */
-typedef struct _GstMpegTsTerrestrialDeliverySystemDescriptor GstMpegTsTerrestrialDeliverySystemDescriptor;
+typedef struct _GstMpegtsTerrestrialDeliverySystemDescriptor GstMpegtsTerrestrialDeliverySystemDescriptor;
typedef enum {
GST_MPEGTS_TRANSMISSION_MODE_2K = 0,
GST_MPEGTS_TRANSMISSION_MODE_32K,
GST_MPEGTS_TRANSMISSION_MODE_C1,
GST_MPEGTS_TRANSMISSION_MODE_C3780
-} GstMpegTsTerrestrialTransmissionMode;
+} GstMpegtsTerrestrialTransmissionMode;
typedef enum {
GST_MPEGTS_GUARD_INTERVAL_1_32 = 0,
GST_MPEGTS_GUARD_INTERVAL_PN420,
GST_MPEGTS_GUARD_INTERVAL_PN595,
GST_MPEGTS_GUARD_INTERVAL_PN945
-} GstMpegTsTerrestrialGuardInterval;
+} GstMpegtsTerrestrialGuardInterval;
typedef enum {
GST_MPEGTS_HIERARCHY_NONE = 0,
GST_MPEGTS_HIERARCHY_2,
GST_MPEGTS_HIERARCHY_4,
GST_MPEGTS_HIERARCHY_AUTO
-} GstMpegTsTerrestrialHierarchy;
+} GstMpegtsTerrestrialHierarchy;
/**
- * GstMpegTsTerrestrialDeliverySystemDescriptor:
+ * GstMpegtsTerrestrialDeliverySystemDescriptor:
* @frequency: the frequency in Hz (Hertz)
* @bandwidth: the bandwidth in Hz (Hertz)
* @priority: %TRUE High Priority %FALSE Low Priority
* Terrestrial Delivery System Descriptor (EN 300 468 v.1.13.1)
*/
-struct _GstMpegTsTerrestrialDeliverySystemDescriptor
+struct _GstMpegtsTerrestrialDeliverySystemDescriptor
{
guint32 frequency;
guint32 bandwidth;
gboolean priority;
gboolean time_slicing;
gboolean mpe_fec;
- GstMpegTsModulationType constellation;
- GstMpegTsTerrestrialHierarchy hierarchy;
- GstMpegTsDVBCodeRate code_rate_hp;
- GstMpegTsDVBCodeRate code_rate_lp;
- GstMpegTsTerrestrialGuardInterval guard_interval;
- GstMpegTsTerrestrialTransmissionMode transmission_mode;
+ GstMpegtsModulationType constellation;
+ GstMpegtsTerrestrialHierarchy hierarchy;
+ GstMpegtsDVBCodeRate code_rate_hp;
+ GstMpegtsDVBCodeRate code_rate_lp;
+ GstMpegtsTerrestrialGuardInterval guard_interval;
+ GstMpegtsTerrestrialTransmissionMode transmission_mode;
gboolean other_frequency;
};
-gboolean gst_mpegts_descriptor_parse_terrestrial_delivery_system (const GstMpegTsDescriptor
- *descriptor, GstMpegTsTerrestrialDeliverySystemDescriptor * res);
+gboolean gst_mpegts_descriptor_parse_terrestrial_delivery_system (const GstMpegtsDescriptor
+ *descriptor, GstMpegtsTerrestrialDeliverySystemDescriptor * res);
/* GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME (0x5B) */
-typedef struct _GstMpegTsDvbMultilingualNetworkNameItem GstMpegTsDvbMultilingualNetworkNameItem;
+typedef struct _GstMpegtsDvbMultilingualNetworkNameItem GstMpegtsDvbMultilingualNetworkNameItem;
/**
- * GstMpegTsDvbMultilingualNetworkNameItem:
+ * GstMpegtsDvbMultilingualNetworkNameItem:
* @language_code: the ISO 639 language code
* @network_name: the network name
*
* a multilingual network name entry
*/
-struct _GstMpegTsDvbMultilingualNetworkNameItem
+struct _GstMpegtsDvbMultilingualNetworkNameItem
{
gchar *language_code;
gchar *network_name;
};
-gboolean gst_mpegts_descriptor_parse_dvb_multilingual_network_name (const GstMpegTsDescriptor
+gboolean gst_mpegts_descriptor_parse_dvb_multilingual_network_name (const GstMpegtsDescriptor
*descriptor, GPtrArray ** network_name_items);
/* GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME (0x5C) */
-typedef struct _GstMpegTsDvbMultilingualBouquetNameItem GstMpegTsDvbMultilingualBouquetNameItem;
+typedef struct _GstMpegtsDvbMultilingualBouquetNameItem GstMpegtsDvbMultilingualBouquetNameItem;
/**
- * GstMpegTsDvbMultilingualBouquetNameItem:
+ * GstMpegtsDvbMultilingualBouquetNameItem:
* @language_code: the ISO 639 language code
* @bouquet_name: the bouquet name
*
* a multilingual bouquet name entry
*/
-struct _GstMpegTsDvbMultilingualBouquetNameItem
+struct _GstMpegtsDvbMultilingualBouquetNameItem
{
gchar *language_code;
gchar *bouquet_name;
};
-gboolean gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name (const GstMpegTsDescriptor
+gboolean gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name (const GstMpegtsDescriptor
*descriptor, GPtrArray ** bouquet_name_items);
/* GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME (0x5D) */
-typedef struct _GstMpegTsDvbMultilingualServiceNameItem GstMpegTsDvbMultilingualServiceNameItem;
+typedef struct _GstMpegtsDvbMultilingualServiceNameItem GstMpegtsDvbMultilingualServiceNameItem;
/**
- * GstMpegTsDvbMultilingualServiceNameItem:
+ * GstMpegtsDvbMultilingualServiceNameItem:
* @language_code: the ISO 639 language code
* @provider_name: the provider name
* @service_name: the service name
*
* a multilingual service name entry
*/
-struct _GstMpegTsDvbMultilingualServiceNameItem
+struct _GstMpegtsDvbMultilingualServiceNameItem
{
gchar *language_code;
gchar *provider_name;
gchar *service_name;
};
-gboolean gst_mpegts_descriptor_parse_dvb_multilingual_service_name (const GstMpegTsDescriptor
+gboolean gst_mpegts_descriptor_parse_dvb_multilingual_service_name (const GstMpegtsDescriptor
*descriptor, GPtrArray ** service_name_items);
/* GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT (0x5E) */
-typedef struct _GstMpegTsDvbMultilingualComponentItem GstMpegTsDvbMultilingualComponentItem;
+typedef struct _GstMpegtsDvbMultilingualComponentItem GstMpegtsDvbMultilingualComponentItem;
/**
- * GstMpegTsDvbMultilingualComponentItem:
+ * GstMpegtsDvbMultilingualComponentItem:
* @language_code: the ISO 639 language code
* @description: the component description
*/
-struct _GstMpegTsDvbMultilingualComponentItem
+struct _GstMpegtsDvbMultilingualComponentItem
{
gchar *language_code;
gchar *description;
};
-gboolean gst_mpegts_descriptor_parse_dvb_multilingual_component (const GstMpegTsDescriptor
+gboolean gst_mpegts_descriptor_parse_dvb_multilingual_component (const GstMpegtsDescriptor
*descriptor, guint8 * component_tag, GPtrArray ** component_description_items);
/* GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER (0x5F) */
-gboolean gst_mpegts_descriptor_parse_dvb_private_data_specifier (const GstMpegTsDescriptor
+gboolean gst_mpegts_descriptor_parse_dvb_private_data_specifier (const GstMpegtsDescriptor
* descriptor, guint32 * private_data_specifier, guint8 ** private_data,
guint8 * length);
/* GST_MTS_DESC_DVB_FREQUENCY_LIST (0x62) */
-gboolean gst_mpegts_descriptor_parse_dvb_frequency_list (const GstMpegTsDescriptor
+gboolean gst_mpegts_descriptor_parse_dvb_frequency_list (const GstMpegtsDescriptor
* descriptor, gboolean * offset, GArray ** list);
/* GST_MTS_DESC_DVB_DATA_BROADCAST (0x64) */
-typedef struct _GstMpegTsDataBroadcastDescriptor GstMpegTsDataBroadcastDescriptor;
+typedef struct _GstMpegtsDataBroadcastDescriptor GstMpegtsDataBroadcastDescriptor;
/**
- * GstMpegTsDataBroadcastDescriptor:
+ * GstMpegtsDataBroadcastDescriptor:
* @data_broadcast_id: the data broadcast id
* @component_tag: the component tag
* @selector_bytes: the selector byte field
* @language_code: language of @text
* @text: description of data broadcast
*/
-struct _GstMpegTsDataBroadcastDescriptor
+struct _GstMpegtsDataBroadcastDescriptor
{
guint16 data_broadcast_id;
guint8 component_tag;
#define GST_TYPE_MPEGTS_DVB_DATA_BROADCAST_DESCRIPTOR (gst_mpegts_dvb_data_broadcast_descriptor_get_type ())
GType gst_mpegts_dvb_data_broadcast_descriptor_get_type (void);
-void gst_mpegts_dvb_data_broadcast_descriptor_free (GstMpegTsDataBroadcastDescriptor * source);
-gboolean gst_mpegts_descriptor_parse_dvb_data_broadcast (const GstMpegTsDescriptor
- *descriptor, GstMpegTsDataBroadcastDescriptor ** res);
+void gst_mpegts_dvb_data_broadcast_descriptor_free (GstMpegtsDataBroadcastDescriptor * source);
+gboolean gst_mpegts_descriptor_parse_dvb_data_broadcast (const GstMpegtsDescriptor
+ *descriptor, GstMpegtsDataBroadcastDescriptor ** res);
/* GST_MTS_DESC_DVB_SCRAMBLING (0x65) */
typedef enum
/* 0x11 - 0x1f reserved for future DVB-CISSA versions */
GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_0 = 0x70,
GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_F = 0x7f,
-} GstMpegTsDVBScramblingModeType;
+} GstMpegtsDVBScramblingModeType;
-gboolean gst_mpegts_descriptor_parse_dvb_scrambling (const GstMpegTsDescriptor * descriptor,
- GstMpegTsDVBScramblingModeType * scrambling_mode);
+gboolean gst_mpegts_descriptor_parse_dvb_scrambling (const GstMpegtsDescriptor * descriptor,
+ GstMpegtsDVBScramblingModeType * scrambling_mode);
/* GST_MTS_DESC_DVB_DATA_BROADCAST_ID (0x66) */
-gboolean gst_mpegts_descriptor_parse_dvb_data_broadcast_id (const GstMpegTsDescriptor
+gboolean gst_mpegts_descriptor_parse_dvb_data_broadcast_id (const GstMpegtsDescriptor
* descriptor, guint16 * data_broadcast_id, guint8 ** id_selector_bytes, guint8 * len);
/* GST_MTS_DESC_DVB_AC3 (0x6a) */
/* FIXME : Implement */
/* GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM (0x7F && 0x04) */
-typedef struct _GstMpegTsT2DeliverySystemCellExtension GstMpegTsT2DeliverySystemCellExtension;
+typedef struct _GstMpegtsT2DeliverySystemCellExtension GstMpegtsT2DeliverySystemCellExtension;
/**
- * GstMpegTsT2DeliverySystemCellExtension:
+ * GstMpegtsT2DeliverySystemCellExtension:
* @cell_id_extension: id of the sub cell
* @transposer_frequency: centre frequency of the sub cell in Hz
*/
-struct _GstMpegTsT2DeliverySystemCellExtension
+struct _GstMpegtsT2DeliverySystemCellExtension
{
guint8 cell_id_extension;
guint32 transposer_frequency;
};
-typedef struct _GstMpegTsT2DeliverySystemCell GstMpegTsT2DeliverySystemCell;
+typedef struct _GstMpegtsT2DeliverySystemCell GstMpegtsT2DeliverySystemCell;
/**
- * GstMpegTsT2DeliverySystemCell:
+ * GstMpegtsT2DeliverySystemCell:
* @cell_id: id of the cell
* @centre_frequencies: centre frequencies in Hz
- * @sub_cells: (element-type GstMpegTsT2DeliverySystemCellExtension):
+ * @sub_cells: (element-type GstMpegtsT2DeliverySystemCellExtension):
*/
-struct _GstMpegTsT2DeliverySystemCell
+struct _GstMpegtsT2DeliverySystemCell
{
guint16 cell_id;
GArray *centre_frequencies;
GPtrArray *sub_cells;
};
-typedef struct _GstMpegTsT2DeliverySystemDescriptor GstMpegTsT2DeliverySystemDescriptor;
+typedef struct _GstMpegtsT2DeliverySystemDescriptor GstMpegtsT2DeliverySystemDescriptor;
/**
- * GstMpegTsT2DeliverySystemDescriptor:
+ * GstMpegtsT2DeliverySystemDescriptor:
* @plp_id:
* @t2_system_id:
* @siso_miso:
* @transmission_mode:
* @other_frequency:
* @tfs:
- * @cells: (element-type GstMpegTsT2DeliverySystemCell):
+ * @cells: (element-type GstMpegtsT2DeliverySystemCell):
*
* describe DVB-T2 transmissions according to EN 302 755
*/
-struct _GstMpegTsT2DeliverySystemDescriptor
+struct _GstMpegtsT2DeliverySystemDescriptor
{
guint8 plp_id;
guint16 t2_system_id;
/* FIXME: */
guint8 siso_miso;
guint32 bandwidth;
- GstMpegTsTerrestrialGuardInterval guard_interval;
- GstMpegTsTerrestrialTransmissionMode transmission_mode;
+ GstMpegtsTerrestrialGuardInterval guard_interval;
+ GstMpegtsTerrestrialTransmissionMode transmission_mode;
gboolean other_frequency;
gboolean tfs;
GPtrArray *cells;
#define GST_TYPE_MPEGTS_T2_DELIVERY_SYSTEM_DESCRIPTOR (gst_mpegts_t2_delivery_system_descriptor_get_type ())
GType gst_mpegts_t2_delivery_system_descriptor_get_type (void);
-void gst_mpegts_t2_delivery_system_descriptor_free (GstMpegTsT2DeliverySystemDescriptor * source);
-gboolean gst_mpegts_descriptor_parse_dvb_t2_delivery_system (const GstMpegTsDescriptor
- *descriptor, GstMpegTsT2DeliverySystemDescriptor ** res);
+void gst_mpegts_t2_delivery_system_descriptor_free (GstMpegtsT2DeliverySystemDescriptor * source);
+gboolean gst_mpegts_descriptor_parse_dvb_t2_delivery_system (const GstMpegtsDescriptor
+ *descriptor, GstMpegtsT2DeliverySystemDescriptor ** res);
G_END_DECLS
}
/* Event Information Table */
-static GstMpegTsEITEvent *
-_gst_mpegts_eit_event_copy (GstMpegTsEITEvent * eit)
+static GstMpegtsEITEvent *
+_gst_mpegts_eit_event_copy (GstMpegtsEITEvent * eit)
{
- GstMpegTsEITEvent *copy;
+ GstMpegtsEITEvent *copy;
- copy = g_slice_dup (GstMpegTsEITEvent, eit);
+ copy = g_slice_dup (GstMpegtsEITEvent, eit);
copy->start_time = gst_date_time_ref (eit->start_time);
copy->descriptors = g_ptr_array_ref (eit->descriptors);
}
static void
-_gst_mpegts_eit_event_free (GstMpegTsEITEvent * eit)
+_gst_mpegts_eit_event_free (GstMpegtsEITEvent * eit)
{
if (eit->start_time)
gst_date_time_unref (eit->start_time);
if (eit->descriptors)
g_ptr_array_unref (eit->descriptors);
- g_slice_free (GstMpegTsEITEvent, eit);
+ g_slice_free (GstMpegtsEITEvent, eit);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsEITEvent, gst_mpegts_eit_event,
+G_DEFINE_BOXED_TYPE (GstMpegtsEITEvent, gst_mpegts_eit_event,
(GBoxedCopyFunc) _gst_mpegts_eit_event_copy,
(GFreeFunc) _gst_mpegts_eit_event_free);
-static GstMpegTsEIT *
-_gst_mpegts_eit_copy (GstMpegTsEIT * eit)
+static GstMpegtsEIT *
+_gst_mpegts_eit_copy (GstMpegtsEIT * eit)
{
- GstMpegTsEIT *copy;
+ GstMpegtsEIT *copy;
- copy = g_slice_dup (GstMpegTsEIT, eit);
+ copy = g_slice_dup (GstMpegtsEIT, eit);
copy->events = g_ptr_array_ref (eit->events);
return copy;
}
static void
-_gst_mpegts_eit_free (GstMpegTsEIT * eit)
+_gst_mpegts_eit_free (GstMpegtsEIT * eit)
{
g_ptr_array_unref (eit->events);
- g_slice_free (GstMpegTsEIT, eit);
+ g_slice_free (GstMpegtsEIT, eit);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsEIT, gst_mpegts_eit,
+G_DEFINE_BOXED_TYPE (GstMpegtsEIT, gst_mpegts_eit,
(GBoxedCopyFunc) _gst_mpegts_eit_copy, (GFreeFunc) _gst_mpegts_eit_free);
static gpointer
-_parse_eit (GstMpegTsSection * section)
+_parse_eit (GstMpegtsSection * section)
{
- GstMpegTsEIT *eit = NULL;
+ GstMpegtsEIT *eit = NULL;
guint i = 0, allocated_events = 12;
guint8 *data, *end, *duration_ptr;
guint16 descriptors_loop_length;
- eit = g_slice_new0 (GstMpegTsEIT);
+ eit = g_slice_new0 (GstMpegtsEIT);
data = section->data;
end = data + section->section_length;
(GDestroyNotify) _gst_mpegts_eit_event_free);
while (data < end - 4) {
- GstMpegTsEITEvent *event;
+ GstMpegtsEITEvent *event;
/* 12 is the minimum entry size + CRC */
if (end - data < 12 + 4) {
goto error;
}
- event = g_slice_new0 (GstMpegTsEITEvent);
+ event = g_slice_new0 (GstMpegtsEITEvent);
g_ptr_array_add (eit->events, event);
event->event_id = GST_READ_UINT16_BE (data);
/**
* gst_mpegts_section_get_eit:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_EIT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_EIT
*
- * Returns the #GstMpegTsEIT contained in the @section.
+ * Returns the #GstMpegtsEIT contained in the @section.
*
- * Returns: The #GstMpegTsEIT contained in the section, or %NULL if an error
+ * Returns: The #GstMpegtsEIT contained in the section, or %NULL if an error
* happened.
*/
-const GstMpegTsEIT *
-gst_mpegts_section_get_eit (GstMpegTsSection * section)
+const GstMpegtsEIT *
+gst_mpegts_section_get_eit (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_EIT, NULL);
g_return_val_if_fail (section->cached_parsed || section->data, NULL);
section->cached_parsed = __common_section_checks (section, 18, _parse_eit,
(GDestroyNotify) _gst_mpegts_eit_free);
- return (const GstMpegTsEIT *) section->cached_parsed;
+ return (const GstMpegtsEIT *) section->cached_parsed;
}
/* Bouquet Association Table */
-static GstMpegTsBATStream *
-_gst_mpegts_bat_stream_copy (GstMpegTsBATStream * bat)
+static GstMpegtsBATStream *
+_gst_mpegts_bat_stream_copy (GstMpegtsBATStream * bat)
{
- GstMpegTsBATStream *copy;
+ GstMpegtsBATStream *copy;
- copy = g_slice_dup (GstMpegTsBATStream, bat);
+ copy = g_slice_dup (GstMpegtsBATStream, bat);
copy->descriptors = g_ptr_array_ref (bat->descriptors);
return copy;
}
static void
-_gst_mpegts_bat_stream_free (GstMpegTsBATStream * bat)
+_gst_mpegts_bat_stream_free (GstMpegtsBATStream * bat)
{
if (bat->descriptors)
g_ptr_array_unref (bat->descriptors);
- g_slice_free (GstMpegTsBATStream, bat);
+ g_slice_free (GstMpegtsBATStream, bat);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsBATStream, gst_mpegts_bat_stream,
+G_DEFINE_BOXED_TYPE (GstMpegtsBATStream, gst_mpegts_bat_stream,
(GBoxedCopyFunc) _gst_mpegts_bat_stream_copy,
(GFreeFunc) _gst_mpegts_bat_stream_free);
-static GstMpegTsBAT *
-_gst_mpegts_bat_copy (GstMpegTsBAT * bat)
+static GstMpegtsBAT *
+_gst_mpegts_bat_copy (GstMpegtsBAT * bat)
{
- GstMpegTsBAT *copy;
+ GstMpegtsBAT *copy;
- copy = g_slice_dup (GstMpegTsBAT, bat);
+ copy = g_slice_dup (GstMpegtsBAT, bat);
copy->descriptors = g_ptr_array_ref (bat->descriptors);
copy->streams = g_ptr_array_ref (bat->streams);
}
static void
-_gst_mpegts_bat_free (GstMpegTsBAT * bat)
+_gst_mpegts_bat_free (GstMpegtsBAT * bat)
{
if (bat->descriptors)
g_ptr_array_unref (bat->descriptors);
if (bat->streams)
g_ptr_array_unref (bat->streams);
- g_slice_free (GstMpegTsBAT, bat);
+ g_slice_free (GstMpegtsBAT, bat);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsBAT, gst_mpegts_bat,
+G_DEFINE_BOXED_TYPE (GstMpegtsBAT, gst_mpegts_bat,
(GBoxedCopyFunc) _gst_mpegts_bat_copy, (GFreeFunc) _gst_mpegts_bat_free);
static gpointer
-_parse_bat (GstMpegTsSection * section)
+_parse_bat (GstMpegtsSection * section)
{
- GstMpegTsBAT *bat = NULL;
+ GstMpegtsBAT *bat = NULL;
guint i = 0, allocated_streams = 12;
guint8 *data, *end, *entry_begin;
guint16 descriptors_loop_length, transport_stream_loop_length;
GST_DEBUG ("BAT");
- bat = g_slice_new0 (GstMpegTsBAT);
+ bat = g_slice_new0 (GstMpegtsBAT);
data = section->data;
end = data + section->section_length;
/* read up to the CRC */
while (transport_stream_loop_length - 4 > 0) {
- GstMpegTsBATStream *stream = g_slice_new0 (GstMpegTsBATStream);
+ GstMpegtsBATStream *stream = g_slice_new0 (GstMpegtsBATStream);
g_ptr_array_add (bat->streams, stream);
/**
* gst_mpegts_section_get_bat:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_BAT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_BAT
*
- * Returns the #GstMpegTsBAT contained in the @section.
+ * Returns the #GstMpegtsBAT contained in the @section.
*
- * Returns: The #GstMpegTsBAT contained in the section, or %NULL if an error
+ * Returns: The #GstMpegtsBAT contained in the section, or %NULL if an error
* happened.
*/
-const GstMpegTsBAT *
-gst_mpegts_section_get_bat (GstMpegTsSection * section)
+const GstMpegtsBAT *
+gst_mpegts_section_get_bat (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_BAT, NULL);
g_return_val_if_fail (section->cached_parsed || section->data, NULL);
__common_section_checks (section, 16, _parse_bat,
(GDestroyNotify) _gst_mpegts_bat_free);
- return (const GstMpegTsBAT *) section->cached_parsed;
+ return (const GstMpegtsBAT *) section->cached_parsed;
}
/* Network Information Table */
-static GstMpegTsNITStream *
-_gst_mpegts_nit_stream_copy (GstMpegTsNITStream * nit)
+static GstMpegtsNITStream *
+_gst_mpegts_nit_stream_copy (GstMpegtsNITStream * nit)
{
- GstMpegTsNITStream *copy;
+ GstMpegtsNITStream *copy;
- copy = g_slice_dup (GstMpegTsNITStream, nit);
+ copy = g_slice_dup (GstMpegtsNITStream, nit);
copy->descriptors = g_ptr_array_ref (nit->descriptors);
return copy;
}
static void
-_gst_mpegts_nit_stream_free (GstMpegTsNITStream * nit)
+_gst_mpegts_nit_stream_free (GstMpegtsNITStream * nit)
{
if (nit->descriptors)
g_ptr_array_unref (nit->descriptors);
- g_slice_free (GstMpegTsNITStream, nit);
+ g_slice_free (GstMpegtsNITStream, nit);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsNITStream, gst_mpegts_nit_stream,
+G_DEFINE_BOXED_TYPE (GstMpegtsNITStream, gst_mpegts_nit_stream,
(GBoxedCopyFunc) _gst_mpegts_nit_stream_copy,
(GFreeFunc) _gst_mpegts_nit_stream_free);
-static GstMpegTsNIT *
-_gst_mpegts_nit_copy (GstMpegTsNIT * nit)
+static GstMpegtsNIT *
+_gst_mpegts_nit_copy (GstMpegtsNIT * nit)
{
- GstMpegTsNIT *copy = g_slice_dup (GstMpegTsNIT, nit);
+ GstMpegtsNIT *copy = g_slice_dup (GstMpegtsNIT, nit);
copy->descriptors = g_ptr_array_ref (nit->descriptors);
copy->streams = g_ptr_array_ref (nit->streams);
}
static void
-_gst_mpegts_nit_free (GstMpegTsNIT * nit)
+_gst_mpegts_nit_free (GstMpegtsNIT * nit)
{
if (nit->descriptors)
g_ptr_array_unref (nit->descriptors);
g_ptr_array_unref (nit->streams);
- g_slice_free (GstMpegTsNIT, nit);
+ g_slice_free (GstMpegtsNIT, nit);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsNIT, gst_mpegts_nit,
+G_DEFINE_BOXED_TYPE (GstMpegtsNIT, gst_mpegts_nit,
(GBoxedCopyFunc) _gst_mpegts_nit_copy, (GFreeFunc) _gst_mpegts_nit_free);
static gpointer
-_parse_nit (GstMpegTsSection * section)
+_parse_nit (GstMpegtsSection * section)
{
- GstMpegTsNIT *nit = NULL;
+ GstMpegtsNIT *nit = NULL;
guint i = 0, allocated_streams = 12;
guint8 *data, *end, *entry_begin;
guint16 descriptors_loop_length, transport_stream_loop_length;
GST_DEBUG ("NIT");
- nit = g_slice_new0 (GstMpegTsNIT);
+ nit = g_slice_new0 (GstMpegtsNIT);
data = section->data;
end = data + section->section_length;
/* read up to the CRC */
while (transport_stream_loop_length - 4 > 0) {
- GstMpegTsNITStream *stream = g_slice_new0 (GstMpegTsNITStream);
+ GstMpegtsNITStream *stream = g_slice_new0 (GstMpegtsNITStream);
g_ptr_array_add (nit->streams, stream);
/**
* gst_mpegts_section_get_nit:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_NIT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_NIT
*
- * Returns the #GstMpegTsNIT contained in the @section.
+ * Returns the #GstMpegtsNIT contained in the @section.
*
- * Returns: The #GstMpegTsNIT contained in the section, or %NULL if an error
+ * Returns: The #GstMpegtsNIT contained in the section, or %NULL if an error
* happened.
*/
-const GstMpegTsNIT *
-gst_mpegts_section_get_nit (GstMpegTsSection * section)
+const GstMpegtsNIT *
+gst_mpegts_section_get_nit (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_NIT, NULL);
g_return_val_if_fail (section->cached_parsed || section->data, NULL);
__common_section_checks (section, 16, _parse_nit,
(GDestroyNotify) _gst_mpegts_nit_free);
- return (const GstMpegTsNIT *) section->cached_parsed;
+ return (const GstMpegtsNIT *) section->cached_parsed;
}
/**
* gst_mpegts_nit_new:
*
- * Allocates and initializes a #GstMpegTsNIT.
+ * Allocates and initializes a #GstMpegtsNIT.
*
- * Returns: (transfer full): A newly allocated #GstMpegTsNIT
+ * Returns: (transfer full): A newly allocated #GstMpegtsNIT
*/
-GstMpegTsNIT *
+GstMpegtsNIT *
gst_mpegts_nit_new (void)
{
- GstMpegTsNIT *nit;
+ GstMpegtsNIT *nit;
- nit = g_slice_new0 (GstMpegTsNIT);
+ nit = g_slice_new0 (GstMpegtsNIT);
nit->descriptors =
g_ptr_array_new_with_free_func ((GDestroyNotify) _free_descriptor);
/**
* gst_mpegts_nit_stream_new:
*
- * Allocates and initializes a #GstMpegTsNITStream
+ * Allocates and initializes a #GstMpegtsNITStream
*
- * Returns: (transfer full): A newly allocated #GstMpegTsNITStream
+ * Returns: (transfer full): A newly allocated #GstMpegtsNITStream
*/
-GstMpegTsNITStream *
+GstMpegtsNITStream *
gst_mpegts_nit_stream_new (void)
{
- GstMpegTsNITStream *stream;
+ GstMpegtsNITStream *stream;
- stream = g_slice_new0 (GstMpegTsNITStream);
+ stream = g_slice_new0 (GstMpegtsNITStream);
stream->descriptors = g_ptr_array_new_with_free_func (
(GDestroyNotify) _free_descriptor);
}
static gboolean
-_packetize_nit (GstMpegTsSection * section)
+_packetize_nit (GstMpegtsSection * section)
{
gsize length, network_length, loop_length;
- const GstMpegTsNIT *nit;
- GstMpegTsNITStream *stream;
- GstMpegTsDescriptor *descriptor;
+ const GstMpegtsNIT *nit;
+ GstMpegtsNITStream *stream;
+ GstMpegtsDescriptor *descriptor;
guint i, j;
guint8 *data, *pos;
/**
* gst_mpegts_section_from_nit:
- * @nit: (transfer full): a #GstMpegTsNIT to create the #GstMpegTsSection from
+ * @nit: (transfer full): a #GstMpegtsNIT to create the #GstMpegtsSection from
*
- * Ownership of @nit is taken. The data in @nit is managed by the #GstMpegTsSection
+ * Ownership of @nit is taken. The data in @nit is managed by the #GstMpegtsSection
*
- * Returns: (transfer full): the #GstMpegTsSection
+ * Returns: (transfer full): the #GstMpegtsSection
*/
-GstMpegTsSection *
-gst_mpegts_section_from_nit (GstMpegTsNIT * nit)
+GstMpegtsSection *
+gst_mpegts_section_from_nit (GstMpegtsNIT * nit)
{
- GstMpegTsSection *section;
+ GstMpegtsSection *section;
g_return_val_if_fail (nit != NULL, NULL);
/* Service Description Table (SDT) */
-static GstMpegTsSDTService *
-_gst_mpegts_sdt_service_copy (GstMpegTsSDTService * sdt)
+static GstMpegtsSDTService *
+_gst_mpegts_sdt_service_copy (GstMpegtsSDTService * sdt)
{
- GstMpegTsSDTService *copy = g_slice_dup (GstMpegTsSDTService, sdt);
+ GstMpegtsSDTService *copy = g_slice_dup (GstMpegtsSDTService, sdt);
copy->descriptors = g_ptr_array_ref (sdt->descriptors);
}
static void
-_gst_mpegts_sdt_service_free (GstMpegTsSDTService * sdt)
+_gst_mpegts_sdt_service_free (GstMpegtsSDTService * sdt)
{
if (sdt->descriptors)
g_ptr_array_unref (sdt->descriptors);
- g_slice_free (GstMpegTsSDTService, sdt);
+ g_slice_free (GstMpegtsSDTService, sdt);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsSDTService, gst_mpegts_sdt_service,
+G_DEFINE_BOXED_TYPE (GstMpegtsSDTService, gst_mpegts_sdt_service,
(GBoxedCopyFunc) _gst_mpegts_sdt_service_copy,
(GFreeFunc) _gst_mpegts_sdt_service_free);
-static GstMpegTsSDT *
-_gst_mpegts_sdt_copy (GstMpegTsSDT * sdt)
+static GstMpegtsSDT *
+_gst_mpegts_sdt_copy (GstMpegtsSDT * sdt)
{
- GstMpegTsSDT *copy = g_slice_dup (GstMpegTsSDT, sdt);
+ GstMpegtsSDT *copy = g_slice_dup (GstMpegtsSDT, sdt);
copy->services = g_ptr_array_ref (sdt->services);
}
static void
-_gst_mpegts_sdt_free (GstMpegTsSDT * sdt)
+_gst_mpegts_sdt_free (GstMpegtsSDT * sdt)
{
g_ptr_array_unref (sdt->services);
- g_slice_free (GstMpegTsSDT, sdt);
+ g_slice_free (GstMpegtsSDT, sdt);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsSDT, gst_mpegts_sdt,
+G_DEFINE_BOXED_TYPE (GstMpegtsSDT, gst_mpegts_sdt,
(GBoxedCopyFunc) _gst_mpegts_sdt_copy, (GFreeFunc) _gst_mpegts_sdt_free);
static gpointer
-_parse_sdt (GstMpegTsSection * section)
+_parse_sdt (GstMpegtsSection * section)
{
- GstMpegTsSDT *sdt = NULL;
+ GstMpegtsSDT *sdt = NULL;
guint i = 0, allocated_services = 8;
guint8 *data, *end, *entry_begin;
guint tmp;
GST_DEBUG ("SDT");
- sdt = g_slice_new0 (GstMpegTsSDT);
+ sdt = g_slice_new0 (GstMpegtsSDT);
data = section->data;
end = data + section->section_length;
/* read up to the CRC */
while (sdt_info_length - 4 > 0) {
- GstMpegTsSDTService *service = g_slice_new0 (GstMpegTsSDTService);
+ GstMpegtsSDTService *service = g_slice_new0 (GstMpegtsSDTService);
g_ptr_array_add (sdt->services, service);
entry_begin = data;
/**
* gst_mpegts_section_get_sdt:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_SDT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_SDT
*
- * Returns the #GstMpegTsSDT contained in the @section.
+ * Returns the #GstMpegtsSDT contained in the @section.
*
- * Returns: The #GstMpegTsSDT contained in the section, or %NULL if an error
+ * Returns: The #GstMpegtsSDT contained in the section, or %NULL if an error
* happened.
*/
-const GstMpegTsSDT *
-gst_mpegts_section_get_sdt (GstMpegTsSection * section)
+const GstMpegtsSDT *
+gst_mpegts_section_get_sdt (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_SDT, NULL);
g_return_val_if_fail (section->cached_parsed || section->data, NULL);
__common_section_checks (section, 15, _parse_sdt,
(GDestroyNotify) _gst_mpegts_sdt_free);
- return (const GstMpegTsSDT *) section->cached_parsed;
+ return (const GstMpegtsSDT *) section->cached_parsed;
}
/**
* gst_mpegts_sdt_new:
*
- * Allocates and initializes a #GstMpegTsSDT.
+ * Allocates and initializes a #GstMpegtsSDT.
*
- * Returns: (transfer full): A newly allocated #GstMpegTsSDT
+ * Returns: (transfer full): A newly allocated #GstMpegtsSDT
*/
-GstMpegTsSDT *
+GstMpegtsSDT *
gst_mpegts_sdt_new (void)
{
- GstMpegTsSDT *sdt;
+ GstMpegtsSDT *sdt;
- sdt = g_slice_new0 (GstMpegTsSDT);
+ sdt = g_slice_new0 (GstMpegtsSDT);
sdt->services = g_ptr_array_new_with_free_func ((GDestroyNotify)
_gst_mpegts_sdt_service_free);
/**
* gst_mpegts_sdt_service_new:
*
- * Allocates and initializes a #GstMpegTsSDTService.
+ * Allocates and initializes a #GstMpegtsSDTService.
*
- * Returns: (transfer full): A newly allocated #GstMpegTsSDTService
+ * Returns: (transfer full): A newly allocated #GstMpegtsSDTService
*/
-GstMpegTsSDTService *
+GstMpegtsSDTService *
gst_mpegts_sdt_service_new (void)
{
- GstMpegTsSDTService *service;
+ GstMpegtsSDTService *service;
- service = g_slice_new0 (GstMpegTsSDTService);
+ service = g_slice_new0 (GstMpegtsSDTService);
service->descriptors = g_ptr_array_new_with_free_func ((GDestroyNotify)
_free_descriptor);
}
static gboolean
-_packetize_sdt (GstMpegTsSection * section)
+_packetize_sdt (GstMpegtsSection * section)
{
gsize length, service_length;
- const GstMpegTsSDT *sdt;
- GstMpegTsSDTService *service;
- GstMpegTsDescriptor *descriptor;
+ const GstMpegtsSDT *sdt;
+ GstMpegtsSDTService *service;
+ GstMpegtsDescriptor *descriptor;
guint i, j;
guint8 *data, *pos;
/**
* gst_mpegts_section_from_sdt:
- * @sdt: (transfer full): a #GstMpegTsSDT to create the #GstMpegTsSection from
+ * @sdt: (transfer full): a #GstMpegtsSDT to create the #GstMpegtsSection from
*
- * Ownership of @sdt is taken. The data in @sdt is managed by the #GstMpegTsSection
+ * Ownership of @sdt is taken. The data in @sdt is managed by the #GstMpegtsSection
*
- * Returns: (transfer full): the #GstMpegTsSection
+ * Returns: (transfer full): the #GstMpegtsSection
*/
-GstMpegTsSection *
-gst_mpegts_section_from_sdt (GstMpegTsSDT * sdt)
+GstMpegtsSection *
+gst_mpegts_section_from_sdt (GstMpegtsSDT * sdt)
{
- GstMpegTsSection *section;
+ GstMpegtsSection *section;
g_return_val_if_fail (sdt != NULL, NULL);
/* Time and Date Table (TDT) */
static gpointer
-_parse_tdt (GstMpegTsSection * section)
+_parse_tdt (GstMpegtsSection * section)
{
return (gpointer) _parse_utc_time (section->data + 3);
}
/**
* gst_mpegts_section_get_tdt:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_TDT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_TDT
*
* Returns the #GstDateTime of the TDT
*
* if an error happened. Release with #gst_date_time_unref when done.
*/
GstDateTime *
-gst_mpegts_section_get_tdt (GstMpegTsSection * section)
+gst_mpegts_section_get_tdt (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_TDT, NULL);
g_return_val_if_fail (section->cached_parsed || section->data, NULL);
/* Time Offset Table (TOT) */
-static GstMpegTsTOT *
-_gst_mpegts_tot_copy (GstMpegTsTOT * tot)
+static GstMpegtsTOT *
+_gst_mpegts_tot_copy (GstMpegtsTOT * tot)
{
- GstMpegTsTOT *copy = g_slice_dup (GstMpegTsTOT, tot);
+ GstMpegtsTOT *copy = g_slice_dup (GstMpegtsTOT, tot);
if (tot->utc_time)
copy->utc_time = gst_date_time_ref (tot->utc_time);
}
static void
-_gst_mpegts_tot_free (GstMpegTsTOT * tot)
+_gst_mpegts_tot_free (GstMpegtsTOT * tot)
{
if (tot->utc_time)
gst_date_time_unref (tot->utc_time);
if (tot->descriptors)
g_ptr_array_unref (tot->descriptors);
- g_slice_free (GstMpegTsTOT, tot);
+ g_slice_free (GstMpegtsTOT, tot);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsTOT, gst_mpegts_tot,
+G_DEFINE_BOXED_TYPE (GstMpegtsTOT, gst_mpegts_tot,
(GBoxedCopyFunc) _gst_mpegts_tot_copy, (GFreeFunc) _gst_mpegts_tot_free);
static gpointer
-_parse_tot (GstMpegTsSection * section)
+_parse_tot (GstMpegtsSection * section)
{
guint8 *data;
- GstMpegTsTOT *tot;
+ GstMpegtsTOT *tot;
guint16 desc_len;
GST_DEBUG ("TOT");
- tot = g_slice_new0 (GstMpegTsTOT);
+ tot = g_slice_new0 (GstMpegtsTOT);
tot->utc_time = _parse_utc_time (section->data + 3);
/**
* gst_mpegts_section_get_tot:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_TOT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_TOT
*
- * Returns the #GstMpegTsTOT contained in the @section.
+ * Returns the #GstMpegtsTOT contained in the @section.
*
- * Returns: The #GstMpegTsTOT contained in the section, or %NULL if an error
+ * Returns: The #GstMpegtsTOT contained in the section, or %NULL if an error
* happened.
*/
-const GstMpegTsTOT *
-gst_mpegts_section_get_tot (GstMpegTsSection * section)
+const GstMpegtsTOT *
+gst_mpegts_section_get_tot (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_TOT, NULL);
g_return_val_if_fail (section->cached_parsed || section->data, NULL);
__common_section_checks (section, 14, _parse_tot,
(GDestroyNotify) _gst_mpegts_tot_free);
- return (const GstMpegTsTOT *) section->cached_parsed;
+ return (const GstMpegtsTOT *) section->cached_parsed;
}
G_BEGIN_DECLS
/**
- * GstMpegTsSectionDVBTableID:
+ * GstMpegtsSectionDVBTableID:
*
- * Values for a #GstMpegTsSection table_id.
+ * Values for a #GstMpegtsSection table_id.
*
* These are the registered DVB table_id variants.
*
- * see also: #GstMpegTsSectionTableID
+ * see also: #GstMpegtsSectionTableID
*/
typedef enum {
/* EN 300 468 (DVB) v 1.12.1 */
GST_MTS_TABLE_ID_TIM = 0xB0,
GST_MTS_TABLE_ID_LL_FEC_PARITY_DATA_TABLE = 0xB1
-} GstMpegTsSectionDVBTableID;
+} GstMpegtsSectionDVBTableID;
/**
- * GstMpegTsRunningStatus:
+ * GstMpegtsRunningStatus:
*
* Running status of a service.
*
GST_MPEGTS_RUNNING_STATUS_PAUSING,
GST_MPEGTS_RUNNING_STATUS_RUNNING,
GST_MPEGTS_RUNNING_STATUS_OFF_AIR
-} GstMpegTsRunningStatus;
+} GstMpegtsRunningStatus;
/* NIT */
-typedef struct _GstMpegTsNITStream GstMpegTsNITStream;
-typedef struct _GstMpegTsNIT GstMpegTsNIT;
+typedef struct _GstMpegtsNITStream GstMpegtsNITStream;
+typedef struct _GstMpegtsNIT GstMpegtsNIT;
#define GST_TYPE_MPEGTS_NIT (gst_mpegts_nit_get_type())
#define GST_TYPE_MPEGTS_NIT_STREAM (gst_mpegts_nit_stream_get_type())
/**
- * GstMpegTsNITStream:
+ * GstMpegtsNITStream:
* @transport_stream_id:
* @original_network_id:
- * @descriptors: (element-type GstMpegTsDescriptor):
+ * @descriptors: (element-type GstMpegtsDescriptor):
*
*/
-struct _GstMpegTsNITStream
+struct _GstMpegtsNITStream
{
guint16 transport_stream_id;
guint16 original_network_id;
};
/**
- * GstMpegTsNIT:
+ * GstMpegtsNIT:
* @actual_network: Whether this NIT corresponds to the actual stream
* @network_id: ID of the network that this NIT describes
- * @descriptors: (element-type GstMpegTsDescriptor): the global descriptors
- * @streams: (element-type GstMpegTsNITStream): the streams
+ * @descriptors: (element-type GstMpegtsDescriptor): the global descriptors
+ * @streams: (element-type GstMpegtsNITStream): the streams
*
* Network Information Table (ISO/IEC 13818-1 / EN 300 468)
*
*/
-struct _GstMpegTsNIT
+struct _GstMpegtsNIT
{
gboolean actual_network;
guint16 network_id;
GType gst_mpegts_nit_get_type (void);
GType gst_mpegts_nit_stream_get_type (void);
-const GstMpegTsNIT *gst_mpegts_section_get_nit (GstMpegTsSection *section);
-GstMpegTsSection *gst_mpegts_section_from_nit (GstMpegTsNIT *nit);
+const GstMpegtsNIT *gst_mpegts_section_get_nit (GstMpegtsSection *section);
+GstMpegtsSection *gst_mpegts_section_from_nit (GstMpegtsNIT *nit);
-GstMpegTsNIT *gst_mpegts_nit_new (void);
-GstMpegTsNITStream *gst_mpegts_nit_stream_new (void);
+GstMpegtsNIT *gst_mpegts_nit_new (void);
+GstMpegtsNITStream *gst_mpegts_nit_stream_new (void);
/* BAT */
-typedef struct _GstMpegTsBATStream GstMpegTsBATStream;
-typedef struct _GstMpegTsBAT GstMpegTsBAT;
+typedef struct _GstMpegtsBATStream GstMpegtsBATStream;
+typedef struct _GstMpegtsBAT GstMpegtsBAT;
#define GST_TYPE_MPEGTS_BAT (gst_mpegts_bat_get_type())
#define GST_TYPE_MPEGTS_BAT_STREAM (gst_mpegts_bat_get_type())
-struct _GstMpegTsBATStream
+struct _GstMpegtsBATStream
{
guint16 transport_stream_id;
guint16 original_network_id;
};
/**
- * GstMpegTsBAT:
- * @descriptors: (element-type GstMpegTsDescriptor):
- * @streams: (element-type GstMpegTsBATStream):
+ * GstMpegtsBAT:
+ * @descriptors: (element-type GstMpegtsDescriptor):
+ * @streams: (element-type GstMpegtsBATStream):
*
* DVB Bouquet Association Table (EN 300 468)
*/
-struct _GstMpegTsBAT
+struct _GstMpegtsBAT
{
GPtrArray *descriptors;
GType gst_mpegts_bat_get_type (void);
GType gst_mpegts_bat_stream_get_type (void);
-const GstMpegTsBAT *gst_mpegts_section_get_bat (GstMpegTsSection *section);
+const GstMpegtsBAT *gst_mpegts_section_get_bat (GstMpegtsSection *section);
/* SDT */
#define GST_TYPE_MPEGTS_SDT (gst_mpegts_sdt_get_type())
#define GST_TYPE_MPEGTS_SDT_SERVICE (gst_mpegts_sdt_service_get_type())
-typedef struct _GstMpegTsSDTService GstMpegTsSDTService;
-typedef struct _GstMpegTsSDT GstMpegTsSDT;
+typedef struct _GstMpegtsSDTService GstMpegtsSDTService;
+typedef struct _GstMpegtsSDT GstMpegtsSDT;
/**
- * GstMpegTsSDTService:
+ * GstMpegtsSDTService:
* @service_id: The program number this table belongs to
* @EIT_schedule_flag: EIT schedule information is present in this transport stream
* @EIT_present_following_flag: EIT present/following information is present in this transport stream
* @running_status: Status of this service
* @free_CA_mode: True if one or more streams is controlled by a CA system
- * @descriptors: (element-type GstMpegTsDescriptor): List of descriptors
+ * @descriptors: (element-type GstMpegtsDescriptor): List of descriptors
*
*/
-struct _GstMpegTsSDTService
+struct _GstMpegtsSDTService
{
guint16 service_id;
gboolean EIT_schedule_flag;
gboolean EIT_present_following_flag;
- GstMpegTsRunningStatus running_status;
+ GstMpegtsRunningStatus running_status;
gboolean free_CA_mode;
GPtrArray *descriptors;
};
/**
- * GstMpegTsSDT:
+ * GstMpegtsSDT:
* @original_network_id: Network ID of the originating delivery system
* @actual_ts: True if the table describes this transport stream
* @transport_stream_id: ID of this transport stream
- * @services: (element-type GstMpegTsSDTService): List of services
+ * @services: (element-type GstMpegtsSDTService): List of services
*
* Service Description Table (EN 300 468)
*
*/
-struct _GstMpegTsSDT
+struct _GstMpegtsSDT
{
guint16 original_network_id;
gboolean actual_ts;
GType gst_mpegts_sdt_get_type (void);
GType gst_mpegts_sdt_service_get_type (void);
-const GstMpegTsSDT *gst_mpegts_section_get_sdt (GstMpegTsSection *section);
+const GstMpegtsSDT *gst_mpegts_section_get_sdt (GstMpegtsSection *section);
-GstMpegTsSection *gst_mpegts_section_from_sdt (GstMpegTsSDT * sdt);
+GstMpegtsSection *gst_mpegts_section_from_sdt (GstMpegtsSDT * sdt);
-GstMpegTsSDT *gst_mpegts_sdt_new (void);
-GstMpegTsSDTService *gst_mpegts_sdt_service_new (void);
+GstMpegtsSDT *gst_mpegts_sdt_new (void);
+GstMpegtsSDTService *gst_mpegts_sdt_service_new (void);
/* EIT */
#define GST_TYPE_MPEGTS_EIT (gst_mpegts_eit_get_type())
#define GST_TYPE_MPEGTS_EIT_EVENT (gst_mpegts_eit_event_get_type())
-typedef struct _GstMpegTsEITEvent GstMpegTsEITEvent;
-typedef struct _GstMpegTsEIT GstMpegTsEIT;
+typedef struct _GstMpegtsEITEvent GstMpegtsEITEvent;
+typedef struct _GstMpegtsEIT GstMpegtsEIT;
/**
- * GstMpegTsEITEvent:
- * @descriptors: (element-type GstMpegTsDescriptor): List of descriptors
+ * GstMpegtsEITEvent:
+ * @descriptors: (element-type GstMpegtsDescriptor): List of descriptors
*
- * Event from a @GstMpegTsEIT
+ * Event from a @GstMpegtsEIT
*/
-struct _GstMpegTsEITEvent
+struct _GstMpegtsEITEvent
{
guint16 event_id;
GstDateTime *start_time;
guint32 duration;
- GstMpegTsRunningStatus running_status;
+ GstMpegtsRunningStatus running_status;
gboolean free_CA_mode;
GPtrArray *descriptors;
};
/**
- * GstMpegTsEIT:
- * @events: (element-type GstMpegTsEITEvent): List of events
+ * GstMpegtsEIT:
+ * @events: (element-type GstMpegtsEITEvent): List of events
*
* Event Information Table (EN 300 468)
*
*/
-struct _GstMpegTsEIT
+struct _GstMpegtsEIT
{
guint16 transport_stream_id;
guint16 original_network_id;
GType gst_mpegts_eit_get_type (void);
GType gst_mpegts_eit_event_get_type (void);
-const GstMpegTsEIT *gst_mpegts_section_get_eit (GstMpegTsSection *section);
+const GstMpegtsEIT *gst_mpegts_section_get_eit (GstMpegtsSection *section);
/* TDT */
-GstDateTime *gst_mpegts_section_get_tdt (GstMpegTsSection *section);
+GstDateTime *gst_mpegts_section_get_tdt (GstMpegtsSection *section);
/* TOT */
-typedef struct _GstMpegTsTOT GstMpegTsTOT;
+typedef struct _GstMpegtsTOT GstMpegtsTOT;
#define GST_TYPE_MPEGTS_TOT (gst_mpegts_tot_get_type())
/**
- * GstMpegTsTOT:
- * @descriptors: (element-type GstMpegTsDescriptor): List of descriptors
+ * GstMpegtsTOT:
+ * @descriptors: (element-type GstMpegtsDescriptor): List of descriptors
*
* Time Offset Table (EN 300 468)
*
*/
-struct _GstMpegTsTOT
+struct _GstMpegtsTOT
{
GstDateTime *utc_time;
};
GType gst_mpegts_tot_get_type (void);
-const GstMpegTsTOT *gst_mpegts_section_get_tot (GstMpegTsSection *section);
+const GstMpegtsTOT *gst_mpegts_section_get_tot (GstMpegtsSection *section);
G_END_DECLS
G_BEGIN_DECLS
/**
- * GstMpegTsScteStreamType:
- * @GST_MPEG_TS_STREAM_TYPE_SCTE_SUBTITLING: SCTE-27 Subtitling
- * @GST_MPEG_TS_STREAM_TYPE_SCTE_ISOCH_DATA: SCTE-19 Isochronous data
- * @GST_MPEG_TS_STREAM_TYPE_SCTE_DST_NRT: SCTE-07 Data Service or
+ * GstMpegtsScteStreamType:
+ * @GST_MPEGTS_STREAM_TYPE_SCTE_SUBTITLING: SCTE-27 Subtitling
+ * @GST_MPEGTS_STREAM_TYPE_SCTE_ISOCH_DATA: SCTE-19 Isochronous data
+ * @GST_MPEGTS_STREAM_TYPE_SCTE_DST_NRT: SCTE-07 Data Service or
* Network Resource Table
- * @GST_MPEG_TS_STREAM_TYPE_SCTE_DSMCC_DCB: Type B - DSM-CC Data Carousel
+ * @GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB: Type B - DSM-CC Data Carousel
* [IEC 13818-6])
- * @GST_MPEG_TS_STREAM_TYPE_SCTE_SIGNALING: Enhanced Television Application
+ * @GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING: Enhanced Television Application
* Signaling (OC-SP-ETV-AM1.0.1-120614)
- * @GST_MPEG_TS_STREAM_TYPE_SCTE_SYNC_DATA: SCTE-07 Synchronous data
- * @GST_MPEG_TS_STREAM_TYPE_SCTE_ASYNC_DATA: SCTE-53 Asynchronous data
+ * @GST_MPEGTS_STREAM_TYPE_SCTE_SYNC_DATA: SCTE-07 Synchronous data
+ * @GST_MPEGTS_STREAM_TYPE_SCTE_ASYNC_DATA: SCTE-53 Asynchronous data
*
* Type of mpeg-ts streams for SCTE
*
typedef enum {
/* 0x01 - 0x82 : defined in other specs */
- GST_MPEG_TS_STREAM_TYPE_SCTE_SUBTITLING = 0x82, /* Subtitling data */
- GST_MPEG_TS_STREAM_TYPE_SCTE_ISOCH_DATA = 0x83, /* Isochronous data */
+ GST_MPEGTS_STREAM_TYPE_SCTE_SUBTITLING = 0x82, /* Subtitling data */
+ GST_MPEGTS_STREAM_TYPE_SCTE_ISOCH_DATA = 0x83, /* Isochronous data */
/* 0x84 - 0x94 : defined in other specs */
- GST_MPEG_TS_STREAM_TYPE_SCTE_DST_NRT = 0x95, /* DST / NRT data */
+ GST_MPEGTS_STREAM_TYPE_SCTE_DST_NRT = 0x95, /* DST / NRT data */
/* 0x96 - 0xaf : defined in other specs */
- GST_MPEG_TS_STREAM_TYPE_SCTE_DSMCC_DCB = 0xb0, /* Data Carousel Type B */
+ GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB = 0xb0, /* Data Carousel Type B */
/* 0xb1 - 0xbf : User Private (or defined in other specs) */
- GST_MPEG_TS_STREAM_TYPE_SCTE_SIGNALING = 0xc0, /* EBIF Signaling */
- GST_MPEG_TS_STREAM_TYPE_SCTE_SYNC_DATA = 0xc2, /* Synchronous data */
- GST_MPEG_TS_STREAM_TYPE_SCTE_ASYNC_DATA = 0xc3, /* Asynchronous data */
+ GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING = 0xc0, /* EBIF Signaling */
+ GST_MPEGTS_STREAM_TYPE_SCTE_SYNC_DATA = 0xc2, /* Synchronous data */
+ GST_MPEGTS_STREAM_TYPE_SCTE_ASYNC_DATA = 0xc3, /* Asynchronous data */
/* 0xc4 - 0xff : User Private (or defined in other specs) */
-} GstMpegTsScteStreamType;
+} GstMpegtsScteStreamType;
/**
- * GstMpegTsSectionSCTETableID:
+ * GstMpegtsSectionSCTETableID:
* @GST_MTS_TABLE_ID_SCTE_EAS: SCTE-18 Emergency Alert System
* @GST_MTS_TABLE_ID_SCTE_EBIF: CL-SP-ETV-AM 1.0.1 EBIF message
* @GST_MTS_TABLE_ID_SCTE_EISS: CL-SP-ETV-AM 1.0.1 EBIF Int. Signaling Sect.
* Splice Event notifications to remain associated with the program and pass
* through multiplexers.
*
- * Values for a #GstMpegTsSection table_id.
+ * Values for a #GstMpegtsSection table_id.
*
* These are the registered SCTE table_id variants.
*
- * see also: #GstMpegTsSectionTableID
+ * see also: #GstMpegtsSectionTableID
*/
typedef enum {
/* 0xe5 - 0xfb : defined in other specs */
GST_MTS_TABLE_ID_SCTE_SPLICE = 0xfc, /* splice information table */
-} GstMpegTsSectionSCTETableID;
+} GstMpegtsSectionSCTETableID;
G_END_DECLS
G_GNUC_INTERNAL gchar *get_encoding_and_convert (const gchar *text, guint length);
G_GNUC_INTERNAL gchar *convert_lang_code (guint8 * data);
G_GNUC_INTERNAL guint8 *dvb_text_from_utf8 (const gchar * text, gsize *out_size);
-G_GNUC_INTERNAL void _free_descriptor (GstMpegTsDescriptor *descriptor);
-G_GNUC_INTERNAL GstMpegTsDescriptor *_new_descriptor (guint8 tag, guint8 length);
-G_GNUC_INTERNAL GstMpegTsDescriptor *_new_descriptor_with_extension (guint8 tag,
+G_GNUC_INTERNAL void _free_descriptor (GstMpegtsDescriptor *descriptor);
+G_GNUC_INTERNAL GstMpegtsDescriptor *_new_descriptor (guint8 tag, guint8 length);
+G_GNUC_INTERNAL GstMpegtsDescriptor *_new_descriptor_with_extension (guint8 tag,
guint8 tag_extension, guint8 length);
G_GNUC_INTERNAL void _packetize_descriptor_array (GPtrArray * array,
guint8 ** out_data);
-G_GNUC_INTERNAL GstMpegTsSection *_gst_mpegts_section_init (guint16 pid, guint8 table_id);
-G_GNUC_INTERNAL void _packetize_common_section (GstMpegTsSection * section, gsize length);
+G_GNUC_INTERNAL GstMpegtsSection *_gst_mpegts_section_init (guint16 pid, guint8 table_id);
+G_GNUC_INTERNAL void _packetize_common_section (GstMpegtsSection * section, gsize length);
-typedef gpointer (*GstMpegTsParseFunc) (GstMpegTsSection *section);
-G_GNUC_INTERNAL gpointer __common_section_checks (GstMpegTsSection *section,
+typedef gpointer (*GstMpegtsParseFunc) (GstMpegtsSection *section);
+G_GNUC_INTERNAL gpointer __common_section_checks (GstMpegtsSection *section,
guint minsize,
- GstMpegTsParseFunc parsefunc,
+ GstMpegtsParseFunc parsefunc,
GDestroyNotify destroynotify);
#define __common_desc_check_base(desc, tagtype, retval) \
* @out_size: (out): the byte length of the new text
*
* Converts UTF-8 strings to text characters compliant with EN 300 468.
- * The converted text can be used directly in DVB #GstMpegTsDescriptor
+ * The converted text can be used directly in DVB #GstMpegtsDescriptor
*
* The function will try different character maps until the string is
* completely converted.
{
guint i;
guint8 header_size;
- GstMpegTsDescriptor *descriptor;
+ GstMpegtsDescriptor *descriptor;
g_return_if_fail (out_data != NULL);
g_return_if_fail (*out_data != NULL);
}
}
-GstMpegTsDescriptor *
+GstMpegtsDescriptor *
_new_descriptor (guint8 tag, guint8 length)
{
- GstMpegTsDescriptor *descriptor;
+ GstMpegtsDescriptor *descriptor;
guint8 *data;
- descriptor = g_slice_new (GstMpegTsDescriptor);
+ descriptor = g_slice_new (GstMpegtsDescriptor);
descriptor->tag = tag;
descriptor->tag_extension = 0;
return descriptor;
}
-GstMpegTsDescriptor *
+GstMpegtsDescriptor *
_new_descriptor_with_extension (guint8 tag, guint8 tag_extension, guint8 length)
{
- GstMpegTsDescriptor *descriptor;
+ GstMpegtsDescriptor *descriptor;
guint8 *data;
- descriptor = g_slice_new (GstMpegTsDescriptor);
+ descriptor = g_slice_new (GstMpegtsDescriptor);
descriptor->tag = tag;
descriptor->tag_extension = tag_extension;
return descriptor;
}
-static GstMpegTsDescriptor *
-_copy_descriptor (GstMpegTsDescriptor * desc)
+static GstMpegtsDescriptor *
+_copy_descriptor (GstMpegtsDescriptor * desc)
{
- GstMpegTsDescriptor *copy;
+ GstMpegtsDescriptor *copy;
- copy = g_slice_dup (GstMpegTsDescriptor, desc);
+ copy = g_slice_dup (GstMpegtsDescriptor, desc);
copy->data = g_memdup (desc->data, desc->length + 2);
return copy;
}
void
-_free_descriptor (GstMpegTsDescriptor * desc)
+_free_descriptor (GstMpegtsDescriptor * desc)
{
g_free ((gpointer) desc->data);
- g_slice_free (GstMpegTsDescriptor, desc);
+ g_slice_free (GstMpegtsDescriptor, desc);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsDescriptor, gst_mpegts_descriptor,
+G_DEFINE_BOXED_TYPE (GstMpegtsDescriptor, gst_mpegts_descriptor,
(GBoxedCopyFunc) _copy_descriptor, (GBoxedFreeFunc) _free_descriptor);
/**
*
* Note: The data provided in @buffer will not be copied.
*
- * Returns: (transfer full) (element-type GstMpegTsDescriptor): an
+ * Returns: (transfer full) (element-type GstMpegtsDescriptor): an
* array of the parsed descriptors or %NULL if there was an error.
* Release with #g_array_unref when done with it.
*/
data = buffer;
for (i = 0; i < nb_desc; i++) {
- GstMpegTsDescriptor *desc = g_slice_new0 (GstMpegTsDescriptor);
+ GstMpegtsDescriptor *desc = g_slice_new0 (GstMpegtsDescriptor);
desc->data = data;
desc->tag = *data++;
/**
* gst_mpegts_find_descriptor:
- * @descriptors: (element-type GstMpegTsDescriptor) (transfer none): an array
- * of #GstMpegTsDescriptor
+ * @descriptors: (element-type GstMpegtsDescriptor) (transfer none): an array
+ * of #GstMpegtsDescriptor
* @tag: the tag to look for
*
* Finds the first descriptor of type @tag in the array.
*
* Returns: (transfer none): the first descriptor matchin @tag, else %NULL.
*/
-const GstMpegTsDescriptor *
+const GstMpegtsDescriptor *
gst_mpegts_find_descriptor (GPtrArray * descriptors, guint8 tag)
{
guint i, nb_desc;
nb_desc = descriptors->len;
for (i = 0; i < nb_desc; i++) {
- GstMpegTsDescriptor *desc = g_ptr_array_index (descriptors, i);
+ GstMpegtsDescriptor *desc = g_ptr_array_index (descriptors, i);
if (desc->tag == tag)
- return (const GstMpegTsDescriptor *) desc;
+ return (const GstMpegtsDescriptor *) desc;
}
return NULL;
}
* @additional_info: (transfer none) (allow-none): pointer to optional additional info
* @additional_info_length: length of the optional @additional_info
*
- * Creates a %GST_MTS_DESC_REGISTRATION #GstMpegTsDescriptor
+ * Creates a %GST_MTS_DESC_REGISTRATION #GstMpegtsDescriptor
*
- * Return: #GstMpegTsDescriptor, %NULL on failure
+ * Return: #GstMpegtsDescriptor, %NULL on failure
*/
-GstMpegTsDescriptor *
+GstMpegtsDescriptor *
gst_mpegts_descriptor_from_registration (const gchar * format_identifier,
guint8 * additional_info, gsize additional_info_length)
{
- GstMpegTsDescriptor *descriptor;
+ GstMpegtsDescriptor *descriptor;
g_return_val_if_fail (format_identifier != NULL, NULL);
}
/* GST_MTS_DESC_ISO_639_LANGUAGE (0x0A) */
-static GstMpegTsISO639LanguageDescriptor *
-_gst_mpegts_iso_639_language_descriptor_copy (GstMpegTsISO639LanguageDescriptor
+static GstMpegtsISO639LanguageDescriptor *
+_gst_mpegts_iso_639_language_descriptor_copy (GstMpegtsISO639LanguageDescriptor
* source)
{
- GstMpegTsISO639LanguageDescriptor *copy;
+ GstMpegtsISO639LanguageDescriptor *copy;
guint i;
- copy = g_slice_dup (GstMpegTsISO639LanguageDescriptor, source);
+ copy = g_slice_dup (GstMpegtsISO639LanguageDescriptor, source);
for (i = 0; i < source->nb_language; i++) {
copy->language[i] = g_strdup (source->language[i]);
}
void
-gst_mpegts_iso_639_language_descriptor_free (GstMpegTsISO639LanguageDescriptor
+gst_mpegts_iso_639_language_descriptor_free (GstMpegtsISO639LanguageDescriptor
* desc)
{
guint i;
for (i = 0; i < desc->nb_language; i++) {
g_free (desc->language[i]);
}
- g_slice_free (GstMpegTsISO639LanguageDescriptor, desc);
+ g_slice_free (GstMpegtsISO639LanguageDescriptor, desc);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsISO639LanguageDescriptor,
+G_DEFINE_BOXED_TYPE (GstMpegtsISO639LanguageDescriptor,
gst_mpegts_iso_639_language,
(GBoxedCopyFunc) _gst_mpegts_iso_639_language_descriptor_copy,
(GFreeFunc) gst_mpegts_iso_639_language_descriptor_free);
/**
* gst_mpegts_descriptor_parse_iso_639_language:
- * @descriptor: a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegTsDescriptor
- * @res: (out) (transfer full): the #GstMpegTsISO639LanguageDescriptor to fill
+ * @descriptor: a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegtsDescriptor
+ * @res: (out) (transfer full): the #GstMpegtsISO639LanguageDescriptor to fill
*
* Extracts the iso 639-2 language information from @descriptor.
*
* Returns: %TRUE if parsing succeeded, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_iso_639_language (const GstMpegTsDescriptor *
- descriptor, GstMpegTsISO639LanguageDescriptor ** desc)
+gst_mpegts_descriptor_parse_iso_639_language (const GstMpegtsDescriptor *
+ descriptor, GstMpegtsISO639LanguageDescriptor ** desc)
{
guint i;
guint8 *data;
- GstMpegTsISO639LanguageDescriptor *res;
+ GstMpegtsISO639LanguageDescriptor *res;
g_return_val_if_fail (descriptor != NULL && desc != NULL, FALSE);
/* This descriptor can be empty, no size check needed */
data = (guint8 *) descriptor->data + 2;
- res = g_slice_new0 (GstMpegTsISO639LanguageDescriptor);
+ res = g_slice_new0 (GstMpegtsISO639LanguageDescriptor);
/* Each language is 3 + 1 bytes */
res->nb_language = descriptor->length / 4;
/**
* gst_mpegts_descriptor_parse_iso_639_language_idx:
- * @descriptor: a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegtsDescriptor
* @idx: Table id of the language to parse
* @lang: (out) (transfer full): 4-byte gchar array to hold the language code
- * @audio_type: (out) (transfer none) (allow-none): the #GstMpegTsIso639AudioType to set
+ * @audio_type: (out) (transfer none) (allow-none): the #GstMpegtsIso639AudioType to set
*
* Extracts the iso 639-2 language information from specific table id in @descriptor.
*
* Returns: %TRUE if parsing succeeded, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_iso_639_language_idx (const GstMpegTsDescriptor *
- descriptor, guint idx, gchar ** lang, GstMpegTsIso639AudioType * audio_type)
+gst_mpegts_descriptor_parse_iso_639_language_idx (const GstMpegtsDescriptor *
+ descriptor, guint idx, gchar ** lang, GstMpegtsIso639AudioType * audio_type)
{
guint8 *data;
/**
* gst_mpegts_descriptor_parse_iso_639_language_nb:
- * @descriptor: a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegTsDescriptor
+ * @descriptor: a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegtsDescriptor
*
* Returns: The number of languages in @descriptor
*/
guint
-gst_mpegts_descriptor_parse_iso_639_language_nb (const GstMpegTsDescriptor *
+gst_mpegts_descriptor_parse_iso_639_language_nb (const GstMpegtsDescriptor *
descriptor)
{
g_return_val_if_fail (descriptor != NULL, 0);
/**
* gst_mpegts_descriptor_parse_logical_channel:
- * @descriptor: a %GST_MTS_DESC_DTG_LOGICAL_CHANNEL #GstMpegTsDescriptor
- * @res: (out) (transfer none): the #GstMpegTsLogicalChannelDescriptor to fill
+ * @descriptor: a %GST_MTS_DESC_DTG_LOGICAL_CHANNEL #GstMpegtsDescriptor
+ * @res: (out) (transfer none): the #GstMpegtsLogicalChannelDescriptor to fill
*
* Extracts the logical channels from @descriptor.
*
* Returns: %TRUE if parsing succeeded, else %FALSE.
*/
gboolean
-gst_mpegts_descriptor_parse_logical_channel (const GstMpegTsDescriptor *
- descriptor, GstMpegTsLogicalChannelDescriptor * res)
+gst_mpegts_descriptor_parse_logical_channel (const GstMpegtsDescriptor *
+ descriptor, GstMpegtsLogicalChannelDescriptor * res)
{
guint i;
guint8 *data;
* @data: (transfer none): descriptor data (after tag and length field)
* @length: length of @data
*
- * Creates a #GstMpegTsDescriptor with custom @tag and @data
+ * Creates a #GstMpegtsDescriptor with custom @tag and @data
*
- * Returns: #GstMpegTsDescriptor
+ * Returns: #GstMpegtsDescriptor
*/
-GstMpegTsDescriptor *
+GstMpegtsDescriptor *
gst_mpegts_descriptor_from_custom (guint8 tag, const guint8 * data,
gsize length)
{
- GstMpegTsDescriptor *descriptor;
+ GstMpegtsDescriptor *descriptor;
descriptor = _new_descriptor (tag, length);
*/
/**
- * GstMpegTsDescriptorType:
+ * GstMpegtsDescriptorType:
*
- * The type of #GstMpegTsDescriptor
+ * 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).
GST_MTS_DESC_STEREOSCOPIC_VIDEO_INFO = 0x36,
/* 55-63 ITU-T Rec. H.222.0 | ISO/IEC 13818-1 Reserved */
-} GstMpegTsDescriptorType;
+} GstMpegtsDescriptorType;
/**
- * GstMpegTsMiscDescriptorType:
+ * GstMpegtsMiscDescriptorType:
*
- * The type of #GstMpegTsDescriptor
+ * The type of #GstMpegtsDescriptor
*
* These values correspond to miscellaneous descriptor types that are
* not yet identified from known specifications.
/* 0x80 - 0xFE are user defined */
GST_MTS_DESC_AC3_AUDIO_STREAM = 0x81,
GST_MTS_DESC_DTG_LOGICAL_CHANNEL = 0x83, /* from DTG D-Book */
-} GstMpegTsMiscDescriptorType;
+} GstMpegtsMiscDescriptorType;
/**
- * GstMpegTsATSCDescriptorType:
+ * GstMpegtsATSCDescriptorType:
*
* These values correspond to the registered descriptor type from
* the various ATSC specifications.
GST_MTS_DESC_ATSC_MODULE_LINK = 0xB4,
GST_MTS_DESC_ATSC_CRC32 = 0xB5,
GST_MTS_DESC_ATSC_GROUP_LINK = 0xB8,
-} GstMpegTsATSCDescriptorType;
+} GstMpegtsATSCDescriptorType;
/**
- * GstMpegTsISDBDescriptorType:
+ * GstMpegtsISDBDescriptorType:
*
* These values correspond to the registered descriptor type from
* the various ISDB specifications.
/* ... */
GST_MTS_DESC_ISDB_SERVICE_GROUP = 0xe0
-} GstMpegTsISDBDescriptorType;
+} GstMpegtsISDBDescriptorType;
-typedef struct _GstMpegTsDescriptor GstMpegTsDescriptor;
+typedef struct _GstMpegtsDescriptor GstMpegtsDescriptor;
#define GST_TYPE_MPEGTS_DESCRIPTOR (gst_mpegts_descriptor_get_type())
GType gst_mpegts_descriptor_get_type (void);
/**
- * GstMpegTsDescriptor:
+ * GstMpegtsDescriptor:
* @tag: the type of descriptor
* @tag_extension: the extended type (if @descriptor_tag is 0x7f)
* @length: the length of the descriptor content (excluding tag/length field)
*
* Mpeg-TS descriptor (ISO/IEC 13818-1).
*/
-struct _GstMpegTsDescriptor
+struct _GstMpegtsDescriptor
{
guint8 tag;
guint8 tag_extension;
GPtrArray *gst_mpegts_parse_descriptors (guint8 * buffer, gsize buf_len);
-const GstMpegTsDescriptor * gst_mpegts_find_descriptor (GPtrArray *descriptors,
+const GstMpegtsDescriptor * gst_mpegts_find_descriptor (GPtrArray *descriptors,
guint8 tag);
/* GST_MTS_DESC_REGISTRATION (0x05) */
-GstMpegTsDescriptor *gst_mpegts_descriptor_from_registration (
+GstMpegtsDescriptor *gst_mpegts_descriptor_from_registration (
const gchar *format_identifier,
guint8 *additional_info, gsize additional_info_length);
/* GST_MTS_DESC_ISO_639_LANGUAGE (0x0A) */
/**
- * GstMpegTsISO639AudioType:
+ * GstMpegtsISO639AudioType:
*
* Type of audio streams
*
GST_MPEGTS_AUDIO_TYPE_CLEAN_EFFECTS,
GST_MPEGTS_AUDIO_TYPE_HEARING_IMPAIRED,
GST_MPEGTS_AUDIO_TYPE_VISUAL_IMPAIRED_COMMENTARY
-} GstMpegTsIso639AudioType;
+} GstMpegtsIso639AudioType;
-typedef struct _GstMpegTsISO639LanguageDescriptor GstMpegTsISO639LanguageDescriptor;
-struct _GstMpegTsISO639LanguageDescriptor
+typedef struct _GstMpegtsISO639LanguageDescriptor GstMpegtsISO639LanguageDescriptor;
+struct _GstMpegtsISO639LanguageDescriptor
{
guint nb_language;
gchar *language[64];
- GstMpegTsIso639AudioType audio_type[64];
+ GstMpegtsIso639AudioType audio_type[64];
};
#define GST_TYPE_MPEGTS_ISO_639_LANGUAGE (gst_mpegts_iso_639_language_get_type ())
GType gst_mpegts_iso_639_language_get_type (void);
-void gst_mpegts_iso_639_language_descriptor_free (GstMpegTsISO639LanguageDescriptor * desc);
-gboolean gst_mpegts_descriptor_parse_iso_639_language (const GstMpegTsDescriptor *descriptor,
- GstMpegTsISO639LanguageDescriptor **res);
-gboolean gst_mpegts_descriptor_parse_iso_639_language_idx (const GstMpegTsDescriptor *descriptor,
+void gst_mpegts_iso_639_language_descriptor_free (GstMpegtsISO639LanguageDescriptor * desc);
+gboolean gst_mpegts_descriptor_parse_iso_639_language (const GstMpegtsDescriptor *descriptor,
+ GstMpegtsISO639LanguageDescriptor **res);
+gboolean gst_mpegts_descriptor_parse_iso_639_language_idx (const GstMpegtsDescriptor *descriptor,
guint idx, gchar **lang,
- GstMpegTsIso639AudioType *audio_type);
-guint gst_mpegts_descriptor_parse_iso_639_language_nb (const GstMpegTsDescriptor *descriptor);
+ GstMpegtsIso639AudioType *audio_type);
+guint gst_mpegts_descriptor_parse_iso_639_language_nb (const GstMpegtsDescriptor *descriptor);
/* GST_MTS_DESC_DTG_LOGICAL_CHANNEL (0x83) */
-typedef struct _GstMpegTsLogicalChannelDescriptor GstMpegTsLogicalChannelDescriptor;
-typedef struct _GstMpegTsLogicalChannel GstMpegTsLogicalChannel;
+typedef struct _GstMpegtsLogicalChannelDescriptor GstMpegtsLogicalChannelDescriptor;
+typedef struct _GstMpegtsLogicalChannel GstMpegtsLogicalChannel;
-struct _GstMpegTsLogicalChannel
+struct _GstMpegtsLogicalChannel
{
guint16 service_id;
gboolean visible_service;
guint16 logical_channel_number;
};
-struct _GstMpegTsLogicalChannelDescriptor
+struct _GstMpegtsLogicalChannelDescriptor
{
guint nb_channels;
- GstMpegTsLogicalChannel channels[64];
+ GstMpegtsLogicalChannel channels[64];
};
/* FIXME : Maybe make two methods. One for getting the number of channels,
* and the other for getting the content for one channel ? */
gboolean
-gst_mpegts_descriptor_parse_logical_channel (const GstMpegTsDescriptor *descriptor,
- GstMpegTsLogicalChannelDescriptor *res);
+gst_mpegts_descriptor_parse_logical_channel (const GstMpegtsDescriptor *descriptor,
+ GstMpegtsLogicalChannelDescriptor *res);
-GstMpegTsDescriptor *
+GstMpegtsDescriptor *
gst_mpegts_descriptor_from_custom (guint8 tag, const guint8 *data, gsize length);
G_END_DECLS
static GType _gst_mpegts_section_type = 0;
#define MPEG_TYPE_TS_SECTION (_gst_mpegts_section_type)
-GST_DEFINE_MINI_OBJECT_TYPE (GstMpegTsSection, gst_mpegts_section);
+GST_DEFINE_MINI_OBJECT_TYPE (GstMpegtsSection, gst_mpegts_section);
static const guint32 crc_tab[256] = {
0x00000000, 0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b,
}
gpointer
-__common_section_checks (GstMpegTsSection * section, guint min_size,
- GstMpegTsParseFunc parsefunc, GDestroyNotify destroynotify)
+__common_section_checks (GstMpegtsSection * section, guint min_size,
+ GstMpegtsParseFunc parsefunc, GDestroyNotify destroynotify)
{
gpointer res;
* GENERIC MPEG-TS SECTION
*/
static void
-_gst_mpegts_section_free (GstMpegTsSection * section)
+_gst_mpegts_section_free (GstMpegtsSection * section)
{
GST_DEBUG ("Freeing section type %d", section->section_type);
if (section->data)
g_free (section->data);
- g_slice_free (GstMpegTsSection, section);
+ g_slice_free (GstMpegtsSection, section);
}
-static GstMpegTsSection *
-_gst_mpegts_section_copy (GstMpegTsSection * section)
+static GstMpegtsSection *
+_gst_mpegts_section_copy (GstMpegtsSection * section)
{
- GstMpegTsSection *copy;
+ GstMpegtsSection *copy;
- copy = g_slice_new0 (GstMpegTsSection);
+ copy = g_slice_new0 (GstMpegtsSection);
gst_mini_object_init (GST_MINI_OBJECT_CAST (copy), 0, MPEG_TYPE_TS_SECTION,
(GstMiniObjectCopyFunction) _gst_mpegts_section_copy, NULL,
(GstMiniObjectFreeFunction) _gst_mpegts_section_free);
/**
* gst_mpegts_section_get_data:
- * @section: a #GstMpegTsSection
+ * @section: a #GstMpegtsSection
*
* Gets the original unparsed section data.
*
* Returns: (transfer full): The original unparsed section data.
*/
GBytes *
-gst_mpegts_section_get_data (GstMpegTsSection * section)
+gst_mpegts_section_get_data (GstMpegtsSection * section)
{
return g_bytes_new (section->data, section->section_length);
}
* gst_message_parse_mpegts_section:
* @message: a #GstMessage
*
- * Returns the #GstMpegTsSection contained in a message.
+ * Returns the #GstMpegtsSection contained in a message.
*
- * Returns: (transfer full): the contained #GstMpegTsSection, or %NULL.
+ * Returns: (transfer full): the contained #GstMpegtsSection, or %NULL.
*/
-GstMpegTsSection *
+GstMpegtsSection *
gst_message_parse_mpegts_section (GstMessage * message)
{
const GstStructure *st;
- GstMpegTsSection *section;
+ GstMpegtsSection *section;
if (message->type != GST_MESSAGE_ELEMENT)
return NULL;
}
static GstStructure *
-_mpegts_section_get_structure (GstMpegTsSection * section)
+_mpegts_section_get_structure (GstMpegtsSection * section)
{
GstStructure *st;
GQuark quark;
quark = QUARK_TOT;
break;
default:
- GST_DEBUG ("Creating structure for unknown GstMpegTsSection");
+ GST_DEBUG ("Creating structure for unknown GstMpegtsSection");
quark = QUARK_SECTION;
break;
}
/**
* gst_message_new_mpegts_section:
* @parent: (transfer none): The creator of the message
- * @section: (transfer none): The #GstMpegTsSection to put in a message
+ * @section: (transfer none): The #GstMpegtsSection to put in a message
*
- * Creates a new #GstMessage for a @GstMpegTsSection.
+ * Creates a new #GstMessage for a @GstMpegtsSection.
*
* Returns: (transfer full): The new #GstMessage to be posted, or %NULL if the
* section is not valid.
*/
GstMessage *
-gst_message_new_mpegts_section (GstObject * parent, GstMpegTsSection * section)
+gst_message_new_mpegts_section (GstObject * parent, GstMpegtsSection * section)
{
GstMessage *msg;
GstStructure *st;
}
static GstEvent *
-_mpegts_section_get_event (GstMpegTsSection * section)
+_mpegts_section_get_event (GstMpegtsSection * section)
{
GstStructure *structure;
GstEvent *event;
/**
* gst_event_parse_mpegts_section:
- * @event: (transfer none): #GstEvent containing a #GstMpegTsSection
+ * @event: (transfer none): #GstEvent containing a #GstMpegtsSection
*
- * Extracts the #GstMpegTsSection contained in the @event #GstEvent
+ * Extracts the #GstMpegtsSection contained in the @event #GstEvent
*
- * Returns: (transfer full): The extracted #GstMpegTsSection
+ * Returns: (transfer full): The extracted #GstMpegtsSection
*/
-GstMpegTsSection *
+GstMpegtsSection *
gst_event_parse_mpegts_section (GstEvent * event)
{
const GstStructure *structure;
- GstMpegTsSection *section;
+ GstMpegtsSection *section;
structure = gst_event_get_structure (event);
/**
* gst_mpegts_section_send_event:
* @element: (transfer none): The #GstElement to send to section event to
- * @section: (transfer none): The #GstMpegTsSection to put in the event
+ * @section: (transfer none): The #GstMpegtsSection to put in the event
*
- * Creates a custom #GstEvent with a @GstMpegTsSection.
+ * Creates a custom #GstEvent with a @GstMpegtsSection.
* The #GstEvent is sent to the @element #GstElement.
*
* Returns: %TRUE if the event is sent
*/
gboolean
-gst_mpegts_section_send_event (GstMpegTsSection * section, GstElement * element)
+gst_mpegts_section_send_event (GstMpegtsSection * section, GstElement * element)
{
GstEvent *event;
return TRUE;
}
-static GstMpegTsPatProgram *
-_mpegts_pat_program_copy (GstMpegTsPatProgram * orig)
+static GstMpegtsPatProgram *
+_mpegts_pat_program_copy (GstMpegtsPatProgram * orig)
{
- return g_slice_dup (GstMpegTsPatProgram, orig);
+ return g_slice_dup (GstMpegtsPatProgram, orig);
}
static void
-_mpegts_pat_program_free (GstMpegTsPatProgram * orig)
+_mpegts_pat_program_free (GstMpegtsPatProgram * orig)
{
- g_slice_free (GstMpegTsPatProgram, orig);
+ g_slice_free (GstMpegtsPatProgram, orig);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsPatProgram, gst_mpegts_pat_program,
+G_DEFINE_BOXED_TYPE (GstMpegtsPatProgram, gst_mpegts_pat_program,
(GBoxedCopyFunc) _mpegts_pat_program_copy,
(GFreeFunc) _mpegts_pat_program_free);
/* Program Association Table */
static gpointer
-_parse_pat (GstMpegTsSection * section)
+_parse_pat (GstMpegtsSection * section)
{
GPtrArray *pat;
guint16 i = 0, nb_programs;
- GstMpegTsPatProgram *program;
+ GstMpegtsPatProgram *program;
guint8 *data, *end;
/* Skip already parsed data */
(GDestroyNotify) _mpegts_pat_program_free);
while (data < end - 4) {
- program = g_slice_new0 (GstMpegTsPatProgram);
+ program = g_slice_new0 (GstMpegtsPatProgram);
program->program_number = GST_READ_UINT16_BE (data);
data += 2;
/**
* gst_mpegts_section_get_pat:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_PAT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_PAT
*
* Parses a Program Association Table (ITU H.222.0, ISO/IEC 13818-1).
*
- * Returns the array of #GstMpegTsPatProgram contained in the section.
+ * 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.
*
- * Returns: (transfer container) (element-type GstMpegTsPatProgram): The
- * #GstMpegTsPatProgram contained in the section, or %NULL if an error
+ * Returns: (transfer container) (element-type GstMpegtsPatProgram): The
+ * #GstMpegtsPatProgram contained in the section, or %NULL if an error
* happened. Release with #g_ptr_array_unref when done.
*/
GPtrArray *
-gst_mpegts_section_get_pat (GstMpegTsSection * section)
+gst_mpegts_section_get_pat (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_PAT, NULL);
g_return_val_if_fail (section->cached_parsed || section->data, NULL);
/**
* gst_mpegts_pat_new:
*
- * Allocates a new #GPtrArray for #GstMpegTsPatProgram
+ * Allocates a new #GPtrArray for #GstMpegtsPatProgram
*
- * Returns: (transfer full) (element-type GstMpegTsPatProgram): A newly allocated #GPtrArray
+ * Returns: (transfer full) (element-type GstMpegtsPatProgram): A newly allocated #GPtrArray
*/
GPtrArray *
gst_mpegts_pat_new (void)
/**
* gst_mpegts_pat_program_new:
*
- * Allocates a new #GstMpegTsPatProgram.
+ * Allocates a new #GstMpegtsPatProgram.
*
- * Returns: (transfer full): A newly allocated #GstMpegTsPatProgram
+ * Returns: (transfer full): A newly allocated #GstMpegtsPatProgram
*/
-GstMpegTsPatProgram *
+GstMpegtsPatProgram *
gst_mpegts_pat_program_new (void)
{
- GstMpegTsPatProgram *program;
+ GstMpegtsPatProgram *program;
- program = g_slice_new0 (GstMpegTsPatProgram);
+ program = g_slice_new0 (GstMpegtsPatProgram);
return program;
}
static gboolean
-_packetize_pat (GstMpegTsSection * section)
+_packetize_pat (GstMpegtsSection * section)
{
GPtrArray *programs;
guint8 *data;
data = section->data + 8;
for (i = 0; i < programs->len; i++) {
- GstMpegTsPatProgram *program;
+ GstMpegtsPatProgram *program;
program = g_ptr_array_index (programs, i);
/**
* gst_mpegts_section_from_pat:
- * @programs: (transfer full) (element-type GstMpegTsPatProgram): an array of #GstMpegTsPatProgram
+ * @programs: (transfer full) (element-type GstMpegtsPatProgram): an array of #GstMpegtsPatProgram
* @ts_id: Transport stream ID of the PAT
*
- * Creates a PAT #GstMpegTsSection from the @programs array of #GstMpegTsPatPrograms
+ * Creates a PAT #GstMpegtsSection from the @programs array of #GstMpegtsPatPrograms
*
- * Returns: (transfer full): a #GstMpegTsSection
+ * Returns: (transfer full): a #GstMpegtsSection
*/
-GstMpegTsSection *
+GstMpegtsSection *
gst_mpegts_section_from_pat (GPtrArray * programs, guint16 ts_id)
{
- GstMpegTsSection *section;
+ GstMpegtsSection *section;
section = _gst_mpegts_section_init (0x00,
GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION);
/* Program Map Table */
-static GstMpegTsPMTStream *
-_gst_mpegts_pmt_stream_copy (GstMpegTsPMTStream * pmt)
+static GstMpegtsPMTStream *
+_gst_mpegts_pmt_stream_copy (GstMpegtsPMTStream * pmt)
{
- GstMpegTsPMTStream *copy;
+ GstMpegtsPMTStream *copy;
- copy = g_slice_dup (GstMpegTsPMTStream, pmt);
+ copy = g_slice_dup (GstMpegtsPMTStream, pmt);
copy->descriptors = g_ptr_array_ref (pmt->descriptors);
return copy;
}
static void
-_gst_mpegts_pmt_stream_free (GstMpegTsPMTStream * pmt)
+_gst_mpegts_pmt_stream_free (GstMpegtsPMTStream * pmt)
{
if (pmt->descriptors)
g_ptr_array_unref (pmt->descriptors);
- g_slice_free (GstMpegTsPMTStream, pmt);
+ g_slice_free (GstMpegtsPMTStream, pmt);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsPMTStream, gst_mpegts_pmt_stream,
+G_DEFINE_BOXED_TYPE (GstMpegtsPMTStream, gst_mpegts_pmt_stream,
(GBoxedCopyFunc) _gst_mpegts_pmt_stream_copy,
(GFreeFunc) _gst_mpegts_pmt_stream_free);
-static GstMpegTsPMT *
-_gst_mpegts_pmt_copy (GstMpegTsPMT * pmt)
+static GstMpegtsPMT *
+_gst_mpegts_pmt_copy (GstMpegtsPMT * pmt)
{
- GstMpegTsPMT *copy;
+ GstMpegtsPMT *copy;
- copy = g_slice_dup (GstMpegTsPMT, pmt);
+ copy = g_slice_dup (GstMpegtsPMT, pmt);
if (pmt->descriptors)
copy->descriptors = g_ptr_array_ref (pmt->descriptors);
copy->streams = g_ptr_array_ref (pmt->streams);
}
static void
-_gst_mpegts_pmt_free (GstMpegTsPMT * pmt)
+_gst_mpegts_pmt_free (GstMpegtsPMT * pmt)
{
if (pmt->descriptors)
g_ptr_array_unref (pmt->descriptors);
g_ptr_array_unref (pmt->streams);
- g_slice_free (GstMpegTsPMT, pmt);
+ g_slice_free (GstMpegtsPMT, pmt);
}
-G_DEFINE_BOXED_TYPE (GstMpegTsPMT, gst_mpegts_pmt,
+G_DEFINE_BOXED_TYPE (GstMpegtsPMT, gst_mpegts_pmt,
(GBoxedCopyFunc) _gst_mpegts_pmt_copy, (GFreeFunc) _gst_mpegts_pmt_free);
static gpointer
-_parse_pmt (GstMpegTsSection * section)
+_parse_pmt (GstMpegtsSection * section)
{
- GstMpegTsPMT *pmt = NULL;
+ GstMpegtsPMT *pmt = NULL;
guint i = 0, allocated_streams = 8;
guint8 *data, *end;
guint program_info_length;
guint stream_info_length;
- pmt = g_slice_new0 (GstMpegTsPMT);
+ pmt = g_slice_new0 (GstMpegtsPMT);
data = section->data;
end = data + section->section_length;
/* parse entries, cycle until there's space for another entry (at least 5
* bytes) plus the CRC */
while (data <= end - 4 - 5) {
- GstMpegTsPMTStream *stream = g_slice_new0 (GstMpegTsPMTStream);
+ GstMpegtsPMTStream *stream = g_slice_new0 (GstMpegtsPMTStream);
g_ptr_array_add (pmt->streams, stream);
/**
* gst_mpegts_section_get_pmt:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_PMT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_PMT
*
- * Returns the #GstMpegTsPMT contained in the @section.
+ * Returns the #GstMpegtsPMT contained in the @section.
*
- * Returns: The #GstMpegTsPMT contained in the section, or %NULL if an error
+ * Returns: The #GstMpegtsPMT contained in the section, or %NULL if an error
* happened.
*/
-const GstMpegTsPMT *
-gst_mpegts_section_get_pmt (GstMpegTsSection * section)
+const GstMpegtsPMT *
+gst_mpegts_section_get_pmt (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_PMT, NULL);
g_return_val_if_fail (section->cached_parsed || section->data, NULL);
__common_section_checks (section, 16, _parse_pmt,
(GDestroyNotify) _gst_mpegts_pmt_free);
- return (const GstMpegTsPMT *) section->cached_parsed;
+ return (const GstMpegtsPMT *) section->cached_parsed;
}
/**
* gst_mpegts_pmt_new:
*
- * Allocates and initializes a new #GstMpegTsPMT.
+ * Allocates and initializes a new #GstMpegtsPMT.
*
- * Returns: (transfer full): #GstMpegTsPMT
+ * Returns: (transfer full): #GstMpegtsPMT
*/
-GstMpegTsPMT *
+GstMpegtsPMT *
gst_mpegts_pmt_new (void)
{
- GstMpegTsPMT *pmt;
+ GstMpegtsPMT *pmt;
- pmt = g_slice_new0 (GstMpegTsPMT);
+ pmt = g_slice_new0 (GstMpegtsPMT);
pmt->descriptors =
g_ptr_array_new_with_free_func ((GDestroyNotify) _free_descriptor);
/**
* gst_mpegts_pmt_stream_new:
*
- * Allocates and initializes a new #GstMpegTsPMTStream.
+ * Allocates and initializes a new #GstMpegtsPMTStream.
*
- * Returns: (transfer full): #GstMpegTsPMTStream
+ * Returns: (transfer full): #GstMpegtsPMTStream
*/
-GstMpegTsPMTStream *
+GstMpegtsPMTStream *
gst_mpegts_pmt_stream_new (void)
{
- GstMpegTsPMTStream *stream;
+ GstMpegtsPMTStream *stream;
- stream = g_slice_new0 (GstMpegTsPMTStream);
+ stream = g_slice_new0 (GstMpegtsPMTStream);
stream->descriptors =
g_ptr_array_new_with_free_func ((GDestroyNotify) _free_descriptor);
}
static gboolean
-_packetize_pmt (GstMpegTsSection * section)
+_packetize_pmt (GstMpegtsSection * section)
{
- const GstMpegTsPMT *pmt;
- GstMpegTsPMTStream *stream;
- GstMpegTsDescriptor *descriptor;
+ const GstMpegtsPMT *pmt;
+ GstMpegtsPMTStream *stream;
+ GstMpegtsDescriptor *descriptor;
gsize length, pgm_info_length, stream_length;
guint8 *data;
guint i, j;
/**
* gst_mpegts_section_from_pmt:
- * @pmt: (transfer full): a #GstMpegTsPMT to create a #GstMpegTsSection from
- * @pid: The PID that the #GstMpegTsPMT belongs to
+ * @pmt: (transfer full): a #GstMpegtsPMT to create a #GstMpegtsSection from
+ * @pid: The PID that the #GstMpegtsPMT belongs to
*
- * Creates a #GstMpegTsSection from @pmt that is bound to @pid
+ * Creates a #GstMpegtsSection from @pmt that is bound to @pid
*
- * Returns: (transfer full): #GstMpegTsSection
+ * Returns: (transfer full): #GstMpegtsSection
*/
-GstMpegTsSection *
-gst_mpegts_section_from_pmt (GstMpegTsPMT * pmt, guint16 pid)
+GstMpegtsSection *
+gst_mpegts_section_from_pmt (GstMpegtsPMT * pmt, guint16 pid)
{
- GstMpegTsSection *section;
+ GstMpegtsSection *section;
g_return_val_if_fail (pmt != NULL, NULL);
/* Conditional Access Table */
static gpointer
-_parse_cat (GstMpegTsSection * section)
+_parse_cat (GstMpegtsSection * section)
{
guint8 *data;
guint desc_len;
/**
* gst_mpegts_section_get_cat:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_CAT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_CAT
*
- * Returns the array of #GstMpegTsDescriptor contained in the Condtional
+ * Returns the array of #GstMpegtsDescriptor contained in the Condtional
* Access Table.
*
- * Returns: (transfer container) (element-type GstMpegTsDescriptor): The
- * #GstMpegTsDescriptor contained in the section, or %NULL if an error
+ * Returns: (transfer container) (element-type GstMpegtsDescriptor): The
+ * #GstMpegtsDescriptor contained in the section, or %NULL if an error
* happened. Release with #g_array_unref when done.
*/
GPtrArray *
-gst_mpegts_section_get_cat (GstMpegTsSection * section)
+gst_mpegts_section_get_cat (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_CAT, NULL);
g_return_val_if_fail (section->cached_parsed || section->data, NULL);
/* Transport Stream Description Table (TSDT) */
/**
* gst_mpegts_section_get_tsdt:
- * @section: a #GstMpegTsSection of type %GST_MPEGTS_SECTION_TSDT
+ * @section: a #GstMpegtsSection of type %GST_MPEGTS_SECTION_TSDT
*
- * Returns the array of #GstMpegTsDescriptor contained in the section
+ * Returns the array of #GstMpegtsDescriptor contained in the section
*
- * Returns: (transfer container) (element-type GstMpegTsDescriptor): The
- * #GstMpegTsDescriptor contained in the section, or %NULL if an error
+ * Returns: (transfer container) (element-type GstMpegtsDescriptor): The
+ * #GstMpegtsDescriptor contained in the section, or %NULL if an error
* happened. Release with #g_array_unref when done.
*/
GPtrArray *
-gst_mpegts_section_get_tsdt (GstMpegTsSection * section)
+gst_mpegts_section_get_tsdt (GstMpegtsSection * section)
{
g_return_val_if_fail (section->section_type == GST_MPEGTS_SECTION_TSDT, NULL);
g_return_val_if_fail (section->cached_parsed || section->data, NULL);
/* FIXME : Later on we might need to use more than just the table_id
* to figure out which type of section this is. */
-static GstMpegTsSectionType
+static GstMpegtsSectionType
_identify_section (guint16 pid, guint8 table_id)
{
switch (table_id) {
}
-GstMpegTsSection *
+GstMpegtsSection *
_gst_mpegts_section_init (guint16 pid, guint8 table_id)
{
- GstMpegTsSection *section;
+ GstMpegtsSection *section;
- section = g_slice_new0 (GstMpegTsSection);
+ section = g_slice_new0 (GstMpegtsSection);
gst_mini_object_init (GST_MINI_OBJECT_CAST (section), 0, MPEG_TYPE_TS_SECTION,
(GstMiniObjectCopyFunction) _gst_mpegts_section_copy, NULL,
(GstMiniObjectFreeFunction) _gst_mpegts_section_free);
}
void
-_packetize_common_section (GstMpegTsSection * section, gsize length)
+_packetize_common_section (GstMpegtsSection * section, gsize length)
{
guint8 *data;
* should contain the table_id field).
* @data_size: size of the @data argument.
*
- * Creates a new #GstMpegTsSection from the provided @data.
+ * 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
* Note: it is the responsibility of the caller to ensure @data does point
* to the beginning of the section.
*
- * Returns: (transfer full): A new #GstMpegTsSection if the data was valid,
+ * Returns: (transfer full): A new #GstMpegtsSection if the data was valid,
* else %NULL
*/
-GstMpegTsSection *
+GstMpegtsSection *
gst_mpegts_section_new (guint16 pid, guint8 * data, gsize data_size)
{
- GstMpegTsSection *res = NULL;
+ GstMpegtsSection *res = NULL;
guint8 tmp;
guint8 table_id;
guint16 section_length;
/**
* gst_mpegts_section_packetize:
- * @section: (transfer none): the #GstMpegTsSection that holds the data
+ * @section: (transfer none): the #GstMpegtsSection that holds the data
* @output_size: (out): #gsize to hold the size of the data
*
* If the data in @section has aldready been packetized, the data pointer is returned
* Returns: (transfer none): pointer to section data, or %NULL on fail
*/
guint8 *
-gst_mpegts_section_packetize (GstMpegTsSection * section, gsize * output_size)
+gst_mpegts_section_packetize (GstMpegtsSection * section, gsize * output_size)
{
guint8 *crc;
g_return_val_if_fail (section != NULL, NULL);
G_BEGIN_DECLS
-typedef struct _GstMpegTsSection GstMpegTsSection;
+typedef struct _GstMpegtsSection GstMpegtsSection;
#define GST_TYPE_MPEGTS_SECTION (gst_mpegts_section_get_type())
-#define GST_MPEGTS_SECTION(section) ((GstMpegTsSection*) section)
+#define GST_MPEGTS_SECTION(section) ((GstMpegtsSection*) section)
#define GST_MPEGTS_SECTION_TYPE(section) (GST_MPEGTS_SECTION (section)->section_type)
GType gst_mpegts_section_get_type (void);
/**
- * GstMpegTsSectionType:
+ * GstMpegtsSectionType:
* @GST_MPEGTS_SECTION_UNKNOWN: Unknown section type
* @GST_MPEGTS_SECTION_PAT: Program Association Table (ISO/IEC 13818-1)
* @GST_MPEGTS_SECTION_PMT: Program Map Table (ISO/IEC 13818-1)
* @GST_MPEGTS_SECTION_ATSC_EIT: ATSC Event Information Table (A65)
* @GST_MPEGTS_SECTION_ATSC_STT: ATSC System Time Table (A65)
*
- * Types of #GstMpegTsSection that the library handles.
+ * Types of #GstMpegtsSection that the library handles.
*/
typedef enum {
GST_MPEGTS_SECTION_UNKNOWN = 0,
GST_MPEGTS_SECTION_ATSC_ETT,
GST_MPEGTS_SECTION_ATSC_EIT,
GST_MPEGTS_SECTION_ATSC_STT
-} GstMpegTsSectionType;
+} GstMpegtsSectionType;
/**
- * GstMpegTsSectionTableID:
+ * GstMpegtsSectionTableID:
*
- * Values for a #GstMpegTsSection table_id
+ * 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
+ * see also #GstMpegtsSectionATSCTableID, #GstMpegtsSectionDVBTableID, and
+ * #GstMpegtsSectionSCTETableID
*/
typedef enum {
/* ITU H.222.0 / IEC 13818-1 */
/* Unset */
GST_MTS_TABLE_ID_UNSET = 0xFF
-} GstMpegTsSectionTableID;
+} GstMpegtsSectionTableID;
-typedef gboolean (*GstMpegTsPacketizeFunc) (GstMpegTsSection *section);
+typedef gboolean (*GstMpegtsPacketizeFunc) (GstMpegtsSection *section);
/**
- * GstMpegTsSection:
+ * GstMpegtsSection:
* @section_type: The type of section
* @pid: The pid on which this section was found
* @table_id: The table id of this section
*
* Mpeg-TS Section Information (SI) (ISO/IEC 13818-1)
*/
-struct _GstMpegTsSection
+struct _GstMpegtsSection
{
/*< private >*/
GstMiniObject parent;
/*< public >*/
- GstMpegTsSectionType section_type;
+ GstMpegtsSectionType section_type;
guint16 pid;
guint8 table_id;
* FIXME : Maybe make public later on when allowing creation of
* sections to that people can create private short sections ? */
gboolean short_section;
- GstMpegTsPacketizeFunc packetizer;
+ GstMpegtsPacketizeFunc packetizer;
};
-GBytes *gst_mpegts_section_get_data (GstMpegTsSection *section);
+GBytes *gst_mpegts_section_get_data (GstMpegtsSection *section);
/* PAT */
#define GST_TYPE_MPEGTS_PAT_PROGRAM (gst_mpegts_pat_program_get_type())
-typedef struct _GstMpegTsPatProgram GstMpegTsPatProgram;
+typedef struct _GstMpegtsPatProgram GstMpegtsPatProgram;
/**
- * GstMpegTsPatProgram:
+ * GstMpegtsPatProgram:
* @program_number: the program number
* @network_or_program_map_PID: the network of program map PID
*
* A program entry from a Program Association Table (ITU H.222.0, ISO/IEC 13818-1).
*/
-struct _GstMpegTsPatProgram
+struct _GstMpegtsPatProgram
{
guint16 program_number;
guint16 network_or_program_map_PID;
};
-GPtrArray *gst_mpegts_section_get_pat (GstMpegTsSection *section);
+GPtrArray *gst_mpegts_section_get_pat (GstMpegtsSection *section);
GType gst_mpegts_pat_program_get_type (void);
GPtrArray *gst_mpegts_pat_new (void);
-GstMpegTsPatProgram *gst_mpegts_pat_program_new (void);
-GstMpegTsSection *gst_mpegts_section_from_pat (GPtrArray * programs,
+GstMpegtsPatProgram *gst_mpegts_pat_program_new (void);
+GstMpegtsSection *gst_mpegts_section_from_pat (GPtrArray * programs,
guint16 ts_id);
/* CAT */
-GPtrArray *gst_mpegts_section_get_cat (GstMpegTsSection *section);
+GPtrArray *gst_mpegts_section_get_cat (GstMpegtsSection *section);
/* PMT */
-typedef struct _GstMpegTsPMTStream GstMpegTsPMTStream;
-typedef struct _GstMpegTsPMT GstMpegTsPMT;
+typedef struct _GstMpegtsPMTStream GstMpegtsPMTStream;
+typedef struct _GstMpegtsPMT GstMpegtsPMT;
#define GST_TYPE_MPEGTS_PMT (gst_mpegts_pmt_get_type())
#define GST_TYPE_MPEGTS_PMT_STREAM (gst_mpegts_pmt_stream_get_type())
/**
- * GstMpegTsStreamType:
- * @GST_MPEG_TS_STREAM_TYPE_RESERVED_00: ITU-T | ISO/IEC Reserved
- * @GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG1: ISO/IEC 11172-2 Video
- * @GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG2: Rec. ITU-T H.262 | ISO/IEC 13818-2
+ * GstMpegtsStreamType:
+ * @GST_MPEGTS_STREAM_TYPE_RESERVED_00: ITU-T | ISO/IEC Reserved
+ * @GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1: ISO/IEC 11172-2 Video
+ * @GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2: Rec. ITU-T H.262 | ISO/IEC 13818-2
* Video or ISO/IEC 11172-2 constrained parameter video stream
- * @GST_MPEG_TS_STREAM_TYPE_AUDIO_MPEG1: ISO/IEC 11172-3 Audio
- * @GST_MPEG_TS_STREAM_TYPE_AUDIO_MPEG2: ISO/IEC 13818-3 Audio
- * @GST_MPEG_TS_STREAM_TYPE_PRIVATE_SECTIONS: private sections
- * @GST_MPEG_TS_STREAM_TYPE_PRIVATE_PES_PACKETS: PES packets containing private data
- * @GST_MPEG_TS_STREAM_TYPE_MHEG: ISO/IEC 13522 MHEG
- * @GST_MPEG_TS_STREAM_TYPE_DSM_CC: Annex A DSM-CC
- * @GST_MPEG_TS_STREAM_TYPE_H_222_1: Rec. ITU-T H.222.1
- * @GST_MPEG_TS_STREAM_TYPE_DSMCC_A: ISO/IEC 13818-6 type A
- * @GST_MPEG_TS_STREAM_TYPE_DSMCC_B: ISO/IEC 13818-6 type B
- * @GST_MPEG_TS_STREAM_TYPE_DSMCC_C: ISO/IEC 13818-6 type C
- * @GST_MPEG_TS_STREAM_TYPE_DSMCC_D: ISO/IEC 13818-6 type D
- * @GST_MPEG_TS_STREAM_TYPE_AUXILIARY: auxiliary streams
- * @GST_MPEG_TS_STREAM_TYPE_AUDIO_AAC_ADTS: ISO/IEC 13818-7 Audio with ADTS
+ * @GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1: ISO/IEC 11172-3 Audio
+ * @GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2: ISO/IEC 13818-3 Audio
+ * @GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS: private sections
+ * @GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS: PES packets containing private data
+ * @GST_MPEGTS_STREAM_TYPE_MHEG: ISO/IEC 13522 MHEG
+ * @GST_MPEGTS_STREAM_TYPE_DSM_CC: Annex A DSM-CC
+ * @GST_MPEGTS_STREAM_TYPE_H_222_1: Rec. ITU-T H.222.1
+ * @GST_MPEGTS_STREAM_TYPE_DSMCC_A: ISO/IEC 13818-6 type A
+ * @GST_MPEGTS_STREAM_TYPE_DSMCC_B: ISO/IEC 13818-6 type B
+ * @GST_MPEGTS_STREAM_TYPE_DSMCC_C: ISO/IEC 13818-6 type C
+ * @GST_MPEGTS_STREAM_TYPE_DSMCC_D: ISO/IEC 13818-6 type D
+ * @GST_MPEGTS_STREAM_TYPE_AUXILIARY: auxiliary streams
+ * @GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS: ISO/IEC 13818-7 Audio with ADTS
* transport syntax
- * @GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG4: ISO/IEC 14496-2 Visual
- * @GST_MPEG_TS_STREAM_TYPE_AUDIO_AAC_LATM: ISO/IEC 14496-3 Audio with the LATM
+ * @GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4: ISO/IEC 14496-2 Visual
+ * @GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM: ISO/IEC 14496-3 Audio with the LATM
* transport syntax as defined in ISO/IEC 14496-3
- * @GST_MPEG_TS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS: ISO/IEC 14496-1
+ * @GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS: ISO/IEC 14496-1
* SL-packetized stream or FlexMux stream carried in PES packets
- * @GST_MPEG_TS_STREAM_TYPE_SL_FLEXMUX_SECTIONS: ISO/IEC 14496-1 SL-packetized
+ * @GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS: ISO/IEC 14496-1 SL-packetized
* stream or FlexMux stream carried in ISO/IEC 14496_sections
- * @GST_MPEG_TS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD: ISO/IEC 13818-6 Synchronized
+ * @GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD: ISO/IEC 13818-6 Synchronized
* Download Protocol
- * @GST_MPEG_TS_STREAM_TYPE_METADATA_PES_PACKETS: Metadata carried in PES packets
- * @GST_MPEG_TS_STREAM_TYPE_METADATA_SECTIONS: Metadata carried in metadata_sections
- * @GST_MPEG_TS_STREAM_TYPE_METADATA_DATA_CAROUSEL: Metadata carried in ISO/IEC
+ * @GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS: Metadata carried in PES packets
+ * @GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS: Metadata carried in metadata_sections
+ * @GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL: Metadata carried in ISO/IEC
* 13818-6 Data Carousel
- * @GST_MPEG_TS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL: Metadata carried in
+ * @GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL: Metadata carried in
* ISO/IEC 13818-6 Object Carousel
- * @GST_MPEG_TS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD: Metadata carried in
+ * @GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD: Metadata carried in
* ISO/IEC 13818-6 Synchronized Download Protocol
- * @GST_MPEG_TS_STREAM_TYPE_MPEG2_IPMP: IPMP stream (defined in ISO/IEC 13818-11,
+ * @GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP: IPMP stream (defined in ISO/IEC 13818-11,
* MPEG-2 IPMP)
- * @GST_MPEG_TS_STREAM_TYPE_VIDEO_H264: AVC video stream conforming to one or
+ * @GST_MPEGTS_STREAM_TYPE_VIDEO_H264: 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
- * @GST_MPEG_TS_STREAM_TYPE_AUDIO_AAC_CLEAN: ISO/IEC 14496-3 Audio, without
+ * @GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN: ISO/IEC 14496-3 Audio, without
* using any additional transport syntax, such as DST, ALS and SLS
- * @GST_MPEG_TS_STREAM_TYPE_MPEG4_TIMED_TEXT: ISO/IEC 14496-17 Text
- * @GST_MPEG_TS_STREAM_TYPE_VIDEO_RVC: Auxiliary video stream as defined in
+ * @GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT: ISO/IEC 14496-17 Text
+ * @GST_MPEGTS_STREAM_TYPE_VIDEO_RVC: Auxiliary video stream as defined in
* ISO/IEC 23002-3
- * @GST_MPEG_TS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM: SVC video sub-bitstream
+ * @GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM: 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
- * @GST_MPEG_TS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM: MVC video sub-bitstream
+ * @GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM: 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
- * @GST_MPEG_TS_STREAM_TYPE_VIDEO_JP2K: Video stream conforming to one or more
+ * @GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K: Video stream conforming to one or more
* profiles as defined in Rec. ITU-T T.800 | ISO/IEC 15444-1
- * @GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW: Additional view
+ * @GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW: Additional view
* Rec. ITU-T H.262 | ISO/IEC 13818-2 video stream for service-compatible
* stereoscopic 3D services
- * @GST_MPEG_TS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW: Additional view
+ * @GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW: 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
- * @GST_MPEG_TS_STREAM_TYPE_IPMP_STREAM: IPMP stream
+ * @GST_MPEGTS_STREAM_TYPE_IPMP_STREAM: IPMP stream
*
* Type of mpeg-ts stream type.
*
* Corresponds to table 2-34 of ITU H.222.0 | ISO/IEC 13818-1
*/
typedef enum {
- GST_MPEG_TS_STREAM_TYPE_RESERVED_00 = 0x00,
- GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG1 = 0x01,
- GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG2 = 0x02,
- GST_MPEG_TS_STREAM_TYPE_AUDIO_MPEG1 = 0x03,
- GST_MPEG_TS_STREAM_TYPE_AUDIO_MPEG2 = 0x04,
- GST_MPEG_TS_STREAM_TYPE_PRIVATE_SECTIONS = 0x05,
- GST_MPEG_TS_STREAM_TYPE_PRIVATE_PES_PACKETS = 0x06,
- GST_MPEG_TS_STREAM_TYPE_MHEG = 0x07,
- GST_MPEG_TS_STREAM_TYPE_DSM_CC = 0x08,
- GST_MPEG_TS_STREAM_TYPE_H_222_1 = 0x09,
- GST_MPEG_TS_STREAM_TYPE_DSMCC_A = 0x0a,
- GST_MPEG_TS_STREAM_TYPE_DSMCC_B = 0x0b,
- GST_MPEG_TS_STREAM_TYPE_DSMCC_C = 0x0c,
- GST_MPEG_TS_STREAM_TYPE_DSMCC_D = 0x0d,
- GST_MPEG_TS_STREAM_TYPE_AUXILIARY = 0x0e,
- GST_MPEG_TS_STREAM_TYPE_AUDIO_AAC_ADTS = 0x0f,
- GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG4 = 0x10,
- GST_MPEG_TS_STREAM_TYPE_AUDIO_AAC_LATM = 0x11,
- GST_MPEG_TS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS = 0x12,
- GST_MPEG_TS_STREAM_TYPE_SL_FLEXMUX_SECTIONS = 0x13,
- GST_MPEG_TS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD = 0x14,
- GST_MPEG_TS_STREAM_TYPE_METADATA_PES_PACKETS = 0x15,
- GST_MPEG_TS_STREAM_TYPE_METADATA_SECTIONS = 0x16,
- GST_MPEG_TS_STREAM_TYPE_METADATA_DATA_CAROUSEL = 0x17,
- GST_MPEG_TS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL = 0x18,
- GST_MPEG_TS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD = 0x19,
- GST_MPEG_TS_STREAM_TYPE_MPEG2_IPMP = 0x1a,
- GST_MPEG_TS_STREAM_TYPE_VIDEO_H264 = 0x1b,
- GST_MPEG_TS_STREAM_TYPE_AUDIO_AAC_CLEAN = 0x1c,
- GST_MPEG_TS_STREAM_TYPE_MPEG4_TIMED_TEXT = 0x1d,
- GST_MPEG_TS_STREAM_TYPE_VIDEO_RVC = 0x1e,
- GST_MPEG_TS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM = 0x1f,
- GST_MPEG_TS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM = 0x20,
- GST_MPEG_TS_STREAM_TYPE_VIDEO_JP2K = 0x21,
- GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW = 0x22,
- GST_MPEG_TS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW = 0x23,
- GST_MPEG_TS_STREAM_TYPE_VIDEO_HEVC = 0x24,
+ GST_MPEGTS_STREAM_TYPE_RESERVED_00 = 0x00,
+ GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1 = 0x01,
+ GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2 = 0x02,
+ GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1 = 0x03,
+ GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2 = 0x04,
+ GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS = 0x05,
+ GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS = 0x06,
+ GST_MPEGTS_STREAM_TYPE_MHEG = 0x07,
+ GST_MPEGTS_STREAM_TYPE_DSM_CC = 0x08,
+ GST_MPEGTS_STREAM_TYPE_H_222_1 = 0x09,
+ GST_MPEGTS_STREAM_TYPE_DSMCC_A = 0x0a,
+ GST_MPEGTS_STREAM_TYPE_DSMCC_B = 0x0b,
+ GST_MPEGTS_STREAM_TYPE_DSMCC_C = 0x0c,
+ GST_MPEGTS_STREAM_TYPE_DSMCC_D = 0x0d,
+ GST_MPEGTS_STREAM_TYPE_AUXILIARY = 0x0e,
+ GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS = 0x0f,
+ GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4 = 0x10,
+ GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM = 0x11,
+ GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS = 0x12,
+ GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS = 0x13,
+ GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD = 0x14,
+ GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS = 0x15,
+ GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS = 0x16,
+ GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL = 0x17,
+ GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL = 0x18,
+ GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD = 0x19,
+ GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP = 0x1a,
+ GST_MPEGTS_STREAM_TYPE_VIDEO_H264 = 0x1b,
+ GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN = 0x1c,
+ GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT = 0x1d,
+ GST_MPEGTS_STREAM_TYPE_VIDEO_RVC = 0x1e,
+ GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM = 0x1f,
+ GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM = 0x20,
+ GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K = 0x21,
+ GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW = 0x22,
+ GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW = 0x23,
+ GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC = 0x24,
/* 0x24 - 0x7e : Rec. ITU-T H.222.0 | ISO/IEC 13818-1 Reserved */
- GST_MPEG_TS_STREAM_TYPE_IPMP_STREAM = 0x7f
+ GST_MPEGTS_STREAM_TYPE_IPMP_STREAM = 0x7f
/* 0x80 - 0xff : User Private (or defined in other specs) */
-} GstMpegTsStreamType;
+} GstMpegtsStreamType;
/**
- * GstMpegTsPMTStream:
- * @stream_type: the type of stream. See #GstMpegTsStreamType
+ * GstMpegtsPMTStream:
+ * @stream_type: the type of stream. See #GstMpegtsStreamType
* @pid: the PID of the stream
- * @descriptors: (element-type GstMpegTsDescriptor): the descriptors of the
+ * @descriptors: (element-type GstMpegtsDescriptor): the descriptors of the
* stream
*
* An individual stream definition.
*/
-struct _GstMpegTsPMTStream
+struct _GstMpegtsPMTStream
{
guint8 stream_type;
guint16 pid;
};
/**
- * GstMpegTsPMT:
+ * GstMpegtsPMT:
* @pcr_pid: PID of the stream containing PCR
- * @descriptors: (element-type GstMpegTsDescriptor): array of #GstMpegTsDescriptor
- * @streams: (element-type GstMpegTsPMTStream): Array of #GstMpegTsPMTStream
+ * @descriptors: (element-type GstMpegtsDescriptor): array of #GstMpegtsDescriptor
+ * @streams: (element-type GstMpegtsPMTStream): Array of #GstMpegtsPMTStream
*
* Program Map Table (ISO/IEC 13818-1).
*
* The program_number is contained in the subtable_extension field of the
- * container #GstMpegTsSection.
+ * container #GstMpegtsSection.
*/
-struct _GstMpegTsPMT
+struct _GstMpegtsPMT
{
guint16 pcr_pid;
guint16 program_number;
GType gst_mpegts_pmt_get_type (void);
GType gst_mpegts_pmt_stream_get_type (void);
-GstMpegTsPMT *gst_mpegts_pmt_new (void);
-GstMpegTsPMTStream *gst_mpegts_pmt_stream_new (void);
-const GstMpegTsPMT *gst_mpegts_section_get_pmt (GstMpegTsSection *section);
-GstMpegTsSection *gst_mpegts_section_from_pmt (GstMpegTsPMT *pmt, guint16 pid);
+GstMpegtsPMT *gst_mpegts_pmt_new (void);
+GstMpegtsPMTStream *gst_mpegts_pmt_stream_new (void);
+const GstMpegtsPMT *gst_mpegts_section_get_pmt (GstMpegtsSection *section);
+GstMpegtsSection *gst_mpegts_section_from_pmt (GstMpegtsPMT *pmt, guint16 pid);
/* TSDT */
-GPtrArray *gst_mpegts_section_get_tsdt (GstMpegTsSection *section);
+GPtrArray *gst_mpegts_section_get_tsdt (GstMpegtsSection *section);
/* generic */
-#define gst_mpegts_section_ref(section) ((GstMpegTsSection*) gst_mini_object_ref (GST_MINI_OBJECT_CAST (section)))
+#define gst_mpegts_section_ref(section) ((GstMpegtsSection*) gst_mini_object_ref (GST_MINI_OBJECT_CAST (section)))
#define gst_mpegts_section_unref(section) (gst_mini_object_unref (GST_MINI_OBJECT_CAST (section)))
-GstMessage *gst_message_new_mpegts_section (GstObject *parent, GstMpegTsSection *section);
-gboolean gst_mpegts_section_send_event (GstMpegTsSection * section, GstElement * element);
-GstMpegTsSection *gst_event_parse_mpegts_section (GstEvent * event);
+GstMessage *gst_message_new_mpegts_section (GstObject *parent, GstMpegtsSection *section);
+gboolean gst_mpegts_section_send_event (GstMpegtsSection * section, GstElement * element);
+GstMpegtsSection *gst_event_parse_mpegts_section (GstEvent * event);
-GstMpegTsSection *gst_message_parse_mpegts_section (GstMessage *message);
+GstMpegtsSection *gst_message_parse_mpegts_section (GstMessage *message);
-GstMpegTsSection *gst_mpegts_section_new (guint16 pid,
+GstMpegtsSection *gst_mpegts_section_new (guint16 pid,
guint8 * data,
gsize data_size);
-guint8 *gst_mpegts_section_packetize (GstMpegTsSection * section, gsize * output_size);
+guint8 *gst_mpegts_section_packetize (GstMpegtsSection * section, gsize * output_size);
G_END_DECLS
static GstStateChangeReturn mpegts_base_change_state (GstElement * element,
GstStateChange transition);
static gboolean mpegts_base_get_tags_from_eit (MpegTSBase * base,
- GstMpegTsSection * section);
+ GstMpegtsSection * section);
static gboolean mpegts_base_parse_atsc_mgt (MpegTSBase * base,
- GstMpegTsSection * section);
+ GstMpegtsSection * section);
static gboolean remove_each_program (gpointer key, MpegTSBaseProgram * program,
MpegTSBase * base);
/* returns NULL if no matching descriptor found *
* otherwise returns a descriptor that needs to *
* be freed */
-const GstMpegTsDescriptor *
+const GstMpegtsDescriptor *
mpegts_get_descriptor_from_stream (MpegTSBaseStream * stream, guint8 tag)
{
- GstMpegTsPMTStream *pmt = stream->stream;
+ GstMpegtsPMTStream *pmt = stream->stream;
GST_DEBUG ("Searching for tag 0x%02x in stream 0x%04x (stream_type 0x%02x)",
tag, stream->pid, stream->stream_type);
/* returns NULL if no matching descriptor found *
* otherwise returns a descriptor that needs to *
* be freed */
-const GstMpegTsDescriptor *
+const GstMpegtsDescriptor *
mpegts_get_descriptor_from_program (MpegTSBaseProgram * program, guint8 tag)
{
- const GstMpegTsPMT *pmt = program->pmt;
+ const GstMpegtsPMT *pmt = program->pmt;
return gst_mpegts_find_descriptor (pmt->descriptors, tag);
}
static guint32
get_registration_from_descriptors (GPtrArray * descriptors)
{
- const GstMpegTsDescriptor *desc;
+ const GstMpegtsDescriptor *desc;
if ((desc =
gst_mpegts_find_descriptor (descriptors,
static MpegTSBaseStream *
mpegts_base_program_add_stream (MpegTSBase * base,
MpegTSBaseProgram * program, guint16 pid, guint8 stream_type,
- GstMpegTsPMTStream * stream)
+ GstMpegtsPMTStream * stream)
{
MpegTSBaseClass *klass = GST_MPEGTS_BASE_GET_CLASS (base);
MpegTSBaseStream *bstream;
/* Return TRUE if programs are equal */
static gboolean
mpegts_base_is_same_program (MpegTSBase * base, MpegTSBaseProgram * oldprogram,
- guint16 new_pmt_pid, const GstMpegTsPMT * new_pmt)
+ guint16 new_pmt_pid, const GstMpegtsPMT * new_pmt)
{
guint i, nbstreams;
MpegTSBaseStream *oldstream;
/* Check the streams */
nbstreams = new_pmt->streams->len;
for (i = 0; i < nbstreams; ++i) {
- GstMpegTsPMTStream *stream = g_ptr_array_index (new_pmt->streams, i);
+ GstMpegtsPMTStream *stream = g_ptr_array_index (new_pmt->streams, i);
oldstream = oldprogram->streams[stream->pid];
if (!oldstream) {
if (program->pmt) {
for (i = 0; i < program->pmt->streams->len; ++i) {
- GstMpegTsPMTStream *stream = g_ptr_array_index (program->pmt->streams, i);
+ GstMpegtsPMTStream *stream = g_ptr_array_index (program->pmt->streams, i);
mpegts_base_program_remove_stream (base, program, stream->pid);
* program */
if (!mpegts_pid_in_active_programs (base, stream->pid)) {
switch (stream->stream_type) {
- case GST_MPEG_TS_STREAM_TYPE_SCTE_DSMCC_DCB:
- case GST_MPEG_TS_STREAM_TYPE_SCTE_SIGNALING:
+ case GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB:
+ case GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING:
{
guint32 registration_id =
get_registration_from_descriptors (stream->descriptors);
break;
/* Fall through on purpose - remove this PID from known_psi */
}
- case GST_MPEG_TS_STREAM_TYPE_PRIVATE_SECTIONS:
- case GST_MPEG_TS_STREAM_TYPE_MHEG:
- case GST_MPEG_TS_STREAM_TYPE_DSM_CC:
- case GST_MPEG_TS_STREAM_TYPE_DSMCC_A:
- case GST_MPEG_TS_STREAM_TYPE_DSMCC_B:
- case GST_MPEG_TS_STREAM_TYPE_DSMCC_C:
- case GST_MPEG_TS_STREAM_TYPE_DSMCC_D:
- case GST_MPEG_TS_STREAM_TYPE_SL_FLEXMUX_SECTIONS:
- case GST_MPEG_TS_STREAM_TYPE_METADATA_SECTIONS:
+ case GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS:
+ case GST_MPEGTS_STREAM_TYPE_MHEG:
+ case GST_MPEGTS_STREAM_TYPE_DSM_CC:
+ case GST_MPEGTS_STREAM_TYPE_DSMCC_A:
+ case GST_MPEGTS_STREAM_TYPE_DSMCC_B:
+ case GST_MPEGTS_STREAM_TYPE_DSMCC_C:
+ case GST_MPEGTS_STREAM_TYPE_DSMCC_D:
+ case GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS:
+ case GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS:
/* Set known PSI streams */
if (base->parse_private_sections)
MPEGTS_BIT_UNSET (base->known_psi, stream->pid);
static void
mpegts_base_activate_program (MpegTSBase * base, MpegTSBaseProgram * program,
- guint16 pmt_pid, GstMpegTsSection * section, const GstMpegTsPMT * pmt,
+ guint16 pmt_pid, GstMpegtsSection * section, const GstMpegtsPMT * pmt,
gboolean initial_program)
{
guint i;
program->program_number, SAFE_FOURCC_ARGS (program->registration_id));
for (i = 0; i < pmt->streams->len; ++i) {
- GstMpegTsPMTStream *stream = g_ptr_array_index (pmt->streams, i);
+ GstMpegtsPMTStream *stream = g_ptr_array_index (pmt->streams, i);
switch (stream->stream_type) {
- case GST_MPEG_TS_STREAM_TYPE_SCTE_DSMCC_DCB:
- case GST_MPEG_TS_STREAM_TYPE_SCTE_SIGNALING:
+ case GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB:
+ case GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING:
{
guint32 registration_id =
get_registration_from_descriptors (stream->descriptors);
break;
/* Fall through on purpose - remove this PID from known_psi */
}
- case GST_MPEG_TS_STREAM_TYPE_PRIVATE_SECTIONS:
- case GST_MPEG_TS_STREAM_TYPE_MHEG:
- case GST_MPEG_TS_STREAM_TYPE_DSM_CC:
- case GST_MPEG_TS_STREAM_TYPE_DSMCC_A:
- case GST_MPEG_TS_STREAM_TYPE_DSMCC_B:
- case GST_MPEG_TS_STREAM_TYPE_DSMCC_C:
- case GST_MPEG_TS_STREAM_TYPE_DSMCC_D:
- case GST_MPEG_TS_STREAM_TYPE_SL_FLEXMUX_SECTIONS:
- case GST_MPEG_TS_STREAM_TYPE_METADATA_SECTIONS:
+ case GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS:
+ case GST_MPEGTS_STREAM_TYPE_MHEG:
+ case GST_MPEGTS_STREAM_TYPE_DSM_CC:
+ case GST_MPEGTS_STREAM_TYPE_DSMCC_A:
+ case GST_MPEGTS_STREAM_TYPE_DSMCC_B:
+ case GST_MPEGTS_STREAM_TYPE_DSMCC_C:
+ case GST_MPEGTS_STREAM_TYPE_DSMCC_D:
+ case GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS:
+ case GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS:
/* Set known PSI streams */
if (base->parse_private_sections)
MPEGTS_BIT_SET (base->known_psi, stream->pid);
static gboolean
-mpegts_base_apply_pat (MpegTSBase * base, GstMpegTsSection * section)
+mpegts_base_apply_pat (MpegTSBase * base, GstMpegtsSection * section)
{
GPtrArray *pat = gst_mpegts_section_get_pat (section);
GPtrArray *old_pat;
GST_LOG ("Activating new Program Association Table");
/* activate the new table */
for (i = 0; i < pat->len; ++i) {
- GstMpegTsPatProgram *patp = g_ptr_array_index (pat, i);
+ GstMpegtsPatProgram *patp = g_ptr_array_index (pat, i);
program = mpegts_base_get_program (base, patp->program_number);
if (program) {
GST_LOG ("Deactivating old Program Association Table");
for (i = 0; i < old_pat->len; ++i) {
- GstMpegTsPatProgram *patp = g_ptr_array_index (old_pat, i);
+ GstMpegtsPatProgram *patp = g_ptr_array_index (old_pat, i);
program = mpegts_base_get_program (base, patp->program_number);
if (G_UNLIKELY (program == NULL)) {
}
static gboolean
-mpegts_base_apply_pmt (MpegTSBase * base, GstMpegTsSection * section)
+mpegts_base_apply_pmt (MpegTSBase * base, GstMpegtsSection * section)
{
- const GstMpegTsPMT *pmt;
+ const GstMpegtsPMT *pmt;
MpegTSBaseProgram *program, *old_program;
guint program_number;
gboolean initial_program = TRUE;
}
static void
-mpegts_base_handle_psi (MpegTSBase * base, GstMpegTsSection * section)
+mpegts_base_handle_psi (MpegTSBase * base, GstMpegtsSection * section)
{
gboolean post_message = TRUE;
}
static gboolean
-mpegts_base_parse_atsc_mgt (MpegTSBase * base, GstMpegTsSection * section)
+mpegts_base_parse_atsc_mgt (MpegTSBase * base, GstMpegtsSection * section)
{
- const GstMpegTsAtscMGT *mgt;
+ const GstMpegtsAtscMGT *mgt;
gint i;
mgt = gst_mpegts_section_get_atsc_mgt (section);
return FALSE;
for (i = 0; i < mgt->tables->len; ++i) {
- GstMpegTsAtscMGTTable *table = g_ptr_array_index (mgt->tables, i);
+ GstMpegtsAtscMGTTable *table = g_ptr_array_index (mgt->tables, i);
- if ((table->table_type >= GST_MPEG_TS_ATSC_MGT_TABLE_TYPE_EIT0 &&
- table->table_type <= GST_MPEG_TS_ATSC_MGT_TABLE_TYPE_EIT127) ||
- (table->table_type >= GST_MPEG_TS_ATSC_MGT_TABLE_TYPE_ETT0 &&
- table->table_type <= GST_MPEG_TS_ATSC_MGT_TABLE_TYPE_ETT127)) {
+ if ((table->table_type >= GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0 &&
+ table->table_type <= GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127) ||
+ (table->table_type >= GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0 &&
+ table->table_type <= GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127)) {
MPEGTS_BIT_SET (base->known_psi, table->pid);
}
}
}
static gboolean
-mpegts_base_get_tags_from_eit (MpegTSBase * base, GstMpegTsSection * section)
+mpegts_base_get_tags_from_eit (MpegTSBase * base, GstMpegtsSection * section)
{
- const GstMpegTsEIT *eit;
+ const GstMpegtsEIT *eit;
guint i;
MpegTSBaseProgram *program;
if (program && eit->present_following) {
for (i = 0; i < eit->events->len; i++) {
- GstMpegTsEITEvent *event = g_ptr_array_index (eit->events, i);
- const GstMpegTsDescriptor *desc;
+ GstMpegtsEITEvent *event = g_ptr_array_index (eit->events, i);
+ const GstMpegtsDescriptor *desc;
if (event->running_status == RUNNING_STATUS_RUNNING) {
program->event_id = event->event_id;
&& MPEGTS_BIT_IS_SET (base->known_psi, packet.pid)) {
/* base PSI data */
GList *others, *tmp;
- GstMpegTsSection *section;
+ GstMpegtsSection *section;
section = mpegts_packetizer_push_section (packetizer, &packet, &others);
if (section)
mpegts_base_handle_psi (base, section);
if (G_UNLIKELY (others)) {
for (tmp = others; tmp; tmp = tmp->next)
- mpegts_base_handle_psi (base, (GstMpegTsSection *) tmp->data);
+ mpegts_base_handle_psi (base, (GstMpegtsSection *) tmp->data);
g_list_free (others);
}
/* Content of the registration descriptor (if present) */
guint32 registration_id;
- GstMpegTsPMTStream *stream;
+ GstMpegtsPMTStream *stream;
};
struct _MpegTSBaseProgram
/* Content of the registration descriptor (if present) */
guint32 registration_id;
- GstMpegTsSection *section;
- const GstMpegTsPMT *pmt;
+ GstMpegtsSection *section;
+ const GstMpegtsPMT *pmt;
MpegTSBaseStream **streams;
GList *stream_list;
/* Virtual methods */
void (*reset) (MpegTSBase *base);
- GstFlowReturn (*push) (MpegTSBase *base, MpegTSPacketizerPacket *packet, GstMpegTsSection * section);
+ GstFlowReturn (*push) (MpegTSBase *base, MpegTSPacketizerPacket *packet, GstMpegtsSection * section);
/* takes ownership of @event */
gboolean (*push_event) (MpegTSBase *base, GstEvent * event);
G_GNUC_INTERNAL MpegTSBaseProgram *mpegts_base_get_program (MpegTSBase * base, gint program_number);
G_GNUC_INTERNAL MpegTSBaseProgram *mpegts_base_add_program (MpegTSBase * base, gint program_number, guint16 pmt_pid);
-G_GNUC_INTERNAL const GstMpegTsDescriptor *mpegts_get_descriptor_from_stream (MpegTSBaseStream * stream, guint8 tag);
-G_GNUC_INTERNAL const GstMpegTsDescriptor *mpegts_get_descriptor_from_program (MpegTSBaseProgram * program, guint8 tag);
+G_GNUC_INTERNAL const GstMpegtsDescriptor *mpegts_get_descriptor_from_stream (MpegTSBaseStream * stream, guint8 tag);
+G_GNUC_INTERNAL const GstMpegtsDescriptor *mpegts_get_descriptor_from_program (MpegTSBaseProgram * program, guint8 tag);
G_GNUC_INTERNAL gboolean
mpegts_base_handle_seek_event(MpegTSBase * base, GstPad * pad, GstEvent * event);
return PACKET_OK;
}
-static GstMpegTsSection *
+static GstMpegtsSection *
mpegts_packetizer_parse_section_header (MpegTSPacketizer2 * packetizer,
MpegTSPacketizerStream * stream)
{
MpegTSPacketizerStreamSubtable *subtable;
- GstMpegTsSection *res;
+ GstMpegtsSection *res;
subtable =
find_subtable (stream->subtables, stream->table_id,
* * The section applies now (current_next_indicator)
* * The section is an update or was never seen
*
- * The section should be a new GstMpegTsSection:
+ * The section should be a new GstMpegtsSection:
* * properly initialized
* * With pid, table_id AND section_type set (move logic from mpegtsbase)
* * With data copied into it (yes, minor overhead)
* If more than one section is available, the 'remaining' field will
* be set to the beginning of a valid GList containing other sections.
* */
-GstMpegTsSection *
+GstMpegtsSection *
mpegts_packetizer_push_section (MpegTSPacketizer2 * packetizer,
MpegTSPacketizerPacket * packet, GList ** remaining)
{
- GstMpegTsSection *section;
- GstMpegTsSection *res = NULL;
+ GstMpegtsSection *section;
+ GstMpegtsSection *res = NULL;
MpegTSPacketizerStream *stream;
gboolean long_packet;
guint8 pointer = 0, table_id;
G_GNUC_INTERNAL void mpegts_packetizer_remove_stream(MpegTSPacketizer2 *packetizer,
gint16 pid);
-G_GNUC_INTERNAL GstMpegTsSection *mpegts_packetizer_push_section (MpegTSPacketizer2 *packetzer,
+G_GNUC_INTERNAL GstMpegtsSection *mpegts_packetizer_push_section (MpegTSPacketizer2 *packetzer,
MpegTSPacketizerPacket *packet, GList **remaining);
/* Only valid if calculate_offset is TRUE */
static GstFlowReturn
mpegts_parse_push (MpegTSBase * base, MpegTSPacketizerPacket * packet,
- GstMpegTsSection * section);
+ GstMpegtsSection * section);
static MpegTSParsePad *mpegts_parse_create_tspad (MpegTSParse2 * parse,
const gchar * name);
static GstFlowReturn
mpegts_parse_tspad_push_section (MpegTSParse2 * parse, MpegTSParsePad * tspad,
- GstMpegTsSection * section, MpegTSPacketizerPacket * packet)
+ GstMpegtsSection * section, MpegTSPacketizerPacket * packet)
{
GstFlowReturn ret = GST_FLOW_OK;
gboolean to_push = TRUE;
static GstFlowReturn
mpegts_parse_push (MpegTSBase * base, MpegTSPacketizerPacket * packet,
- GstMpegTsSection * section)
+ GstMpegtsSection * section)
{
MpegTSParse2 *parse = (MpegTSParse2 *) base;
guint32 pads_cookie;
static void gst_ts_demux_reset (MpegTSBase * base);
static GstFlowReturn
gst_ts_demux_push (MpegTSBase * base, MpegTSPacketizerPacket * packet,
- GstMpegTsSection * section);
+ GstMpegtsSection * section);
static void gst_ts_demux_flush (MpegTSBase * base, gboolean hard);
static GstFlowReturn gst_ts_demux_drain (MpegTSBase * base);
static void
gst_ts_demux_create_tags (TSDemuxStream * stream)
{
MpegTSBaseStream *bstream = (MpegTSBaseStream *) stream;
- const GstMpegTsDescriptor *desc = NULL;
+ const GstMpegtsDescriptor *desc = NULL;
int i, nb;
desc =
gchar *name = NULL;
GstCaps *caps = NULL;
GstPadTemplate *template = NULL;
- const GstMpegTsDescriptor *desc = NULL;
+ const GstMpegtsDescriptor *desc = NULL;
GstPad *pad = NULL;
gst_ts_demux_create_tags (stream);
switch (bstream->stream_type) {
case ST_BD_AUDIO_AC3:
{
- const GstMpegTsDescriptor *ac3_desc;
+ const GstMpegtsDescriptor *ac3_desc;
/* ATSC ac3 audio descriptor */
ac3_desc =
/* Handle non-BluRay stream types */
switch (bstream->stream_type) {
- case GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG1:
- case GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG2:
+ case GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1:
+ case GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2:
case ST_PS_VIDEO_MPEG2_DCII:
/* FIXME : Use DCII registration code (ETV1 ?) to handle that special
* Stream type (ST_PS_VIDEO_MPEG2_DCII) */
name = g_strdup_printf ("video_%04x", bstream->pid);
caps = gst_caps_new_simple ("video/mpeg",
"mpegversion", G_TYPE_INT,
- bstream->stream_type == GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG1 ? 1 : 2,
+ bstream->stream_type == GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1 ? 1 : 2,
"systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
break;
- case GST_MPEG_TS_STREAM_TYPE_AUDIO_MPEG1:
- case GST_MPEG_TS_STREAM_TYPE_AUDIO_MPEG2:
+ case GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1:
+ case GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2:
GST_LOG ("mpeg audio");
template = gst_static_pad_template_get (&audio_template);
name = g_strdup_printf ("audio_%04x", bstream->pid);
if (program->registration_id == DRF_ID_TSHV)
gst_caps_set_simple (caps, "layer", G_TYPE_INT, 2, NULL);
break;
- case GST_MPEG_TS_STREAM_TYPE_PRIVATE_PES_PACKETS:
+ case GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS:
GST_LOG ("private data");
/* FIXME: Move all of this into a common method (there might be other
* types also, depending on registratino descriptors also
/* name = g_strdup_printf ("private_%04x", bstream->pid); */
/* caps = gst_caps_new_simple ("hdv/aux-a", NULL); */
break;
- case GST_MPEG_TS_STREAM_TYPE_AUDIO_AAC_ADTS:
+ case GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS:
template = gst_static_pad_template_get (&audio_template);
name = g_strdup_printf ("audio_%04x", bstream->pid);
caps = gst_caps_new_simple ("audio/mpeg",
"mpegversion", G_TYPE_INT, 2,
"stream-format", G_TYPE_STRING, "adts", NULL);
break;
- case GST_MPEG_TS_STREAM_TYPE_AUDIO_AAC_LATM:
+ case GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM:
template = gst_static_pad_template_get (&audio_template);
name = g_strdup_printf ("audio_%04x", bstream->pid);
caps = gst_caps_new_simple ("audio/mpeg",
"mpegversion", G_TYPE_INT, 4,
"stream-format", G_TYPE_STRING, "loas", NULL);
break;
- case GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG4:
+ case GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4:
template = gst_static_pad_template_get (&video_template);
name = g_strdup_printf ("video_%04x", bstream->pid);
caps = gst_caps_new_simple ("video/mpeg",
"mpegversion", G_TYPE_INT, 4,
"systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
break;
- case GST_MPEG_TS_STREAM_TYPE_VIDEO_H264:
+ case GST_MPEGTS_STREAM_TYPE_VIDEO_H264:
template = gst_static_pad_template_get (&video_template);
name = g_strdup_printf ("video_%04x", bstream->pid);
caps = gst_caps_new_simple ("video/x-h264",
"stream-format", G_TYPE_STRING, "byte-stream",
"alignment", G_TYPE_STRING, "nal", NULL);
break;
- case GST_MPEG_TS_STREAM_TYPE_VIDEO_HEVC:
+ case GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC:
template = gst_static_pad_template_get (&video_template);
name = g_strdup_printf ("video_%04x", bstream->pid);
caps = gst_caps_new_simple ("video/x-h265",
gst_flow_combiner_add_pad (demux->flowcombiner, stream->pad);
}
- if (bstream->stream_type == GST_MPEG_TS_STREAM_TYPE_VIDEO_H264) {
+ if (bstream->stream_type == GST_MPEGTS_STREAM_TYPE_VIDEO_H264) {
stream->scan_function =
(GstTsDemuxKeyFrameScanFunction) scan_keyframe_h264;
} else {
static GstFlowReturn
gst_ts_demux_handle_packet (GstTSDemux * demux, TSDemuxStream * stream,
- MpegTSPacketizerPacket * packet, GstMpegTsSection * section)
+ MpegTSPacketizerPacket * packet, GstMpegtsSection * section)
{
GstFlowReturn res = GST_FLOW_OK;
static GstFlowReturn
gst_ts_demux_push (MpegTSBase * base, MpegTSPacketizerPacket * packet,
- GstMpegTsSection * section)
+ GstMpegtsSection * section)
{
GstTSDemux *demux = GST_TS_DEMUX_CAST (base);
TSDemuxStream *stream = NULL;
static gboolean
mpegtsmux_send_event (GstElement * element, GstEvent * event)
{
- GstMpegTsSection *section;
+ GstMpegtsSection *section;
MpegTsMux *mux = GST_MPEG_TSMUX (element);
g_return_val_if_fail (event != NULL, FALSE);
/**
* tsmux_add_mpegts_si_section:
* @mux: a #TsMux
- * @section: (transfer full): a #GstMpegTsSection to add
+ * @section: (transfer full): a #GstMpegtsSection to add
*
- * Add a Service Information #GstMpegTsSection to the stream
+ * Add a Service Information #GstMpegtsSection to the stream
*
* Returns: #TRUE on success, #FALSE otherwise
*/
gboolean
-tsmux_add_mpegts_si_section (TsMux * mux, GstMpegTsSection * section)
+tsmux_add_mpegts_si_section (TsMux * mux, GstMpegtsSection * section)
{
TsMuxSection *tsmux_section;
}
static gboolean
-tsmux_section_write_packet (GstMpegTsSectionType * type,
+tsmux_section_write_packet (GstMpegtsSectionType * type,
TsMuxSection * section, TsMux * mux)
{
GstBuffer *section_buffer;
payload_written = 0;
/* Wrap section data in a buffer without free function.
- The data will be freed when the GstMpegTsSection is destroyed. */
+ The data will be freed when the GstMpegtsSection is destroyed. */
section_buffer = gst_buffer_new_wrapped_full (GST_MEMORY_FLAG_READONLY,
data, data_size, 0, data_size, NULL, NULL);
pat = gst_mpegts_pat_new ();
for (cur = mux->programs; cur; cur = cur->next) {
- GstMpegTsPatProgram *pat_pgm;
+ GstMpegtsPatProgram *pat_pgm;
TsMuxProgram *program = (TsMuxProgram *) cur->data;
pat_pgm = gst_mpegts_pat_program_new ();
* }
* }
*/
- GstMpegTsDescriptor *descriptor;
- GstMpegTsPMT *pmt;
+ GstMpegtsDescriptor *descriptor;
+ GstMpegtsPMT *pmt;
guint8 desc[] = { 0x0F, 0xFF, 0xFC, 0xFC };
guint i;
/* Write out the entries */
for (i = 0; i < program->streams->len; i++) {
- GstMpegTsPMTStream *pmt_stream;
+ GstMpegtsPMTStream *pmt_stream;
TsMuxStream *stream = g_array_index (program->streams, TsMuxStream *, i);
pmt_stream = gst_mpegts_pmt_stream_new ();
struct TsMuxSection {
TsMuxPacketInfo pi;
- GstMpegTsSection *section;
+ GstMpegtsSection *section;
};
/* Information for the streams associated with one program */
/* SI table management */
void tsmux_set_si_interval (TsMux *mux, guint interval);
guint tsmux_get_si_interval (TsMux *mux);
-gboolean tsmux_add_mpegts_si_section (TsMux * mux, GstMpegTsSection * section);
+gboolean tsmux_add_mpegts_si_section (TsMux * mux, GstMpegtsSection * section);
/* stream management */
TsMuxStream * tsmux_create_stream (TsMux *mux, TsMuxStreamType stream_type, guint16 pid, gchar *language);
*/
void
tsmux_stream_get_es_descrs (TsMuxStream * stream,
- GstMpegTsPMTStream * pmt_stream)
+ GstMpegtsPMTStream * pmt_stream)
{
- GstMpegTsDescriptor *descriptor;
+ GstMpegtsDescriptor *descriptor;
g_return_if_fail (stream != NULL);
g_return_if_fail (pmt_stream != NULL);
gboolean tsmux_stream_is_pcr (TsMuxStream *stream);
gboolean tsmux_stream_at_pes_start (TsMuxStream *stream);
-void tsmux_stream_get_es_descrs (TsMuxStream *stream, GstMpegTsPMTStream *pmt_stream);
+void tsmux_stream_get_es_descrs (TsMuxStream *stream, GstMpegtsPMTStream *pmt_stream);
gint tsmux_stream_bytes_in_buffer (TsMuxStream *stream);
gint tsmux_stream_bytes_avail (TsMuxStream *stream);
}
static CamReturn
-send_ca_pmt (CamConditionalAccess * cas, GstMpegTsPMT * pmt,
+send_ca_pmt (CamConditionalAccess * cas, GstMpegtsPMT * pmt,
guint8 list_management, guint8 cmd_id)
{
CamReturn ret;
CamReturn
cam_conditional_access_set_pmt (CamConditionalAccess * cas,
- GstMpegTsPMT * pmt, CamConditionalAccessPmtFlag flag)
+ GstMpegtsPMT * pmt, CamConditionalAccessPmtFlag flag)
{
return send_ca_pmt (cas, pmt, flag, 0x01 /* ok_descrambling */ );
}
void cam_conditional_access_destroy (CamConditionalAccess *cas);
CamReturn cam_conditional_access_set_pmt (CamConditionalAccess *cas,
- GstMpegTsPMT *pmt, CamConditionalAccessPmtFlag flag);
+ GstMpegtsPMT *pmt, CamConditionalAccessPmtFlag flag);
#endif /* CAM_CONDITIONAL_ACCESS_H */
void
cam_device_set_pmt (CamDevice * device,
- GstMpegTsPMT * pmt, CamConditionalAccessPmtFlag flag)
+ GstMpegtsPMT * pmt, CamConditionalAccessPmtFlag flag)
{
g_return_if_fail (device != NULL);
g_return_if_fail (device->state == CAM_DEVICE_STATE_OPEN);
gboolean cam_device_ready (CamDevice *device);
void cam_device_poll (CamDevice *device);
void cam_device_set_pmt (CamDevice *device,
- GstMpegTsPMT *pmt, CamConditionalAccessPmtFlag flag);
+ GstMpegtsPMT *pmt, CamConditionalAccessPmtFlag flag);
#endif /* CAM_DEVICE_H */
}
static void
-send_ca_pmt (CamSwClient * client, GstMpegTsPMT * pmt,
+send_ca_pmt (CamSwClient * client, GstMpegtsPMT * pmt,
guint8 list_management, guint8 cmd_id)
{
guint8 *buffer;
}
void
-cam_sw_client_set_pmt (CamSwClient * client, GstMpegTsPMT * pmt)
+cam_sw_client_set_pmt (CamSwClient * client, GstMpegtsPMT * pmt)
{
g_return_if_fail (client != NULL);
g_return_if_fail (pmt != NULL);
}
void
-cam_sw_client_update_pmt (CamSwClient * client, GstMpegTsPMT * pmt)
+cam_sw_client_update_pmt (CamSwClient * client, GstMpegtsPMT * pmt)
{
g_return_if_fail (client != NULL);
g_return_if_fail (pmt != NULL);
gboolean cam_sw_client_open (CamSwClient *sw_client, const char *sock_path);
void cam_sw_client_close (CamSwClient *sw_client);
-void cam_sw_client_set_pmt (CamSwClient *sw_client, GstMpegTsPMT *pmt);
-void cam_sw_client_update_pmt (CamSwClient *sw_client, GstMpegTsPMT *pmt);
+void cam_sw_client_set_pmt (CamSwClient *sw_client, GstMpegtsPMT *pmt);
+void cam_sw_client_update_pmt (CamSwClient *sw_client, GstMpegtsPMT *pmt);
#endif /* CAM_SW_CLIENT_H */
guint len = 0;
for (i = 0; i < nb_desc; i++) {
- GstMpegTsDescriptor *desc = g_ptr_array_index (descriptors, i);
+ GstMpegtsDescriptor *desc = g_ptr_array_index (descriptors, i);
if (desc->tag == 0x09)
len += desc->length;
}
nb_desc = descriptors->len;
for (i = 0; i < nb_desc; i++) {
- GstMpegTsDescriptor *desc = g_ptr_array_index (descriptors, i);
+ GstMpegtsDescriptor *desc = g_ptr_array_index (descriptors, i);
if (desc->tag == 0x09) {
memcpy (body, desc->data, desc->length);
body += desc->length;
}
guint8 *
-cam_build_ca_pmt (GstMpegTsPMT * pmt, guint8 list_management, guint8 cmd_id,
+cam_build_ca_pmt (GstMpegtsPMT * pmt, guint8 list_management, guint8 cmd_id,
guint * size)
{
- GstMpegTsSection *section = (GstMpegTsSection *) pmt;
+ GstMpegtsSection *section = (GstMpegtsSection *) pmt;
guint body_size = 0;
guint8 *buffer;
guint8 *body;
body_size += 6 + len;
for (i = 0; i < pmt->streams->len; i++) {
- GstMpegTsPMTStream *pmtstream = g_ptr_array_index (pmt->streams, i);
+ GstMpegtsPMTStream *pmtstream = g_ptr_array_index (pmt->streams, i);
len = get_ca_descriptors_length (pmtstream->descriptors);
if (len > 0)
}
for (i = 0; i < pmt->streams->len; i++) {
- GstMpegTsPMTStream *pmtstream = g_ptr_array_index (pmt->streams, i);
+ GstMpegtsPMTStream *pmtstream = g_ptr_array_index (pmt->streams, i);
*body++ = pmtstream->stream_type;
GST_WRITE_UINT16_BE (body, pmtstream->pid);
guint8 cam_calc_length_field_size (guint length);
guint8 cam_write_length_field (guint8 *buff, guint length);
guint8 cam_read_length_field (guint8 *buff, guint *length);
-guint8 *cam_build_ca_pmt (GstMpegTsPMT *pmt, guint8 list_management, guint8 cmd_id, guint *size);
+guint8 *cam_build_ca_pmt (GstMpegtsPMT *pmt, guint8 list_management, guint8 cmd_id, guint *size);
#endif /* CAM_UTILS_H */
gint program_number;
guint16 pmt_pid;
guint16 pcr_pid;
- GstMpegTsSection *section;
- GstMpegTsSection *old_section;
- const GstMpegTsPMT *pmt;
- const GstMpegTsPMT *old_pmt;
+ GstMpegtsSection *section;
+ GstMpegtsSection *old_section;
+ const GstMpegtsPMT *pmt;
+ const GstMpegtsPMT *old_pmt;
gboolean selected;
gboolean pmt_active;
gboolean active;
GstStateChange transition);
static void dvb_base_bin_handle_message (GstBin * bin, GstMessage * message);
static void dvb_base_bin_pat_info_cb (DvbBaseBin * dvbbasebin,
- GstMpegTsSection * pat);
+ GstMpegtsSection * pat);
static void dvb_base_bin_pmt_info_cb (DvbBaseBin * dvbbasebin,
- GstMpegTsSection * pmt);
+ GstMpegtsSection * pmt);
static GstPad *dvb_base_bin_request_new_pad (GstElement * element,
GstPadTemplate * templ, const gchar * name, const GstCaps * caps);
static void dvb_base_bin_release_pad (GstElement * element, GstPad * pad);
{
CamConditionalAccessPmtFlag flag;
GList *walk;
- GstMpegTsPMT *pmt;
+ GstMpegtsPMT *pmt;
walk = dvbbasebin->pmtlist;
while (walk) {
flag = CAM_CONDITIONAL_ACCESS_PMT_FLAG_MORE;
}
- pmt = (GstMpegTsPMT *) walk->data;
+ pmt = (GstMpegtsPMT *) walk->data;
cam_device_set_pmt (dvbbasebin->hwcam, pmt, flag);
walk = walk->next;
static void
dvb_base_bin_remove_pmt_streams (DvbBaseBin * dvbbasebin,
- const GstMpegTsPMT * pmt)
+ const GstMpegtsPMT * pmt)
{
gint i;
DvbBaseBinStream *stream;
for (i = 0; i < pmt->streams->len; i++) {
- GstMpegTsPMTStream *pmtstream = g_ptr_array_index (pmt->streams, i);
+ GstMpegtsPMTStream *pmtstream = g_ptr_array_index (pmt->streams, i);
stream = dvb_base_bin_get_stream (dvbbasebin, pmtstream->pid);
if (stream == NULL) {
}
static void
-dvb_base_bin_add_pmt_streams (DvbBaseBin * dvbbasebin, const GstMpegTsPMT * pmt)
+dvb_base_bin_add_pmt_streams (DvbBaseBin * dvbbasebin, const GstMpegtsPMT * pmt)
{
DvbBaseBinStream *stream;
gint i;
for (i = 0; i < pmt->streams->len; i++) {
- GstMpegTsPMTStream *pmtstream = g_ptr_array_index (pmt->streams, i);
+ GstMpegtsPMTStream *pmtstream = g_ptr_array_index (pmt->streams, i);
GST_DEBUG ("filtering stream %d stream_type %d", pmtstream->pid,
pmtstream->stream_type);
/* note: message->src might be a GstPad, so use element cast w/o typecheck */
if (GST_ELEMENT_CAST (message->src) == dvbbasebin->tsparse) {
- GstMpegTsSection *section = gst_message_parse_mpegts_section (message);
+ GstMpegtsSection *section = gst_message_parse_mpegts_section (message);
if (section) {
switch (GST_MPEGTS_SECTION_TYPE (section)) {
static void
-dvb_base_bin_pat_info_cb (DvbBaseBin * dvbbasebin, GstMpegTsSection * section)
+dvb_base_bin_pat_info_cb (DvbBaseBin * dvbbasebin, GstMpegtsSection * section)
{
GPtrArray *pat;
DvbBaseBinProgram *program;
}
for (i = 0; i < pat->len; i++) {
- GstMpegTsPatProgram *patp = g_ptr_array_index (pat, i);
+ GstMpegtsPatProgram *patp = g_ptr_array_index (pat, i);
program = dvb_base_bin_get_program (dvbbasebin, patp->program_number);
if (program == NULL)
}
static void
-dvb_base_bin_pmt_info_cb (DvbBaseBin * dvbbasebin, GstMpegTsSection * section)
+dvb_base_bin_pmt_info_cb (DvbBaseBin * dvbbasebin, GstMpegtsSection * section)
{
- const GstMpegTsPMT *pmt;
+ const GstMpegtsPMT *pmt;
DvbBaseBinProgram *program;
guint program_number;
GST_START_TEST (test_mpegts_pat)
{
- GstMpegTsPatProgram *program;
+ GstMpegtsPatProgram *program;
GPtrArray *pat;
- GstMpegTsSection *pat_section;
+ GstMpegtsSection *pat_section;
gint i;
guint8 *data;
gsize data_size;
GST_START_TEST (test_mpegts_pmt)
{
- GstMpegTsPMT *pmt;
- GstMpegTsPMTStream *stream;
- GstMpegTsDescriptor *desc;
- GstMpegTsSection *pmt_section;
+ GstMpegtsPMT *pmt;
+ GstMpegtsPMTStream *stream;
+ GstMpegtsDescriptor *desc;
+ GstMpegtsSection *pmt_section;
guint8 *data;
gsize data_size;
gint i;
for (i = 0; i < 2; i++) {
stream = gst_mpegts_pmt_stream_new ();
- stream->stream_type = GST_MPEG_TS_STREAM_TYPE_VIDEO_H264;
+ stream->stream_type = GST_MPEGTS_STREAM_TYPE_VIDEO_H264;
stream->pid = 0x40 + i;
desc = gst_mpegts_descriptor_from_registration ("HDMV", NULL, 0);
fail_if (pmt_section == NULL);
/* Re-parse the PMT from section */
- pmt = (GstMpegTsPMT *) gst_mpegts_section_get_pmt (pmt_section);
+ pmt = (GstMpegtsPMT *) gst_mpegts_section_get_pmt (pmt_section);
fail_unless (pmt->pcr_pid == 0x1FFF);
fail_unless (pmt->program_number == 1);
fail_unless (pmt->descriptors->len == 1);
fail_unless (pmt->streams->len == 2);
- desc = (GstMpegTsDescriptor *) gst_mpegts_find_descriptor (pmt->descriptors,
+ desc = (GstMpegtsDescriptor *) gst_mpegts_find_descriptor (pmt->descriptors,
GST_MTS_DESC_REGISTRATION);
fail_if (desc == NULL);
for (i = 0; i < 2; i++) {
stream = g_ptr_array_index (pmt->streams, i);
- fail_unless (stream->stream_type == GST_MPEG_TS_STREAM_TYPE_VIDEO_H264);
+ fail_unless (stream->stream_type == GST_MPEGTS_STREAM_TYPE_VIDEO_H264);
fail_unless (stream->pid == 0x40 + i);
fail_unless (stream->descriptors->len == 1);
desc =
- (GstMpegTsDescriptor *) gst_mpegts_find_descriptor (stream->descriptors,
+ (GstMpegtsDescriptor *) gst_mpegts_find_descriptor (stream->descriptors,
GST_MTS_DESC_REGISTRATION);
fail_if (desc == NULL);
}
/* Check assertion on bad CRC. Reset parsed data, and make the CRC corrupt */
pmt_section->data[pmt_section->section_length - 1]++;
pmt_section->cached_parsed = NULL;
- pmt = (GstMpegTsPMT *) gst_mpegts_section_get_pmt (pmt_section);
+ pmt = (GstMpegtsPMT *) gst_mpegts_section_get_pmt (pmt_section);
fail_unless (pmt == NULL);
GST_START_TEST (test_mpegts_nit)
{
- GstMpegTsNITStream *stream;
- GstMpegTsNIT *nit;
- GstMpegTsDescriptor *desc;
- GstMpegTsSection *nit_section;
+ GstMpegtsNITStream *stream;
+ GstMpegtsNIT *nit;
+ GstMpegtsDescriptor *desc;
+ GstMpegtsSection *nit_section;
gchar *name;
guint8 *data;
gsize data_size;
fail_if (nit_section == NULL);
/* Re-parse the NIT from section */
- nit = (GstMpegTsNIT *) gst_mpegts_section_get_nit (nit_section);
+ nit = (GstMpegtsNIT *) gst_mpegts_section_get_nit (nit_section);
fail_unless (nit->descriptors->len == 1);
fail_unless (nit->streams->len == 2);
fail_unless (nit->actual_network == TRUE);
fail_unless (nit->network_id == 0x1FFF);
- desc = (GstMpegTsDescriptor *) gst_mpegts_find_descriptor (nit->descriptors,
+ desc = (GstMpegtsDescriptor *) gst_mpegts_find_descriptor (nit->descriptors,
GST_MTS_DESC_DVB_NETWORK_NAME);
fail_if (desc == NULL);
fail_unless (stream->descriptors->len == 1);
desc =
- (GstMpegTsDescriptor *) gst_mpegts_find_descriptor (stream->descriptors,
+ (GstMpegtsDescriptor *) gst_mpegts_find_descriptor (stream->descriptors,
GST_MTS_DESC_DVB_NETWORK_NAME);
fail_unless (gst_mpegts_descriptor_parse_dvb_network_name (desc,
/* Check assertion on bad CRC. Reset parsed data, and make the CRC corrupt */
nit_section->data[nit_section->section_length - 1]++;
nit_section->cached_parsed = NULL;
- nit = (GstMpegTsNIT *) gst_mpegts_section_get_nit (nit_section);
+ nit = (GstMpegtsNIT *) gst_mpegts_section_get_nit (nit_section);
fail_unless (nit == NULL);
GST_START_TEST (test_mpegts_sdt)
{
- GstMpegTsSDTService *service;
- GstMpegTsSDT *sdt;
- GstMpegTsDescriptor *desc;
- GstMpegTsSection *sdt_section;
+ GstMpegtsSDTService *service;
+ GstMpegtsSDT *sdt;
+ GstMpegtsDescriptor *desc;
+ GstMpegtsSection *sdt_section;
guint8 *data;
gsize data_size;
gint i;
fail_if (sdt_section == NULL);
/* Re-parse the SDT from section */
- sdt = (GstMpegTsSDT *) gst_mpegts_section_get_sdt (sdt_section);
+ sdt = (GstMpegtsSDT *) gst_mpegts_section_get_sdt (sdt_section);
fail_unless (sdt->services->len == 2);
fail_unless (sdt->actual_ts == TRUE);
GST_MPEGTS_RUNNING_STATUS_RUNNING + i);
fail_unless (service->free_CA_mode == TRUE);
- desc = (GstMpegTsDescriptor *)
+ desc = (GstMpegtsDescriptor *)
gst_mpegts_find_descriptor (service->descriptors,
GST_MTS_DESC_DVB_SERVICE);
/* Check assertion on bad CRC. Reset parsed data, and make the CRC corrupt */
sdt_section->data[sdt_section->section_length - 1]++;
sdt_section->cached_parsed = NULL;
- sdt = (GstMpegTsSDT *) gst_mpegts_section_get_sdt (sdt_section);
+ sdt = (GstMpegtsSDT *) gst_mpegts_section_get_sdt (sdt_section);
fail_unless (sdt == NULL);
GST_START_TEST (test_mpegts_atsc_stt)
{
- const GstMpegTsAtscSTT *stt;
- GstMpegTsSection *section;
+ const GstMpegtsAtscSTT *stt;
+ GstMpegtsSection *section;
guint8 *data;
GstDateTime *dt;
fail_unless (stt->ds_dayofmonth == 0);
fail_unless (stt->ds_hour == 0);
- dt = gst_mpegts_atsc_stt_get_datetime_utc ((GstMpegTsAtscSTT *) stt);
+ dt = gst_mpegts_atsc_stt_get_datetime_utc ((GstMpegtsAtscSTT *) stt);
fail_unless (gst_date_time_get_day (dt) == 30);
fail_unless (gst_date_time_get_month (dt) == 12);
fail_unless (gst_date_time_get_year (dt) == 1998);
GST_START_TEST (test_mpegts_descriptors)
{
- GstMpegTsDescriptor *desc;
+ GstMpegtsDescriptor *desc;
guint i;
/*
GST_START_TEST (test_mpegts_dvb_descriptors)
{
- GstMpegTsDescriptor *desc;
- GstMpegTsDVBServiceType service_type;
+ GstMpegtsDescriptor *desc;
+ GstMpegtsDVBServiceType service_type;
gchar *string, *provider;
gchar long_string[257];
gboolean ret;
GEnumValue *en;
en = g_enum_get_value (G_ENUM_CLASS (g_type_class_peek
- (GST_TYPE_MPEG_TS_DESCRIPTOR_TYPE)), val);
+ (GST_TYPE_MPEGTS_DESCRIPTOR_TYPE)), val);
if (en == NULL)
/* Else try with DVB enum types */
en = g_enum_get_value (G_ENUM_CLASS (g_type_class_peek
- (GST_TYPE_MPEG_TS_DVB_DESCRIPTOR_TYPE)), val);
+ (GST_TYPE_MPEGTS_DVB_DESCRIPTOR_TYPE)), val);
if (en == NULL)
/* Else try with ATSC enum types */
en = g_enum_get_value (G_ENUM_CLASS (g_type_class_peek
- (GST_TYPE_MPEG_TS_ATSC_DESCRIPTOR_TYPE)), val);
+ (GST_TYPE_MPEGTS_ATSC_DESCRIPTOR_TYPE)), val);
if (en == NULL)
/* Else try with ISB enum types */
en = g_enum_get_value (G_ENUM_CLASS (g_type_class_peek
- (GST_TYPE_MPEG_TS_ISDB_DESCRIPTOR_TYPE)), val);
+ (GST_TYPE_MPEGTS_ISDB_DESCRIPTOR_TYPE)), val);
if (en == NULL)
/* Else try with misc enum types */
en = g_enum_get_value (G_ENUM_CLASS (g_type_class_peek
- (GST_TYPE_MPEG_TS_MISC_DESCRIPTOR_TYPE)), val);
+ (GST_TYPE_MPEGTS_MISC_DESCRIPTOR_TYPE)), val);
if (en == NULL)
return "UNKNOWN/PRIVATE";
return en->value_nick;
GEnumValue *en;
en = g_enum_get_value (G_ENUM_CLASS (g_type_class_peek
- (GST_TYPE_MPEG_TS_SECTION_TABLE_ID)), val);
+ (GST_TYPE_MPEGTS_SECTION_TABLE_ID)), val);
if (en == NULL)
/* Else try with DVB enum types */
en = g_enum_get_value (G_ENUM_CLASS (g_type_class_peek
- (GST_TYPE_MPEG_TS_SECTION_DVB_TABLE_ID)), val);
+ (GST_TYPE_MPEGTS_SECTION_DVB_TABLE_ID)), val);
if (en == NULL)
/* Else try with ATSC enum types */
en = g_enum_get_value (G_ENUM_CLASS (g_type_class_peek
- (GST_TYPE_MPEG_TS_SECTION_ATSC_TABLE_ID)), val);
+ (GST_TYPE_MPEGTS_SECTION_ATSC_TABLE_ID)), val);
if (en == NULL)
/* Else try with SCTE enum types */
en = g_enum_get_value (G_ENUM_CLASS (g_type_class_peek
- (GST_TYPE_MPEG_TS_SECTION_SCTE_TABLE_ID)), val);
+ (GST_TYPE_MPEGTS_SECTION_SCTE_TABLE_ID)), val);
if (en == NULL)
return "UNKNOWN/PRIVATE";
return en->value_nick;
}
static void
-dump_cable_delivery_descriptor (GstMpegTsDescriptor * desc, guint spacing)
+dump_cable_delivery_descriptor (GstMpegtsDescriptor * desc, guint spacing)
{
- GstMpegTsCableDeliverySystemDescriptor res;
+ GstMpegtsCableDeliverySystemDescriptor res;
if (gst_mpegts_descriptor_parse_cable_delivery_system (desc, &res)) {
g_printf ("%*s Cable Delivery Descriptor\n", spacing, "");
g_printf ("%*s Frequency : %d Hz\n", spacing, "", res.frequency);
g_printf ("%*s Outer FEC : %d (%s)\n", spacing, "", res.outer_fec,
- enum_name (GST_TYPE_MPEG_TS_CABLE_OUTER_FEC_SCHEME, res.outer_fec));
+ enum_name (GST_TYPE_MPEGTS_CABLE_OUTER_FEC_SCHEME, res.outer_fec));
g_printf ("%*s modulation : %d (%s)\n", spacing, "", res.modulation,
- enum_name (GST_TYPE_MPEG_TS_MODULATION_TYPE, res.modulation));
+ enum_name (GST_TYPE_MPEGTS_MODULATION_TYPE, res.modulation));
g_printf ("%*s Symbol rate : %d sym/s\n", spacing, "", res.symbol_rate);
g_printf ("%*s Inner FEC : %d (%s)\n", spacing, "", res.fec_inner,
- enum_name (GST_TYPE_MPEG_TS_DVB_CODE_RATE, res.fec_inner));
+ enum_name (GST_TYPE_MPEGTS_DVB_CODE_RATE, res.fec_inner));
}
}
static void
-dump_terrestrial_delivery (GstMpegTsDescriptor * desc, guint spacing)
+dump_terrestrial_delivery (GstMpegtsDescriptor * desc, guint spacing)
{
- GstMpegTsTerrestrialDeliverySystemDescriptor res;
+ GstMpegtsTerrestrialDeliverySystemDescriptor res;
if (gst_mpegts_descriptor_parse_terrestrial_delivery_system (desc, &res)) {
g_printf ("%*s Terrestrial Delivery Descriptor\n", spacing, "");
g_printf ("%*s MPE FEC : %s\n", spacing, "",
res.mpe_fec ? "TRUE" : "FALSE");
g_printf ("%*s Constellation : %d (%s)\n", spacing, "",
- res.constellation, enum_name (GST_TYPE_MPEG_TS_MODULATION_TYPE,
+ res.constellation, enum_name (GST_TYPE_MPEGTS_MODULATION_TYPE,
res.constellation));
g_printf ("%*s Hierarchy : %d (%s)\n", spacing, "",
- res.hierarchy, enum_name (GST_TYPE_MPEG_TS_TERRESTRIAL_HIERARCHY,
+ res.hierarchy, enum_name (GST_TYPE_MPEGTS_TERRESTRIAL_HIERARCHY,
res.hierarchy));
g_printf ("%*s Code Rate HP : %d (%s)\n", spacing, "",
- res.code_rate_hp, enum_name (GST_TYPE_MPEG_TS_DVB_CODE_RATE,
+ res.code_rate_hp, enum_name (GST_TYPE_MPEGTS_DVB_CODE_RATE,
res.code_rate_hp));
g_printf ("%*s Code Rate LP : %d (%s)\n", spacing, "",
- res.code_rate_lp, enum_name (GST_TYPE_MPEG_TS_DVB_CODE_RATE,
+ res.code_rate_lp, enum_name (GST_TYPE_MPEGTS_DVB_CODE_RATE,
res.code_rate_lp));
g_printf ("%*s Guard Interval : %d (%s)\n", spacing, "",
res.guard_interval,
- enum_name (GST_TYPE_MPEG_TS_TERRESTRIAL_GUARD_INTERVAL,
+ enum_name (GST_TYPE_MPEGTS_TERRESTRIAL_GUARD_INTERVAL,
res.guard_interval));
g_printf ("%*s Transmission Mode : %d (%s)\n", spacing, "",
res.transmission_mode,
- enum_name (GST_TYPE_MPEG_TS_TERRESTRIAL_TRANSMISSION_MODE,
+ enum_name (GST_TYPE_MPEGTS_TERRESTRIAL_TRANSMISSION_MODE,
res.transmission_mode));
g_printf ("%*s Other Frequency : %s\n", spacing, "",
res.other_frequency ? "TRUE" : "FALSE");
}
static void
-dump_dvb_service_list (GstMpegTsDescriptor * desc, guint spacing)
+dump_dvb_service_list (GstMpegtsDescriptor * desc, guint spacing)
{
GPtrArray *res;
guint i;
g_printf ("%*s DVB Service List Descriptor\n", spacing, "");
for (i = 0; i < res->len; i++) {
- GstMpegTsDVBServiceListItem *item = g_ptr_array_index (res, i);
+ GstMpegtsDVBServiceListItem *item = g_ptr_array_index (res, i);
g_printf ("%*s Service #%d, id:0x%04x, type:0x%x (%s)\n",
spacing, "", i, item->service_id, item->type,
- enum_name (GST_TYPE_MPEG_TS_DVB_SERVICE_TYPE, item->type));
+ enum_name (GST_TYPE_MPEGTS_DVB_SERVICE_TYPE, item->type));
}
g_ptr_array_unref (res);
}
}
static void
-dump_logical_channel_descriptor (GstMpegTsDescriptor * desc, guint spacing)
+dump_logical_channel_descriptor (GstMpegtsDescriptor * desc, guint spacing)
{
- GstMpegTsLogicalChannelDescriptor res;
+ GstMpegtsLogicalChannelDescriptor res;
guint i;
if (gst_mpegts_descriptor_parse_logical_channel (desc, &res)) {
g_printf ("%*s Logical Channel Descriptor (%d channels)\n", spacing, "",
res.nb_channels);
for (i = 0; i < res.nb_channels; i++) {
- GstMpegTsLogicalChannel *chann = &res.channels[i];
+ GstMpegtsLogicalChannel *chann = &res.channels[i];
g_printf ("%*s service_id: 0x%04x, logical channel number:%4d\n",
spacing, "", chann->service_id, chann->logical_channel_number);
}
}
static void
-dump_multiligual_network_name (GstMpegTsDescriptor * desc, guint spacing)
+dump_multiligual_network_name (GstMpegtsDescriptor * desc, guint spacing)
{
GPtrArray *items;
if (gst_mpegts_descriptor_parse_dvb_multilingual_network_name (desc, &items)) {
guint i;
for (i = 0; i < items->len; i++) {
- GstMpegTsDvbMultilingualNetworkNameItem *item =
+ GstMpegtsDvbMultilingualNetworkNameItem *item =
g_ptr_array_index (items, i);
g_printf ("%*s item : %u\n", spacing, "", i);
g_printf ("%*s language_code : %s\n", spacing, "", item->language_code);
}
static void
-dump_multiligual_bouquet_name (GstMpegTsDescriptor * desc, guint spacing)
+dump_multiligual_bouquet_name (GstMpegtsDescriptor * desc, guint spacing)
{
GPtrArray *items;
if (gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name (desc, &items)) {
guint i;
for (i = 0; i < items->len; i++) {
- GstMpegTsDvbMultilingualBouquetNameItem *item =
+ GstMpegtsDvbMultilingualBouquetNameItem *item =
g_ptr_array_index (items, i);
g_printf ("%*s item : %u\n", spacing, "", i);
g_printf ("%*s language_code : %s\n", spacing, "", item->language_code);
}
static void
-dump_multiligual_service_name (GstMpegTsDescriptor * desc, guint spacing)
+dump_multiligual_service_name (GstMpegtsDescriptor * desc, guint spacing)
{
GPtrArray *items;
if (gst_mpegts_descriptor_parse_dvb_multilingual_service_name (desc, &items)) {
guint i;
for (i = 0; i < items->len; i++) {
- GstMpegTsDvbMultilingualServiceNameItem *item =
+ GstMpegtsDvbMultilingualServiceNameItem *item =
g_ptr_array_index (items, i);
g_printf ("%*s item : %u\n", spacing, "", i);
g_printf ("%*s language_code : %s\n", spacing, "", item->language_code);
}
static void
-dump_multiligual_component (GstMpegTsDescriptor * desc, guint spacing)
+dump_multiligual_component (GstMpegtsDescriptor * desc, guint spacing)
{
GPtrArray *items;
guint8 tag;
guint8 i;
g_printf ("%*s component_tag : 0x%02x\n", spacing, "", tag);
for (i = 0; i < items->len; i++) {
- GstMpegTsDvbMultilingualComponentItem *item =
+ GstMpegtsDvbMultilingualComponentItem *item =
g_ptr_array_index (items, i);
g_printf ("%*s item : %u\n", spacing, "", i);
g_printf ("%*s language_code : %s\n", spacing, "",
}
static void
-dump_linkage (GstMpegTsDescriptor * desc, guint spacing)
+dump_linkage (GstMpegtsDescriptor * desc, guint spacing)
{
- GstMpegTsDVBLinkageDescriptor *res;
+ GstMpegtsDVBLinkageDescriptor *res;
if (gst_mpegts_descriptor_parse_dvb_linkage (desc, &res)) {
g_printf ("%*s Linkage Descriptor : 0x%02x (%s)\n", spacing, "",
- res->linkage_type, enum_name (GST_TYPE_MPEG_TS_DVB_LINKAGE_TYPE,
+ res->linkage_type, enum_name (GST_TYPE_MPEGTS_DVB_LINKAGE_TYPE,
res->linkage_type));
g_printf ("%*s Transport Stream ID : 0x%04x\n", spacing, "",
switch (res->linkage_type) {
case GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER:
{
- GstMpegTsDVBLinkageMobileHandOver *linkage =
- (GstMpegTsDVBLinkageMobileHandOver *) res->linkage_data;
+ GstMpegtsDVBLinkageMobileHandOver *linkage =
+ (GstMpegtsDVBLinkageMobileHandOver *) res->linkage_data;
g_printf ("%*s hand_over_type : 0x%02x (%s)\n", spacing,
"", linkage->hand_over_type,
- enum_name (GST_TYPE_MPEG_TS_DVB_LINKAGE_HAND_OVER_TYPE,
+ enum_name (GST_TYPE_MPEGTS_DVB_LINKAGE_HAND_OVER_TYPE,
linkage->hand_over_type));
g_printf ("%*s origin_type : %s\n", spacing, "",
linkage->origin_type ? "SDT" : "NIT");
}
case GST_MPEGTS_DVB_LINKAGE_EVENT:
{
- GstMpegTsDVBLinkageEvent *linkage =
- (GstMpegTsDVBLinkageEvent *) res->linkage_data;
+ GstMpegtsDVBLinkageEvent *linkage =
+ (GstMpegtsDVBLinkageEvent *) res->linkage_data;
g_printf ("%*s target_event_id : 0x%04x\n", spacing, "",
linkage->target_event_id);
g_printf ("%*s target_listed : %s\n", spacing, "",
GPtrArray *items = (GPtrArray *) res->linkage_data;
for (i = 0; i < items->len; i++) {
- GstMpegTsDVBLinkageExtendedEvent *linkage =
+ GstMpegtsDVBLinkageExtendedEvent *linkage =
g_ptr_array_index (items, i);
g_printf ("%*s target_event_id : 0x%04x\n", spacing, "",
linkage->target_event_id);
}
static void
-dump_component (GstMpegTsDescriptor * desc, guint spacing)
+dump_component (GstMpegtsDescriptor * desc, guint spacing)
{
- GstMpegTsComponentDescriptor *res;
+ GstMpegtsComponentDescriptor *res;
if (gst_mpegts_descriptor_parse_dvb_component (desc, &res)) {
g_printf ("%*s stream_content : 0x%02x (%s)\n", spacing, "",
res->stream_content,
- enum_name (GST_TYPE_MPEG_TS_COMPONENT_STREAM_CONTENT,
+ enum_name (GST_TYPE_MPEGTS_COMPONENT_STREAM_CONTENT,
res->stream_content));
g_printf ("%*s component_type : 0x%02x\n", spacing, "",
res->component_type);
}
static void
-dump_content (GstMpegTsDescriptor * desc, guint spacing)
+dump_content (GstMpegtsDescriptor * desc, guint spacing)
{
GPtrArray *contents;
guint i;
if (gst_mpegts_descriptor_parse_dvb_content (desc, &contents)) {
for (i = 0; i < contents->len; i++) {
- GstMpegTsContent *item = g_ptr_array_index (contents, i);
+ GstMpegtsContent *item = g_ptr_array_index (contents, i);
g_printf ("%*s content nibble 1 : 0x%01x (%s)\n", spacing, "",
item->content_nibble_1,
- enum_name (GST_TYPE_MPEG_TS_CONTENT_NIBBLE_HI,
+ enum_name (GST_TYPE_MPEGTS_CONTENT_NIBBLE_HI,
item->content_nibble_1));
g_printf ("%*s content nibble 2 : 0x%01x\n", spacing, "",
item->content_nibble_2);
}
static void
-dump_iso_639_language (GstMpegTsDescriptor * desc, guint spacing)
+dump_iso_639_language (GstMpegtsDescriptor * desc, guint spacing)
{
guint i;
- GstMpegTsISO639LanguageDescriptor *res;
+ GstMpegtsISO639LanguageDescriptor *res;
if (gst_mpegts_descriptor_parse_iso_639_language (desc, &res)) {
for (i = 0; i < res->nb_language; i++) {
g_print
("%*s ISO 639 Language Descriptor %s , audio_type:0x%x (%s)\n",
spacing, "", res->language[i], res->audio_type[i],
- enum_name (GST_TYPE_MPEG_TS_ISO639_AUDIO_TYPE, res->audio_type[i]));
+ enum_name (GST_TYPE_MPEGTS_ISO639_AUDIO_TYPE, res->audio_type[i]));
}
gst_mpegts_iso_639_language_descriptor_free (res);
}
}
static void
-dump_dvb_extended_event (GstMpegTsDescriptor * desc, guint spacing)
+dump_dvb_extended_event (GstMpegtsDescriptor * desc, guint spacing)
{
- GstMpegTsExtendedEventDescriptor *res;
+ GstMpegtsExtendedEventDescriptor *res;
if (gst_mpegts_descriptor_parse_dvb_extended_event (desc, &res)) {
guint i;
g_printf ("%*s language_code:%s\n", spacing, "", res->language_code);
g_printf ("%*s text : %s\n", spacing, "", res->text);
for (i = 0; i < res->items->len; i++) {
- GstMpegTsExtendedEventItem *item = g_ptr_array_index (res->items, i);
+ GstMpegtsExtendedEventItem *item = g_ptr_array_index (res->items, i);
g_printf ("%*s #%d [description:item] %s : %s\n",
spacing, "", i, item->item_description, item->item);
}
guint i;
for (i = 0; i < descriptors->len; i++) {
- GstMpegTsDescriptor *desc = g_ptr_array_index (descriptors, i);
+ GstMpegtsDescriptor *desc = g_ptr_array_index (descriptors, i);
g_printf ("%*s [descriptor 0x%02x (%s) length:%d]\n", spacing, "",
desc->tag, descriptor_name (desc->tag), desc->length);
if (DUMP_DESCRIPTORS)
case GST_MTS_DESC_DVB_SERVICE:
{
gchar *service_name, *provider_name;
- GstMpegTsDVBServiceType service_type;
+ GstMpegtsDVBServiceType service_type;
if (gst_mpegts_descriptor_parse_dvb_service (desc, &service_type,
&service_name, &provider_name)) {
g_printf ("%*s Service Descriptor, type:0x%02x (%s)\n", spacing, "",
- service_type, enum_name (GST_TYPE_MPEG_TS_DVB_SERVICE_TYPE,
+ service_type, enum_name (GST_TYPE_MPEGTS_DVB_SERVICE_TYPE,
service_type));
g_printf ("%*s service_name : %s\n", spacing, "", service_name);
g_printf ("%*s provider_name : %s\n", spacing, "",
if (gst_mpegts_descriptor_parse_dvb_parental_rating (desc, &ratings)) {
for (j = 0; j < ratings->len; j++) {
- GstMpegTsDVBParentalRatingItem *item =
+ GstMpegtsDVBParentalRatingItem *item =
g_ptr_array_index (ratings, j);
g_printf ("%*s country_code : %s\n", spacing, "",
item->country_code);
}
case GST_MTS_DESC_DVB_DATA_BROADCAST:
{
- GstMpegTsDataBroadcastDescriptor *res;
+ GstMpegtsDataBroadcastDescriptor *res;
if (gst_mpegts_descriptor_parse_dvb_data_broadcast (desc, &res)) {
g_printf ("%*s data_broadcast_id : 0x%04x\n", spacing, "",
break;
case GST_MTS_DESC_DVB_TELETEXT:
{
- GstMpegTsDVBTeletextType type;
+ GstMpegtsDVBTeletextType type;
gchar *lang;
guint8 magazine, page_number;
guint j;
gst_mpegts_descriptor_parse_dvb_teletext_idx (desc, j, &lang, &type,
&magazine, &page_number); j++) {
g_printf ("%*s Teletext, type:0x%02x (%s)\n", spacing, "", type,
- enum_name (GST_TYPE_MPEG_TS_DVB_TELETEXT_TYPE, type));
+ enum_name (GST_TYPE_MPEGTS_DVB_TELETEXT_TYPE, type));
g_printf ("%*s language : %s\n", spacing, "", lang);
g_printf ("%*s magazine : %u\n", spacing, "", magazine);
g_printf ("%*s page number : %u\n", spacing, "", page_number);
}
static void
-dump_pat (GstMpegTsSection * section)
+dump_pat (GstMpegtsSection * section)
{
GPtrArray *pat = gst_mpegts_section_get_pat (section);
guint i, len;
g_printf (" %d program(s):\n", len);
for (i = 0; i < len; i++) {
- GstMpegTsPatProgram *patp = g_ptr_array_index (pat, i);
+ GstMpegtsPatProgram *patp = g_ptr_array_index (pat, i);
g_print
(" program_number:%6d (0x%04x), network_or_program_map_PID:0x%04x\n",
}
static void
-dump_pmt (GstMpegTsSection * section)
+dump_pmt (GstMpegtsSection * section)
{
- const GstMpegTsPMT *pmt = gst_mpegts_section_get_pmt (section);
+ const GstMpegtsPMT *pmt = gst_mpegts_section_get_pmt (section);
guint i, len;
g_printf (" program_number : 0x%04x\n", section->subtable_extension);
len = pmt->streams->len;
g_printf (" %d Streams:\n", len);
for (i = 0; i < len; i++) {
- GstMpegTsPMTStream *stream = g_ptr_array_index (pmt->streams, i);
+ GstMpegtsPMTStream *stream = g_ptr_array_index (pmt->streams, i);
g_printf (" pid:0x%04x , stream_type:0x%02x (%s)\n", stream->pid,
stream->stream_type,
- enum_name (GST_TYPE_MPEG_TS_STREAM_TYPE, stream->stream_type));
+ enum_name (GST_TYPE_MPEGTS_STREAM_TYPE, stream->stream_type));
dump_descriptors (stream->descriptors, 9);
}
}
static void
-dump_eit (GstMpegTsSection * section)
+dump_eit (GstMpegtsSection * section)
{
- const GstMpegTsEIT *eit = gst_mpegts_section_get_eit (section);
+ const GstMpegtsEIT *eit = gst_mpegts_section_get_eit (section);
guint i, len;
g_assert (eit);
g_printf (" %d Event(s):\n", len);
for (i = 0; i < len; i++) {
gchar *tmp = (gchar *) "<NO TIME>";
- GstMpegTsEITEvent *event = g_ptr_array_index (eit->events, i);
+ GstMpegtsEITEvent *event = g_ptr_array_index (eit->events, i);
if (event->start_time)
tmp = gst_date_time_to_iso8601_string (event->start_time);
GST_TIME_FORMAT "\n", event->event_id, tmp,
GST_TIME_ARGS (event->duration * GST_SECOND));
g_printf (" running_status:0x%02x (%s), free_CA_mode:%d (%s)\n",
- event->running_status, enum_name (GST_TYPE_MPEG_TS_RUNNING_STATUS,
+ event->running_status, enum_name (GST_TYPE_MPEGTS_RUNNING_STATUS,
event->running_status), event->free_CA_mode,
event->free_CA_mode ? "MAYBE SCRAMBLED" : "NOT SCRAMBLED");
if (event->start_time)
guint i;
for (i = 0; i < mstrings->len; i++) {
- GstMpegTsAtscMultString *mstring = g_ptr_array_index (mstrings, i);
+ GstMpegtsAtscMultString *mstring = g_ptr_array_index (mstrings, i);
gint j, n;
n = mstring->segments->len;
i, mstring->iso_639_langcode);
g_printf ("%*s segments:%d\n", spacing, "", n);
for (j = 0; j < n; j++) {
- GstMpegTsAtscStringSegment *segment =
+ GstMpegtsAtscStringSegment *segment =
g_ptr_array_index (mstring->segments, j);
g_printf ("%*s Compression:0x%x\n", spacing, "",
}
static void
-dump_atsc_eit (GstMpegTsSection * section)
+dump_atsc_eit (GstMpegtsSection * section)
{
- const GstMpegTsAtscEIT *eit = gst_mpegts_section_get_atsc_eit (section);
+ const GstMpegtsAtscEIT *eit = gst_mpegts_section_get_atsc_eit (section);
guint i, len;
g_assert (eit);
len = eit->events->len;
g_printf (" %d Event(s):\n", len);
for (i = 0; i < len; i++) {
- GstMpegTsAtscEITEvent *event = g_ptr_array_index (eit->events, i);
+ GstMpegtsAtscEITEvent *event = g_ptr_array_index (eit->events, i);
g_printf (" %d)\n", i);
g_printf (" event_id: 0x%04x\n", event->event_id);
}
static void
-dump_ett (GstMpegTsSection * section)
+dump_ett (GstMpegtsSection * section)
{
- const GstMpegTsAtscETT *ett = gst_mpegts_section_get_atsc_ett (section);
+ const GstMpegtsAtscETT *ett = gst_mpegts_section_get_atsc_ett (section);
guint len;
g_assert (ett);
}
static void
-dump_stt (GstMpegTsSection * section)
+dump_stt (GstMpegtsSection * section)
{
- const GstMpegTsAtscSTT *stt = gst_mpegts_section_get_atsc_stt (section);
+ const GstMpegtsAtscSTT *stt = gst_mpegts_section_get_atsc_stt (section);
GstDateTime *dt;
gchar *dt_str = NULL;
g_assert (stt);
- dt = gst_mpegts_atsc_stt_get_datetime_utc ((GstMpegTsAtscSTT *) stt);
+ dt = gst_mpegts_atsc_stt_get_datetime_utc ((GstMpegtsAtscSTT *) stt);
if (dt)
dt_str = gst_date_time_to_iso8601_string (dt);
}
static void
-dump_nit (GstMpegTsSection * section)
+dump_nit (GstMpegtsSection * section)
{
- const GstMpegTsNIT *nit = gst_mpegts_section_get_nit (section);
+ const GstMpegtsNIT *nit = gst_mpegts_section_get_nit (section);
guint i, len;
g_assert (nit);
len = nit->streams->len;
g_printf (" %d Streams:\n", len);
for (i = 0; i < len; i++) {
- GstMpegTsNITStream *stream = g_ptr_array_index (nit->streams, i);
+ GstMpegtsNITStream *stream = g_ptr_array_index (nit->streams, i);
g_printf
(" transport_stream_id:0x%04x , original_network_id:0x%02x\n",
stream->transport_stream_id, stream->original_network_id);
}
static void
-dump_bat (GstMpegTsSection * section)
+dump_bat (GstMpegtsSection * section)
{
- const GstMpegTsBAT *bat = gst_mpegts_section_get_bat (section);
+ const GstMpegtsBAT *bat = gst_mpegts_section_get_bat (section);
guint i, len;
g_assert (bat);
len = bat->streams->len;
g_printf (" %d Streams:\n", len);
for (i = 0; i < len; i++) {
- GstMpegTsBATStream *stream = g_ptr_array_index (bat->streams, i);
+ GstMpegtsBATStream *stream = g_ptr_array_index (bat->streams, i);
g_printf
(" transport_stream_id:0x%04x , original_network_id:0x%02x\n",
stream->transport_stream_id, stream->original_network_id);
}
static void
-dump_sdt (GstMpegTsSection * section)
+dump_sdt (GstMpegtsSection * section)
{
- const GstMpegTsSDT *sdt = gst_mpegts_section_get_sdt (section);
+ const GstMpegtsSDT *sdt = gst_mpegts_section_get_sdt (section);
guint i, len;
g_assert (sdt);
len = sdt->services->len;
g_printf (" %d Services:\n", len);
for (i = 0; i < len; i++) {
- GstMpegTsSDTService *service = g_ptr_array_index (sdt->services, i);
+ GstMpegtsSDTService *service = g_ptr_array_index (sdt->services, i);
g_print
(" service_id:0x%04x, EIT_schedule_flag:%d, EIT_present_following_flag:%d\n",
service->service_id, service->EIT_schedule_flag,
g_print
(" running_status:0x%02x (%s), free_CA_mode:%d (%s)\n",
service->running_status,
- enum_name (GST_TYPE_MPEG_TS_RUNNING_STATUS, service->running_status),
+ enum_name (GST_TYPE_MPEGTS_RUNNING_STATUS, service->running_status),
service->free_CA_mode,
service->free_CA_mode ? "MAYBE SCRAMBLED" : "NOT SCRAMBLED");
dump_descriptors (service->descriptors, 9);
}
static void
-dump_tdt (GstMpegTsSection * section)
+dump_tdt (GstMpegtsSection * section)
{
GstDateTime *date = gst_mpegts_section_get_tdt (section);
}
static void
-dump_tot (GstMpegTsSection * section)
+dump_tot (GstMpegtsSection * section)
{
- const GstMpegTsTOT *tot = gst_mpegts_section_get_tot (section);
+ const GstMpegtsTOT *tot = gst_mpegts_section_get_tot (section);
gchar *str = gst_date_time_to_iso8601_string (tot->utc_time);
g_printf (" utc_time : %s\n", str);
}
static void
-dump_mgt (GstMpegTsSection * section)
+dump_mgt (GstMpegtsSection * section)
{
- const GstMpegTsAtscMGT *mgt = gst_mpegts_section_get_atsc_mgt (section);
+ const GstMpegtsAtscMGT *mgt = gst_mpegts_section_get_atsc_mgt (section);
gint i;
g_printf (" protocol_version : %u\n", mgt->protocol_version);
g_printf (" tables number : %d\n", mgt->tables->len);
for (i = 0; i < mgt->tables->len; i++) {
- GstMpegTsAtscMGTTable *table = g_ptr_array_index (mgt->tables, i);
+ GstMpegtsAtscMGTTable *table = g_ptr_array_index (mgt->tables, i);
g_printf (" table %d)\n", i);
g_printf (" table_type : %u\n", table->table_type);
g_printf (" pid : 0x%x\n", table->pid);
}
static void
-dump_vct (GstMpegTsSection * section)
+dump_vct (GstMpegtsSection * section)
{
- const GstMpegTsAtscVCT *vct;
+ const GstMpegtsAtscVCT *vct;
gint i;
if (GST_MPEGTS_SECTION_TYPE (section) == GST_MPEGTS_SECTION_ATSC_CVCT) {
g_printf (" protocol_version : %u\n", vct->protocol_version);
g_printf (" %d Sources:\n", vct->sources->len);
for (i = 0; i < vct->sources->len; i++) {
- GstMpegTsAtscVCTSource *source = g_ptr_array_index (vct->sources, i);
+ GstMpegtsAtscVCTSource *source = g_ptr_array_index (vct->sources, i);
g_print (" short_name: %s\n", source->short_name);
g_print (" major_channel_number: %u, minor_channel_number: %u\n",
source->major_channel_number, source->minor_channel_number);
}
static void
-dump_section (GstMpegTsSection * section)
+dump_section (GstMpegtsSection * section)
{
switch (GST_MPEGTS_SECTION_TYPE (section)) {
case GST_MPEGTS_SECTION_PAT:
break;
case GST_MESSAGE_ELEMENT:
{
- GstMpegTsSection *section;
+ GstMpegtsSection *section;
if ((section = gst_message_parse_mpegts_section (message))) {
const gchar *table_name;
g_print
("Got section: PID:0x%04x type:%s (table_id 0x%02x (%s)) at offset %"
G_GUINT64_FORMAT "\n", section->pid,
- enum_name (GST_TYPE_MPEG_TS_SECTION_TYPE, section->section_type),
+ enum_name (GST_TYPE_MPEGTS_SECTION_TYPE, section->section_type),
section->table_id, table_name, section->offset);
if (!section->short_section) {
g_print
}
/* Hack: ensure all enum type classes are loaded */
- g_type_class_ref (GST_TYPE_MPEG_TS_SECTION_TYPE);
- g_type_class_ref (GST_TYPE_MPEG_TS_SECTION_TABLE_ID);
- g_type_class_ref (GST_TYPE_MPEG_TS_RUNNING_STATUS);
- g_type_class_ref (GST_TYPE_MPEG_TS_DESCRIPTOR_TYPE);
- g_type_class_ref (GST_TYPE_MPEG_TS_DVB_DESCRIPTOR_TYPE);
- g_type_class_ref (GST_TYPE_MPEG_TS_ATSC_DESCRIPTOR_TYPE);
- g_type_class_ref (GST_TYPE_MPEG_TS_ISDB_DESCRIPTOR_TYPE);
- g_type_class_ref (GST_TYPE_MPEG_TS_MISC_DESCRIPTOR_TYPE);
- g_type_class_ref (GST_TYPE_MPEG_TS_ISO639_AUDIO_TYPE);
- g_type_class_ref (GST_TYPE_MPEG_TS_DVB_SERVICE_TYPE);
- g_type_class_ref (GST_TYPE_MPEG_TS_DVB_TELETEXT_TYPE);
- g_type_class_ref (GST_TYPE_MPEG_TS_STREAM_TYPE);
- g_type_class_ref (GST_TYPE_MPEG_TS_SECTION_DVB_TABLE_ID);
- g_type_class_ref (GST_TYPE_MPEG_TS_SECTION_ATSC_TABLE_ID);
- g_type_class_ref (GST_TYPE_MPEG_TS_SECTION_SCTE_TABLE_ID);
- g_type_class_ref (GST_TYPE_MPEG_TS_MODULATION_TYPE);
- g_type_class_ref (GST_TYPE_MPEG_TS_DVB_CODE_RATE);
- g_type_class_ref (GST_TYPE_MPEG_TS_CABLE_OUTER_FEC_SCHEME);
- g_type_class_ref (GST_TYPE_MPEG_TS_TERRESTRIAL_TRANSMISSION_MODE);
- g_type_class_ref (GST_TYPE_MPEG_TS_TERRESTRIAL_GUARD_INTERVAL);
- g_type_class_ref (GST_TYPE_MPEG_TS_TERRESTRIAL_HIERARCHY);
- g_type_class_ref (GST_TYPE_MPEG_TS_DVB_LINKAGE_TYPE);
- g_type_class_ref (GST_TYPE_MPEG_TS_DVB_LINKAGE_HAND_OVER_TYPE);
- g_type_class_ref (GST_TYPE_MPEG_TS_COMPONENT_STREAM_CONTENT);
- g_type_class_ref (GST_TYPE_MPEG_TS_CONTENT_NIBBLE_HI);
+ g_type_class_ref (GST_TYPE_MPEGTS_SECTION_TYPE);
+ g_type_class_ref (GST_TYPE_MPEGTS_SECTION_TABLE_ID);
+ g_type_class_ref (GST_TYPE_MPEGTS_RUNNING_STATUS);
+ g_type_class_ref (GST_TYPE_MPEGTS_DESCRIPTOR_TYPE);
+ g_type_class_ref (GST_TYPE_MPEGTS_DVB_DESCRIPTOR_TYPE);
+ g_type_class_ref (GST_TYPE_MPEGTS_ATSC_DESCRIPTOR_TYPE);
+ g_type_class_ref (GST_TYPE_MPEGTS_ISDB_DESCRIPTOR_TYPE);
+ g_type_class_ref (GST_TYPE_MPEGTS_MISC_DESCRIPTOR_TYPE);
+ g_type_class_ref (GST_TYPE_MPEGTS_ISO639_AUDIO_TYPE);
+ g_type_class_ref (GST_TYPE_MPEGTS_DVB_SERVICE_TYPE);
+ g_type_class_ref (GST_TYPE_MPEGTS_DVB_TELETEXT_TYPE);
+ g_type_class_ref (GST_TYPE_MPEGTS_STREAM_TYPE);
+ g_type_class_ref (GST_TYPE_MPEGTS_SECTION_DVB_TABLE_ID);
+ g_type_class_ref (GST_TYPE_MPEGTS_SECTION_ATSC_TABLE_ID);
+ g_type_class_ref (GST_TYPE_MPEGTS_SECTION_SCTE_TABLE_ID);
+ g_type_class_ref (GST_TYPE_MPEGTS_MODULATION_TYPE);
+ g_type_class_ref (GST_TYPE_MPEGTS_DVB_CODE_RATE);
+ g_type_class_ref (GST_TYPE_MPEGTS_CABLE_OUTER_FEC_SCHEME);
+ g_type_class_ref (GST_TYPE_MPEGTS_TERRESTRIAL_TRANSMISSION_MODE);
+ g_type_class_ref (GST_TYPE_MPEGTS_TERRESTRIAL_GUARD_INTERVAL);
+ g_type_class_ref (GST_TYPE_MPEGTS_TERRESTRIAL_HIERARCHY);
+ g_type_class_ref (GST_TYPE_MPEGTS_DVB_LINKAGE_TYPE);
+ g_type_class_ref (GST_TYPE_MPEGTS_DVB_LINKAGE_HAND_OVER_TYPE);
+ g_type_class_ref (GST_TYPE_MPEGTS_COMPONENT_STREAM_CONTENT);
+ g_type_class_ref (GST_TYPE_MPEGTS_CONTENT_NIBBLE_HI);
mainloop = g_main_loop_new (NULL, FALSE);