sys/directdraw/gstdirectdrawsink.c: Fix buffer ref leak.

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.
This commit is contained in:
Ole André Vadla Ravnås 2008-08-21 15:28:09 +00:00 committed by Tim-Philipp Müller
parent 332f465dc3
commit 7f27287256
2 changed files with 12 additions and 6 deletions

View file

@ -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):

View 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;