qtdemux: don't process track_num/track_count tags with a 0 value
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Fri, 26 Jun 2009 12:19:04 +0000 (13:19 +0100)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Fri, 26 Jun 2009 12:29:27 +0000 (13:29 +0100)
Number/count values of 0 mean they're not set. Don't put those in the
taglist.

gst/qtdemux/qtdemux.c

index 7fe7c2a..d09cb6f 100644 (file)
@@ -4776,9 +4776,16 @@ qtdemux_tag_add_num (GstQTDemux * qtdemux, const char *tag1,
     if (type == 0x00000000 && len >= 22) {
       n1 = QT_UINT16 ((guint8 *) data->data + 18);
       n2 = QT_UINT16 ((guint8 *) data->data + 20);
-      GST_DEBUG_OBJECT (qtdemux, "adding tag %d/%d", n1, n2);
-      gst_tag_list_add (qtdemux->tag_list, GST_TAG_MERGE_REPLACE,
-          tag1, n1, tag2, n2, NULL);
+      if (n1 > 0) {
+        GST_DEBUG_OBJECT (qtdemux, "adding tag %s=%d", tag1, n1);
+        gst_tag_list_add (qtdemux->tag_list, GST_TAG_MERGE_REPLACE,
+            tag1, n1, NULL);
+      }
+      if (n2 > 0) {
+        GST_DEBUG_OBJECT (qtdemux, "adding tag %s=%d", tag2, n2);
+        gst_tag_list_add (qtdemux->tag_list, GST_TAG_MERGE_REPLACE,
+            tag2, n2, NULL);
+      }
     }
   }
 }