From f8b7a130cc51752c06a538848aa1c27770f4dee3 Mon Sep 17 00:00:00 2001 From: Stefan Ringel Date: Thu, 27 Mar 2014 21:18:36 +0100 Subject: [PATCH] mpegts: add parsing stream identifier Signed-off-by: Stefan Ringel https://bugzilla.gnome.org/show_bug.cgi?id=727187 --- gst-libs/gst/mpegts/gst-dvb-descriptor.c | 28 ++++++++++++++++++++++- gst-libs/gst/mpegts/gstmpegtsdescriptor.c | 4 ---- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/gst-libs/gst/mpegts/gst-dvb-descriptor.c b/gst-libs/gst/mpegts/gst-dvb-descriptor.c index 2560c424fd..6facefab58 100644 --- a/gst-libs/gst/mpegts/gst-dvb-descriptor.c +++ b/gst-libs/gst/mpegts/gst-dvb-descriptor.c @@ -45,7 +45,6 @@ * * GST_MTS_DESC_DVB_DATA_BROADCAST_ID * * GST_MTS_DESC_DVB_DATA_BROADCAST * * GST_MTS_DESC_DVB_CAROUSEL_IDENTIFIER - * * GST_MTS_DESC_DVB_STREAM_IDENTIFIER * * GST_MTS_DESC_DVB_FREQUENCY_LIST */ @@ -673,6 +672,33 @@ gst_mpegts_descriptor_parse_dvb_component (const GstMpegTsDescriptor return TRUE; } +/* GST_MTS_DESC_DVB_STREAM_IDENTIFIER (0x52) */ +/** + * gst_mpegts_descriptor_parse_dvb_stream_identifier: + * @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 + * descriptor, guint8 * component_tag) +{ + guint8 *data; + + g_return_val_if_fail (descriptor != NULL && component_tag != NULL, FALSE); + __common_desc_checks_exact (descriptor, GST_MTS_DESC_DVB_STREAM_IDENTIFIER, + 1, FALSE); + + data = (guint8 *) descriptor->data + 2; + + *component_tag = *data; + + return TRUE; +} + /* GST_MTS_DESC_DVB_CONTENT (0x54) */ static void _gst_mpegts_content_free (GstMpegTsContent * content) diff --git a/gst-libs/gst/mpegts/gstmpegtsdescriptor.c b/gst-libs/gst/mpegts/gstmpegtsdescriptor.c index 7586f5a4b9..d6884ecefd 100644 --- a/gst-libs/gst/mpegts/gstmpegtsdescriptor.c +++ b/gst-libs/gst/mpegts/gstmpegtsdescriptor.c @@ -66,10 +66,6 @@ * * GST_MTS_DESC_DVB_DATA_BROADCAST_ID * * GST_MTS_DESC_DVB_DATA_BROADCAST * * GST_MTS_DESC_DVB_CAROUSEL_IDENTIFIER - * * GST_MTS_DESC_DVB_STREAM_IDENTIFIER - * * GST_MTS_DESC_DVB_EXTENDED_EVENT - * * GST_MTS_DESC_DVB_COMPONENT - * * GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM * * GST_MTS_DESC_DVB_FREQUENCY_LIST */