qtdemux: fix tag list leaks on error paths

This commit is contained in:
Vincent Penquerc'h 2015-04-16 13:09:19 +01:00
parent 765faa306a
commit f02ad47998

View File

@ -9271,7 +9271,7 @@ skip_track:
{ {
GST_INFO_OBJECT (qtdemux, "skip disabled track"); GST_INFO_OBJECT (qtdemux, "skip disabled track");
if (new_stream) if (new_stream)
g_free (stream); gst_qtdemux_stream_free (qtdemux, stream);
return TRUE; return TRUE;
} }
corrupt_file: corrupt_file:
@ -9279,14 +9279,14 @@ corrupt_file:
GST_ELEMENT_ERROR (qtdemux, STREAM, DEMUX, GST_ELEMENT_ERROR (qtdemux, STREAM, DEMUX,
(_("This file is corrupt and cannot be played.")), (NULL)); (_("This file is corrupt and cannot be played.")), (NULL));
if (new_stream) if (new_stream)
g_free (stream); gst_qtdemux_stream_free (qtdemux, stream);
return FALSE; return FALSE;
} }
error_encrypted: error_encrypted:
{ {
GST_ELEMENT_ERROR (qtdemux, STREAM, DECRYPT, (NULL), (NULL)); GST_ELEMENT_ERROR (qtdemux, STREAM, DECRYPT, (NULL), (NULL));
if (new_stream) if (new_stream)
g_free (stream); gst_qtdemux_stream_free (qtdemux, stream);
return FALSE; return FALSE;
} }
samples_failed: samples_failed:
@ -9296,7 +9296,7 @@ segments_failed:
/* free stbl sub-atoms */ /* free stbl sub-atoms */
gst_qtdemux_stbl_free (stream); gst_qtdemux_stbl_free (stream);
if (new_stream) if (new_stream)
g_free (stream); gst_qtdemux_stream_free (qtdemux, stream);
return FALSE; return FALSE;
} }
existing_stream: existing_stream:
@ -9304,7 +9304,7 @@ existing_stream:
GST_INFO_OBJECT (qtdemux, "stream with track id %i already exists", GST_INFO_OBJECT (qtdemux, "stream with track id %i already exists",
track_id); track_id);
if (new_stream) if (new_stream)
g_free (stream); gst_qtdemux_stream_free (qtdemux, stream);
return TRUE; return TRUE;
} }
unknown_stream: unknown_stream:
@ -9312,7 +9312,7 @@ unknown_stream:
GST_INFO_OBJECT (qtdemux, "unknown subtype %" GST_FOURCC_FORMAT, GST_INFO_OBJECT (qtdemux, "unknown subtype %" GST_FOURCC_FORMAT,
GST_FOURCC_ARGS (stream->subtype)); GST_FOURCC_ARGS (stream->subtype));
if (new_stream) if (new_stream)
g_free (stream); gst_qtdemux_stream_free (qtdemux, stream);
return TRUE; return TRUE;
} }
too_many_streams: too_many_streams: