tsdemux: handle a NULL name in DVB short event descriptor
authorGraham Leggett <minfrin@sharp.fm>
Sun, 11 Sep 2016 00:06:52 +0000 (00:06 +0000)
committerTim-Philipp Müller <tim@centricular.com>
Tue, 13 Sep 2016 11:23:28 +0000 (12:23 +0100)
Resolves the warning:

GStreamer-WARNING **: Trying to set NULL string on field 'title' on taglist.

https://bugzilla.gnome.org/show_bug.cgi?id=771198

gst/mpegtsdemux/mpegtsbase.c

index e736f9b..659faad 100644 (file)
@@ -1023,14 +1023,24 @@ mpegts_base_get_tags_from_eit (MpegTSBase * base, GstMpegtsSection * section)
         if ((desc =
                 gst_mpegts_find_descriptor (event->descriptors,
                     GST_MTS_DESC_DVB_SHORT_EVENT))) {
-          gchar *name;
+          gchar *name = NULL, *text = NULL;
+
           if (gst_mpegts_descriptor_parse_dvb_short_event (desc, NULL, &name,
-                  NULL)) {
+                  &text)) {
+            program->tags = gst_tag_list_new_empty ();
+            if (name) {
+              gst_tag_list_add (program->tags, GST_TAG_MERGE_APPEND,
+                  GST_TAG_TITLE, name, NULL);
+              g_free (name);
+            }
+            if (text) {
+              gst_tag_list_add (program->tags, GST_TAG_MERGE_APPEND,
+                  GST_TAG_DESCRIPTION, text, NULL);
+              g_free (text);
+            }
             /* FIXME : Is it correct to post an event duration as a GST_TAG_DURATION ??? */
-            program->tags =
-                gst_tag_list_new (GST_TAG_TITLE, name, GST_TAG_DURATION,
-                event->duration * GST_SECOND, NULL);
-            g_free (name);
+            gst_tag_list_add (program->tags, GST_TAG_MERGE_APPEND,
+                GST_TAG_DURATION, event->duration * GST_SECOND, NULL);
             return TRUE;
           }
         }