diff options
author | Thiago Santos <thiago.sousa.santos@collabora.com> | 2013-05-17 11:37:30 -0300 |
---|---|---|
committer | Thiago Santos <thiago.sousa.santos@collabora.com> | 2013-05-17 11:37:30 -0300 |
commit | 504142ea93efb5db8b133b18fdb0ff9aa6909fe2 (patch) | |
tree | d49f9625b88b57f9aaa0d1526ca37a8044fe7286 | |
parent | ef66e39d0384576b06eff506dcc9f61e9e6a49fe (diff) | |
download | gstreamer-plugins-bad-504142ea93efb5db8b133b18fdb0ff9aa6909fe2.tar.gz |
mssdemux: fix assertions when a stream caps can't be created
Fixes two assertions related to cleanup for a pad that couldn't
be exposed because the caps couldn't be identified from the
Manifest
Fixes #699921
-rw-r--r-- | ext/smoothstreaming/gstmssdemux.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/ext/smoothstreaming/gstmssdemux.c b/ext/smoothstreaming/gstmssdemux.c index 9e39d29af..1cc3a59e8 100644 --- a/ext/smoothstreaming/gstmssdemux.c +++ b/ext/smoothstreaming/gstmssdemux.c @@ -288,7 +288,8 @@ gst_mss_demux_stream_free (GstMssDemuxStream * stream) gst_object_unref (stream->pad); stream->pad = NULL; } - gst_caps_unref (stream->caps); + if (stream->caps) + gst_caps_unref (stream->caps); g_free (stream); } @@ -905,8 +906,6 @@ gst_mss_demux_process_manifest (GstMssDemux * mssdemux) GstMssDemuxStream *stream = iter->data; iter = g_slist_next (iter); /* do it ourselves as we want it done in the beginning of the loop */ if (!gst_mss_demux_expose_stream (mssdemux, stream)) { - if (stream->pad) - gst_element_remove_pad (GST_ELEMENT_CAST (mssdemux), stream->pad); gst_mss_demux_stream_free (stream); mssdemux->streams = g_slist_delete_link (mssdemux->streams, current); } |