examples: Add support for DVB multilingual component descriptor
authorStefan Ringel <linuxtv@stefanringel.de>
Mon, 26 May 2014 18:38:45 +0000 (20:38 +0200)
committerEdward Hervey <bilboed@bilboed.com>
Tue, 27 May 2014 13:34:41 +0000 (15:34 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=728429

tests/examples/mpegts/ts-parser.c

index 96f4696..67cc903 100644 (file)
@@ -244,6 +244,27 @@ dump_multiligual_service_name (GstMpegTsDescriptor * desc, guint spacing)
 }
 
 static void
+dump_multiligual_component (GstMpegTsDescriptor * desc, guint spacing)
+{
+  GPtrArray *items;
+  guint8 tag;
+  if (gst_mpegts_descriptor_parse_dvb_multilingual_component (desc, &tag,
+          &items)) {
+    guint8 i;
+    g_printf ("%*s component_tag : 0x%02x\n", spacing, "", tag);
+    for (i = 0; i < items->len; i++) {
+      GstMpegTsDvbMultilingualComponentItem *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);
+      g_printf ("%*s     description   : %s\n", spacing, "", item->description);
+    }
+    g_ptr_array_unref (items);
+  }
+}
+
+static void
 dump_iso_639_language (GstMpegTsDescriptor * desc, guint spacing)
 {
   guint i;
@@ -345,6 +366,11 @@ dump_descriptors (GPtrArray * descriptors, guint spacing)
         dump_multiligual_service_name (desc, spacing + 2);
         break;
       }
+      case GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT:
+      {
+        dump_multiligual_component (desc, spacing + 2);
+        break;
+      }
       case GST_MTS_DESC_ISO_639_LANGUAGE:
         dump_iso_639_language (desc, spacing + 2);
         break;