output-selector: keep ref to buffer for resending only if explicitly requested
authorLasse Laukkanen <ext-lasse.2.laukkanen@nokia.com>
Thu, 16 Apr 2009 14:32:03 +0000 (17:32 +0300)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Fri, 31 Dec 2010 00:53:49 +0000 (00:53 +0000)
plugins/elements/gstoutputselector.c

index bf354a7..06443cf 100644 (file)
@@ -388,11 +388,13 @@ gst_output_selector_chain (GstPad * pad, GstBuffer * buf)
     /* Do the switch */
     gst_output_selector_switch (osel);
   }
-
-  /* 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);
+  
+  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);
+  }
 
   /* Keep track of last stop and use it in NEWSEGMENT start after 
      switching to a new src pad */