decodebin3: Don't lose a ref on EOS event

Make sure not to give away the ref on the final EOS
event for which the probe handler is returning GST_PAD_PROBE_REMOVE
when pushing the event manually.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3146>
This commit is contained in:
Jan Schmidt 2022-10-01 04:37:05 +10:00 committed by Tim-Philipp Müller
parent 05c503ff4a
commit 6e61030ded

View file

@ -1979,10 +1979,8 @@ multiqueue_src_probe (GstPad * pad, GstPadProbeInfo * info,
"last EOS for input, forwarding and removing slot");
peer = gst_pad_get_peer (pad);
if (peer) {
gst_pad_send_event (peer, ev);
gst_pad_send_event (peer, gst_event_ref (ev));
gst_object_unref (peer);
} else {
gst_event_unref (ev);
}
SELECTION_LOCK (dbin);
/* FIXME : Shouldn't we try to re-assign the output instead of just