mpegts: add parsing stream identifier
authorStefan Ringel <linuxtv@stefanringel.de>
Thu, 27 Mar 2014 20:18:36 +0000 (21:18 +0100)
committerEdward Hervey <bilboed@bilboed.com>
Mon, 31 Mar 2014 13:00:54 +0000 (15:00 +0200)
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=727187

gst-libs/gst/mpegts/gst-dvb-descriptor.c
gst-libs/gst/mpegts/gstmpegtsdescriptor.c

index 2560c42..6facefa 100644 (file)
@@ -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)
index 7586f5a..d6884ec 100644 (file)
  *   * 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
  */