From 7f27287256656d14f269fb42f48c5e5a64f11d23 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?= Date: Thu, 21 Aug 2008 15:28:09 +0000 Subject: [PATCH] sys/directdraw/gstdirectdrawsink.c: Fix buffer ref leak. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Original commit message from CVS: Patch by: Ole André Vadla Ravnås * sys/directdraw/gstdirectdrawsink.c: (gst_directdraw_sink_show_frame): Fix buffer ref leak. --- ChangeLog | 8 ++++++++ sys/directdraw/gstdirectdrawsink.c | 10 ++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index bf48895..70c6fba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-08-21 Tim-Philipp Müller + + Patch by: Ole André Vadla Ravnås + + * sys/directdraw/gstdirectdrawsink.c: + (gst_directdraw_sink_show_frame): + Fix buffer ref leak. + 2008-08-21 Sebastian Dröge * gst/wavenc/gstwavenc.c: (gst_wavenc_chain): diff --git a/sys/directdraw/gstdirectdrawsink.c b/sys/directdraw/gstdirectdrawsink.c index d0a318b..18d6178 100644 --- a/sys/directdraw/gstdirectdrawsink.c +++ b/sys/directdraw/gstdirectdrawsink.c @@ -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; -- 2.7.4