summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraham Leggett <minfrin@sharp.fm>2016-09-11 00:06:52 +0000
committerTim-Philipp Müller <tim@centricular.com>2016-11-01 16:21:21 +0000
commita6ec31d878cb9df07b6c3bbce74d2a8a153b8a7f (patch)
treea6448f4275c9fa4753e8546d23f53ed34d67c9ef
parent8da992d1aab57363e2ce4dc02b3180d18539b669 (diff)
downloadgstreamer-plugins-bad-a6ec31d878cb9df07b6c3bbce74d2a8a153b8a7f.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
-rw-r--r--gst/mpegtsdemux/mpegtsbase.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c
index 4aee08448..cf424ead2 100644
--- a/gst/mpegtsdemux/mpegtsbase.c
+++ b/gst/mpegtsdemux/mpegtsbase.c
@@ -1024,14 +1024,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;
}
}