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)
committerTim-Philipp Müller <tim@centricular.net>
Thu, 21 Aug 2008 15:28:09 +0000 (15:28 +0000)
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.

ChangeLog
sys/directdraw/gstdirectdrawsink.c

index bf48895..70c6fba 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-08-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
+
+       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.
+
 2008-08-21  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
 
        * gst/wavenc/gstwavenc.c: (gst_wavenc_chain):
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;