mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-02 21:48:55 +00:00
Check that collectpads exists before removing pad
The core now calls release pad from finalize, at which point the collectpads might have already been freed.
This commit is contained in:
parent
cad8a864ff
commit
6d8740476c
3 changed files with 10 additions and 3 deletions
|
@ -588,7 +588,9 @@ mpegpsmux_release_pad (GstElement * element, GstPad * pad)
|
|||
}
|
||||
GST_OBJECT_UNLOCK (pad);
|
||||
|
||||
if (mux->collect) {
|
||||
gst_collect_pads_remove_pad (mux->collect, pad);
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
|
|
@ -503,6 +503,7 @@ gst_qt_mux_finalize (GObject * object)
|
|||
|
||||
atoms_context_free (qtmux->context);
|
||||
gst_object_unref (qtmux->collect);
|
||||
qtmux->collect = NULL;
|
||||
|
||||
g_slist_free (qtmux->sinkpads);
|
||||
|
||||
|
@ -3165,7 +3166,9 @@ gst_qt_mux_release_pad (GstElement * element, GstPad * pad)
|
|||
}
|
||||
}
|
||||
|
||||
if (mux->collect) {
|
||||
gst_collect_pads_remove_pad (mux->collect, pad);
|
||||
}
|
||||
}
|
||||
|
||||
static GstPad *
|
||||
|
|
|
@ -1253,7 +1253,9 @@ gst_ssim_release_pad (GstElement * element, GstPad * pad)
|
|||
|
||||
GST_DEBUG_OBJECT (ssim, "release pad %s:%s", GST_DEBUG_PAD_NAME (pad));
|
||||
|
||||
if (ssim->collect) {
|
||||
gst_collect_pads_remove_pad (ssim->collect, pad);
|
||||
}
|
||||
gst_element_remove_pad (element, pad);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue