diff options
author | Matthew Waters <matthew@centricular.com> | 2016-04-09 17:52:28 +1000 |
---|---|---|
committer | Matthew Waters <matthew@centricular.com> | 2016-04-11 14:18:47 +1000 |
commit | b76fcfd3f71ca82ce5bc8323b8ca236721675825 (patch) | |
tree | d7fbcdbe41ffa40fde6f3276976e8ad8fe48664c /ext/vulkan | |
parent | b73d2586ceeb5b70bb840398f1fb70ccf8a2c386 (diff) |
vkupload: copy necessary buffer metadata
timestamps, flags, etc
Diffstat (limited to 'ext/vulkan')
-rw-r--r-- | ext/vulkan/vkupload.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/vulkan/vkupload.c b/ext/vulkan/vkupload.c index 95c36cfb2..c0f0a9791 100644 --- a/ext/vulkan/vkupload.c +++ b/ext/vulkan/vkupload.c @@ -787,6 +787,7 @@ static GstFlowReturn gst_vulkan_upload_prepare_output_buffer (GstBaseTransform * bt, GstBuffer * inbuf, GstBuffer ** outbuf) { + GstBaseTransformClass *bclass = GST_BASE_TRANSFORM_GET_CLASS (bt); GstVulkanUpload *vk_upload = GST_VULKAN_UPLOAD (bt); GstFlowReturn ret; @@ -818,6 +819,12 @@ gst_vulkan_upload_prepare_output_buffer (GstBaseTransform * bt, } } while (FALSE); + if (ret == GST_FLOW_OK) { + /* basetransform doesn't unref if they're the same */ + if (inbuf != *outbuf) + bclass->copy_metadata (bt, inbuf, *outbuf); + } + return ret; } |