From: Wim Taymans Date: Mon, 20 Feb 2012 10:46:36 +0000 (+0100) Subject: basetransform: copy metadata when using a pool X-Git-Tag: RELEASE-0.11.3~145 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=810e67900b84016521837bec59b57880231ef1b6;p=platform%2Fupstream%2Fgstreamer.git basetransform: copy metadata when using a pool also copy the metadata when we allocated a new buffer from a pool --- diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c index 2da03ac..8bc6247 100644 --- a/libs/gst/base/gstbasetransform.c +++ b/libs/gst/base/gstbasetransform.c @@ -1447,7 +1447,7 @@ default_prepare_output_buffer (GstBaseTransform * trans, if (priv->pool) { GST_DEBUG_OBJECT (trans, "using pool alloc"); ret = gst_buffer_pool_acquire_buffer (priv->pool, outbuf, NULL); - goto done; + goto copy_meta; } /* no pool, we need to figure out the size of the output buffer first */ @@ -1483,6 +1483,7 @@ default_prepare_output_buffer (GstBaseTransform * trans, GST_DEBUG_OBJECT (trans, "doing alloc of size %" G_GSIZE_FORMAT, outsize); *outbuf = gst_buffer_new_allocate (priv->allocator, outsize, priv->alignment); +copy_meta: /* copy the metadata */ if (bclass->copy_metadata) if (!bclass->copy_metadata (trans, inbuf, *outbuf)) {