tsdemux: Fix pad leak when the pad is never exposed

If tsdemux never receives data for a stream, the corresponding pad will never
be added and stream->active will remain FALSE. When the stream is removed, the
pad will not be unreffed and will be leaked.

https://bugzilla.gnome.org/show_bug.cgi?id=757873
This commit is contained in:
Etienne Peron 2015-06-10 14:18:00 +02:00 committed by Sebastian Dröge
parent c3b28700d9
commit a336181ef5

View file

@ -1665,6 +1665,8 @@ gst_ts_demux_stream_removed (MpegTSBase * base, MpegTSBaseStream * bstream)
GST_DEBUG_OBJECT (stream->pad, "Removing pad"); GST_DEBUG_OBJECT (stream->pad, "Removing pad");
gst_element_remove_pad (GST_ELEMENT_CAST (base), stream->pad); gst_element_remove_pad (GST_ELEMENT_CAST (base), stream->pad);
stream->active = FALSE; stream->active = FALSE;
} else {
gst_object_unref (stream->pad);
} }
stream->pad = NULL; stream->pad = NULL;
} }