mpegtsdemux: Some checks to avoid asserts

gst_mpeg_descriptor_find() expects the description field to be non-NULL.
This fixes a couple of calls where the value being passed is not
verified to be non-NULL first.

https://bugzilla.gnome.org/show_bug.cgi?id=620456
This commit is contained in:
Arun Raghavan 2010-06-03 15:51:18 +05:30 committed by Sebastian Dröge
parent f49f4c0bd4
commit e5a37377ae

View file

@ -744,13 +744,14 @@ gst_mpegts_demux_fill_stream (GstMpegTSStream * stream, guint8 id,
template = klass->audio_template;
name = g_strdup_printf ("audio_%04x", stream->PID);
caps = gst_caps_new_simple ("audio/x-eac3", NULL);
} else if (gst_mpeg_descriptor_find (stream->ES_info,
} else if (stream->ES_info && gst_mpeg_descriptor_find (stream->ES_info,
DESC_DVB_ENHANCED_AC3)) {
template = klass->audio_template;
name = g_strdup_printf ("audio_%04x", stream->PID);
caps = gst_caps_new_simple ("audio/x-eac3", NULL);
} else {
if (!gst_mpeg_descriptor_find (stream->ES_info, DESC_DVB_AC3)) {
if (!stream->ES_info ||
!gst_mpeg_descriptor_find (stream->ES_info, DESC_DVB_AC3)) {
GST_WARNING ("AC3 stream type found but no corresponding "
"descriptor to differentiate between AC3 and EAC3. "
"Assuming plain AC3.");