diff options
author | Graham Leggett <minfrin@sharp.fm> | 2016-09-11 00:06:52 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2016-09-13 12:23:28 +0100 |
commit | 7713bb763e02ba684612e50e66f85c7e15143de0 (patch) | |
tree | 5a2ad258a5e8f57d1545d40bdd4f18e78267cc4a /gst/mpegtsdemux | |
parent | 776a9470a07bdd514a112041ee380d6ea75f7f5b (diff) | |
download | gstreamer-plugins-bad-7713bb763e02ba684612e50e66f85c7e15143de0.tar.gz |
tsdemux: handle a NULL name in DVB short event descriptor
Resolves the warning:
GStreamer-WARNING **: Trying to set NULL string on field 'title' on taglist.
https://bugzilla.gnome.org/show_bug.cgi?id=771198
Diffstat (limited to 'gst/mpegtsdemux')
-rw-r--r-- | gst/mpegtsdemux/mpegtsbase.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c index e736f9bf4..659faadda 100644 --- a/gst/mpegtsdemux/mpegtsbase.c +++ b/gst/mpegtsdemux/mpegtsbase.c @@ -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; } } |