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
This commit is contained in:
Graham Leggett 2016-09-11 00:06:52 +00:00 committed by Tim-Philipp Müller
parent 776a9470a0
commit 7713bb763e

View file

@ -1023,14 +1023,24 @@ mpegts_base_get_tags_from_eit (MpegTSBase * base, GstMpegtsSection * section)
if ((desc = if ((desc =
gst_mpegts_find_descriptor (event->descriptors, gst_mpegts_find_descriptor (event->descriptors,
GST_MTS_DESC_DVB_SHORT_EVENT))) { GST_MTS_DESC_DVB_SHORT_EVENT))) {
gchar *name; gchar *name = NULL, *text = NULL;
if (gst_mpegts_descriptor_parse_dvb_short_event (desc, NULL, &name, 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 ??? */ /* FIXME : Is it correct to post an event duration as a GST_TAG_DURATION ??? */
program->tags = gst_tag_list_add (program->tags, GST_TAG_MERGE_APPEND,
gst_tag_list_new (GST_TAG_TITLE, name, GST_TAG_DURATION, GST_TAG_DURATION, event->duration * GST_SECOND, NULL);
event->duration * GST_SECOND, NULL);
g_free (name);
return TRUE; return TRUE;
} }
} }