From 8d5cfc6511ca986f1a0511bfd28c5b4209aca803 Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Fri, 17 Sep 2010 09:52:12 -0300 Subject: [PATCH] outputselector: Avoid losing the last_buffer when switching This patch makes outputselector take an extra ref when pushing the last_buffer to avoid it losing it during the switch function. This makes resend-latest properly work if the active-pad is changed during the switch function buffer pushing (on a pad probe, for example). https://bugzilla.gnome.org/show_bug.cgi?id=629917 --- gst/selector/gstoutputselector.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gst/selector/gstoutputselector.c b/gst/selector/gstoutputselector.c index 088bed0..9b75da2 100644 --- a/gst/selector/gstoutputselector.c +++ b/gst/selector/gstoutputselector.c @@ -375,8 +375,7 @@ gst_output_selector_switch (GstOutputSelector * osel) /* Resend latest buffer to newly switched pad */ if (osel->resend_latest && osel->latest_buffer) { GST_INFO ("resending latest buffer"); - gst_pad_push (osel->active_srcpad, osel->latest_buffer); - osel->latest_buffer = NULL; + gst_pad_push (osel->active_srcpad, gst_buffer_ref (osel->latest_buffer)); } } else { GST_WARNING_OBJECT (osel, "switch failed, pad not linked"); -- 2.7.4