From: Jeongmo Yang Date: Thu, 18 May 2023 03:14:50 +0000 (+0900) Subject: videoconvertscale: Fix prepare output buffer error X-Git-Tag: accepted/tizen/unified/20230605.170352~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7d15879f8e6533608f159099b976050d6469ef03;p=platform%2Fupstream%2Fgstreamer.git videoconvertscale: Fix prepare output buffer error - It's not considered that tizen buffer pool is not created. [Version] 1.22.0-29 [Issue Type] Bug fix Change-Id: I073c2374a9a6a49b1f71ddd00d4c6f2fecf2b96a Signed-off-by: Jeongmo Yang --- diff --git a/packaging/gstreamer.spec b/packaging/gstreamer.spec index 36664e9..7480b73 100644 --- a/packaging/gstreamer.spec +++ b/packaging/gstreamer.spec @@ -62,7 +62,7 @@ Name: %{_name} Version: 1.22.0 -Release: 28 +Release: 29 Summary: Streaming-Media Framework Runtime License: LGPL-2.0+ Group: Multimedia/Framework diff --git a/subprojects/gst-plugins-base/gst/videoconvertscale/gstvideoconvertscale.c b/subprojects/gst-plugins-base/gst/videoconvertscale/gstvideoconvertscale.c index 4613371..cd2bab1 100644 --- a/subprojects/gst-plugins-base/gst/videoconvertscale/gstvideoconvertscale.c +++ b/subprojects/gst-plugins-base/gst/videoconvertscale/gstvideoconvertscale.c @@ -1881,23 +1881,24 @@ gst_video_convert_scale_prepare_output_buffer (GstBaseTransform * trans, GstBuffer *input, GstBuffer **outbuf) { GstVideoConvertScalePrivate *priv = PRIV (trans); - GstVideoFilter *filter = GST_VIDEO_FILTER_CAST (trans); + GstVideoConvertScale *self = GST_VIDEO_CONVERT_SCALE_CAST (trans); GstBuffer *buf = NULL; - if (filter->out_info.finfo->format == GST_VIDEO_FORMAT_SN12 ) { - if (gst_buffer_pool_acquire_buffer (priv->pool, &buf, 0) != GST_FLOW_OK) { - GST_ERROR_OBJECT (trans, "Buffer acquire failed"); - return GST_FLOW_ERROR; - } + if (!priv->pool) + return GST_BASE_TRANSFORM_CLASS (parent_class)->prepare_output_buffer (trans, input, outbuf); - if (input != buf) - GST_BASE_TRANSFORM_CLASS (parent_class)->copy_metadata (trans, input, buf); + if (gst_buffer_pool_acquire_buffer (priv->pool, &buf, 0) != GST_FLOW_OK) { + GST_ERROR_OBJECT (trans, "Buffer acquire failed"); + return GST_FLOW_ERROR; + } - *outbuf = buf; + GST_DEBUG_OBJECT (self, "acquired buffer %p", buf); - return GST_FLOW_OK; - } + if (input != buf) + GST_BASE_TRANSFORM_CLASS (parent_class)->copy_metadata (trans, input, buf); + + *outbuf = buf; - return GST_BASE_TRANSFORM_CLASS (parent_class)->prepare_output_buffer (trans, input, outbuf); + return GST_FLOW_OK; } #endif