From ab80c771dfa1c66371923ceb70653f207b8c0b8a Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Thu, 26 Dec 2019 16:03:31 +0900 Subject: [PATCH] d3d11upload: Don't hard overwrite caps features to support d3d11 memory passthrough d3d11upload should be able to support upstream d3d11 memory, not only system memory. Fix for following pipeline d3d11upload ! "video/x-raw(memory:D3D11Memory)" ! d3d11videosink --- sys/d3d11/gstd3d11upload.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/d3d11/gstd3d11upload.c b/sys/d3d11/gstd3d11upload.c index 08ae56f..ff43bfe 100644 --- a/sys/d3d11/gstd3d11upload.c +++ b/sys/d3d11/gstd3d11upload.c @@ -167,8 +167,12 @@ gst_d3d11_upload_transform_caps (GstBaseTransform * trans, if (direction == GST_PAD_SINK) { tmp = _set_caps_features (caps, GST_CAPS_FEATURE_MEMORY_D3D11_MEMORY); + tmp = gst_caps_merge (gst_caps_ref (caps), tmp); } else { - tmp = _set_caps_features (caps, GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY); + GstCaps *newcaps; + tmp = gst_caps_ref (caps); + newcaps = _set_caps_features (caps, GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY); + tmp = gst_caps_merge (tmp, newcaps); } if (filter) { -- 2.7.4