[MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c: Fix buffer ref leak.
authorOle André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
Thu, 21 Aug 2008 15:28:09 +0000 (15:28 +0000)
committerJan Schmidt <thaytan@noraisin.net>
Sat, 16 May 2009 00:29:19 +0000 (01:29 +0100)
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
* sys/directdraw/gstdirectdrawsink.c:
(gst_directdraw_sink_show_frame):
Fix buffer ref leak.

sys/directdraw/gstdirectdrawsink.c

index d0a318b..18d6178 100644 (file)
@@ -800,12 +800,10 @@ gst_directdraw_sink_show_frame (GstBaseSink * bsink, GstBuffer * buf)
 
   if (buf) {
     /* save a reference to the input buffer */
-    if (ddrawsink->last_buffer != buf) {
-      if (ddrawsink->last_buffer) {
-        gst_buffer_unref (ddrawsink->last_buffer);
-      }
-    }
-    ddrawsink->last_buffer = gst_buffer_ref (buf);
+    gst_buffer_ref (buf);
+    if (ddrawsink->last_buffer != NULL)
+      gst_buffer_unref (ddrawsink->last_buffer);
+    ddrawsink->last_buffer = buf;
   } else {
     /* use last buffer */
     buf = ddrawsink->last_buffer;