videoconvertscale: Fix prepare output buffer error 08/293008/1
authorJeongmo Yang <jm80.yang@samsung.com>
Thu, 18 May 2023 03:14:50 +0000 (12:14 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Thu, 18 May 2023 03:14:50 +0000 (12:14 +0900)
- 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 <jm80.yang@samsung.com>
packaging/gstreamer.spec
subprojects/gst-plugins-base/gst/videoconvertscale/gstvideoconvertscale.c

index 36664e9..7480b73 100644 (file)
@@ -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
index 4613371..cd2bab1 100644 (file)
@@ -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