diff --git a/ChangeLog b/ChangeLog index 70c6fba83b..01e41bdf24 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-08-21 Ole André Vadla Ravnås + + * sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_buffer_alloc, + gst_directdraw_sink_bufferpool_clear): + Fix two more buffer ref leaks. + 2008-08-21 Tim-Philipp Müller Patch by: Ole André Vadla Ravnås diff --git a/sys/directdraw/gstdirectdrawsink.c b/sys/directdraw/gstdirectdrawsink.c index 18d6178e5a..caa2800591 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); }