diff options
author | Mathieu Duponchelle <mathieu.duponchelle@opencreed.com> | 2017-05-31 03:14:04 +0200 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2017-06-12 16:09:47 +0200 |
commit | b3a8c524f5e617a7d590b74757348c7d79520c37 (patch) | |
tree | cad16b15635ef3f2820208cb67185057aada92a3 | |
parent | e76f0526b50fc023cef797ccf853465b2a5c82d3 (diff) | |
download | gstreamer-plugins-bad-b3a8c524f5e617a7d590b74757348c7d79520c37.tar.gz |
adaptivedemux: make sure to free all "old streams"
As we release the MANIFEST_LOCK in stop_tasks,
demux->priv->old_streams can be set, we need to free these
otherwise we may end up trying to dispose elements in the
READY state.
https://bugzilla.gnome.org/show_bug.cgi?id=783256
-rw-r--r-- | gst-libs/gst/adaptivedemux/gstadaptivedemux.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c index 3843b1f5b..edbf55e2b 100644 --- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c +++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c @@ -809,6 +809,12 @@ gst_adaptive_demux_reset (GstAdaptiveDemux * demux) (GDestroyNotify) gst_adaptive_demux_stream_free); } + if (demux->priv->old_streams) { + g_list_free_full (demux->priv->old_streams, + (GDestroyNotify) gst_adaptive_demux_stream_free); + demux->priv->old_streams = NULL; + } + g_free (demux->manifest_uri); g_free (demux->manifest_base_uri); demux->manifest_uri = NULL; |