From: Thiago Santos Date: Fri, 13 Mar 2015 18:35:14 +0000 (+0000) Subject: basesink: when draining, deep copy the last buffer to unref old memory X-Git-Tag: 1.6.1~487 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=901fea5985b82fcdf3310fa1d34920d231113613;p=platform%2Fupstream%2Fgstreamer.git basesink: when draining, deep copy the last buffer to unref old memory Use gst_buffer_copy_deep() to force the copy of the underlying memory instead of possibly doing a shallow copy of the buffer and just referencing the memory https://bugzilla.gnome.org/show_bug.cgi?id=745287 --- diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c index 748d2a2..44f2ab4 100644 --- a/libs/gst/base/gstbasesink.c +++ b/libs/gst/base/gstbasesink.c @@ -4857,7 +4857,7 @@ gst_base_sink_default_query (GstBaseSink * basesink, GstQuery * query) GST_OBJECT_LOCK (basesink); if ((old = basesink->priv->last_buffer)) - basesink->priv->last_buffer = gst_buffer_copy (old); + basesink->priv->last_buffer = gst_buffer_copy_deep (old); GST_OBJECT_UNLOCK (basesink); if (old) gst_buffer_unref (old);