mpegts: Fix TOT section parsing
authorEdward Hervey <edward@collabora.com>
Wed, 3 Jul 2013 16:44:54 +0000 (18:44 +0200)
committerEdward Hervey <edward@collabora.com>
Wed, 3 Jul 2013 16:44:54 +0000 (18:44 +0200)
And use it in example

gst-libs/gst/mpegts/gst-dvb-section.c
tests/examples/mpegts/ts-parser.c

index 7626caf..fe3d09f 100644 (file)
@@ -739,6 +739,7 @@ _parse_tot (GstMpegTsSection * section)
   data = section->data + 8;
 
   desc_len = GST_READ_UINT16_BE (data) & 0xFFF;
+  data += 2;
   tot->descriptors = gst_mpegts_parse_descriptors (data, desc_len);
 
   return tot;
index f878a90..db422b3 100644 (file)
@@ -327,6 +327,17 @@ dump_tdt (GstMpegTsSection * section)
 }
 
 static void
+dump_tot (GstMpegTsSection * 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);
+  dump_descriptors (tot->descriptors, 7);
+  g_free (str);
+}
+
+static void
 dump_section (GstMpegTsSection * section)
 {
   switch (GST_MPEGTS_SECTION_TYPE (section)) {
@@ -339,6 +350,9 @@ dump_section (GstMpegTsSection * section)
     case GST_MPEGTS_SECTION_TDT:
       dump_tdt (section);
       break;
+    case GST_MPEGTS_SECTION_TOT:
+      dump_tot (section);
+      break;
     case GST_MPEGTS_SECTION_SDT:
       dump_sdt (section);
       break;