mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
qtmux: Fix leak
gst_qt_mux_can_renegotiate () gets called everywhere following that pattern: return gst_qt_mux_can_renegotiate (ref(self)); This means the reference must be released both in the success and failure cases, it was only done in the success case.
This commit is contained in:
parent
acb6090e47
commit
ee99cd7037
1 changed files with 2 additions and 0 deletions
|
@ -4822,6 +4822,7 @@ gst_qtmux_caps_is_subset_full (GstQTMux * qtmux, GstCaps * subset,
|
||||||
return gst_structure_foreach (sub_s, check_field, sup_s);
|
return gst_structure_foreach (sub_s, check_field, sup_s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* will unref @qtmux */
|
||||||
static gboolean
|
static gboolean
|
||||||
gst_qt_mux_can_renegotiate (GstQTMux * qtmux, GstPad * pad, GstCaps * caps)
|
gst_qt_mux_can_renegotiate (GstQTMux * qtmux, GstPad * pad, GstCaps * caps)
|
||||||
{
|
{
|
||||||
|
@ -4845,6 +4846,7 @@ gst_qt_mux_can_renegotiate (GstQTMux * qtmux, GstPad * pad, GstCaps * caps)
|
||||||
GST_DEBUG_OBJECT (qtmux,
|
GST_DEBUG_OBJECT (qtmux,
|
||||||
"pad %s accepted renegotiation to %" GST_PTR_FORMAT " from %"
|
"pad %s accepted renegotiation to %" GST_PTR_FORMAT " from %"
|
||||||
GST_PTR_FORMAT, GST_PAD_NAME (pad), caps, current_caps);
|
GST_PTR_FORMAT, GST_PAD_NAME (pad), caps, current_caps);
|
||||||
|
gst_object_unref (qtmux);
|
||||||
gst_caps_unref (current_caps);
|
gst_caps_unref (current_caps);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
Loading…
Reference in a new issue