summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/directdraw/gstdirectdrawsink.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/directdraw/gstdirectdrawsink.c b/sys/directdraw/gstdirectdrawsink.c
index 18d6178e5..caa280059 100644
--- a/sys/directdraw/gstdirectdrawsink.c
+++ b/sys/directdraw/gstdirectdrawsink.c
@@ -614,6 +614,7 @@ gst_directdraw_sink_buffer_alloc (GstBaseSink * bsink, guint64 offset,
!gst_directdraw_sink_surface_check (ddrawsink, surface))
) {
gst_directdraw_sink_surface_destroy (ddrawsink, surface);
+ gst_buffer_unref (surface);
surface = NULL;
} else {
/* We found a suitable surface */
@@ -1897,6 +1898,7 @@ gst_directdraw_sink_bufferpool_clear (GstDirectDrawSink * ddrawsink)
ddrawsink->buffer_pool = g_slist_delete_link (ddrawsink->buffer_pool,
ddrawsink->buffer_pool);
gst_directdraw_sink_surface_destroy (ddrawsink, surface);
+ gst_buffer_unref (surface);
}
g_mutex_unlock (ddrawsink->pool_lock);
}