summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gst/selector/gstoutputselector.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gst/selector/gstoutputselector.c b/gst/selector/gstoutputselector.c
index 06443cfb..5635ab78 100644
--- a/gst/selector/gstoutputselector.c
+++ b/gst/selector/gstoutputselector.c
@@ -388,11 +388,14 @@ gst_output_selector_chain (GstPad * pad, GstBuffer * buf)
/* Do the switch */
gst_output_selector_switch (osel);
}
+
+ if (osel->latest_buffer) {
+ gst_buffer_unref (osel->latest_buffer);
+ osel->latest_buffer = NULL;
+ }
if (osel->resend_latest) {
/* Keep reference to latest buffer to resend it after switch */
- if (osel->latest_buffer)
- gst_buffer_unref (osel->latest_buffer);
osel->latest_buffer = gst_buffer_ref (buf);
}