pad: fix invalid unref after IDLE probe on non-OK flow return

In case there is an IDLE probe fired from gst_pad_push_data and it
doesn't return GST_FLOW_OK, the code jumps to the probe_stopped
label which tries to unref the data object. However, at this point
the data object belongs downstream and must not be touched.
By setting data = NULL, the code skips this unref.

https://bugzilla.gnome.org//show_bug.cgi?id=753151
This commit is contained in:
George Kiagiadakis 2015-08-02 17:38:14 +02:00 committed by Tim-Philipp Müller
parent cde3524f52
commit 794a08d7e9

View file

@ -4280,6 +4280,7 @@ gst_pad_push_data (GstPad * pad, GstPadProbeType type, void *data)
GST_OBJECT_UNLOCK (pad); GST_OBJECT_UNLOCK (pad);
ret = gst_pad_chain_data_unchecked (peer, type, data); ret = gst_pad_chain_data_unchecked (peer, type, data);
data = NULL;
gst_object_unref (peer); gst_object_unref (peer);