summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeungha Yang <seungha@centricular.com>2024-04-28 23:37:55 +0900
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2024-04-28 15:31:19 +0000
commitcb20a371c272696eeb18723456aa0ad1b9d0ca37 (patch)
tree4ab79efec0b271daa069e2ddb8f33334ec11990e
parent84f4068036c13929c70235a4f3d605e892c319b7 (diff)
d3d12decoder: Fix d3d12 resource copy
It was copying to self resource Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6753>
-rw-r--r--subprojects/gst-plugins-bad/sys/d3d12/gstd3d12decoder.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12decoder.cpp b/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12decoder.cpp
index fe55884dc2..2a9517d0ce 100644
--- a/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12decoder.cpp
+++ b/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12decoder.cpp
@@ -1447,7 +1447,6 @@ gst_d3d12_decoder_process_output (GstD3D12Decoder * self,
frame->output_buffer = gst_buffer_ref (buffer);
} else {
- GstMemory *mem;
ID3D12Resource *out_resource = nullptr;
UINT out_subresource[2];
@@ -1457,17 +1456,19 @@ gst_d3d12_decoder_process_output (GstD3D12Decoder * self,
goto error;
}
- mem = gst_buffer_peek_memory (frame->output_buffer, 0);
- if (gst_is_d3d12_memory (mem)) {
- dmem = GST_D3D12_MEMORY_CAST (mem);
+ auto out_mem = gst_buffer_peek_memory (frame->output_buffer, 0);
+ if (gst_is_d3d12_memory (out_mem)) {
+ auto out_dmem = GST_D3D12_MEMORY_CAST (out_mem);
if (gst_d3d12_device_is_equal (dmem->device, self->device)) {
- out_resource = gst_d3d12_memory_get_resource_handle (dmem);
- gst_d3d12_memory_get_subresource_index (dmem, 0, &out_subresource[0]);
- gst_d3d12_memory_get_subresource_index (dmem, 1, &out_subresource[1]);
+ out_resource = gst_d3d12_memory_get_resource_handle (out_dmem);
+ gst_d3d12_memory_get_subresource_index (out_dmem, 0,
+ &out_subresource[0]);
+ gst_d3d12_memory_get_subresource_index (out_dmem, 1,
+ &out_subresource[1]);
- GST_MINI_OBJECT_FLAG_SET (dmem,
+ GST_MINI_OBJECT_FLAG_SET (out_dmem,
GST_D3D12_MEMORY_TRANSFER_NEED_DOWNLOAD);
- GST_MINI_OBJECT_FLAG_UNSET (dmem,
+ GST_MINI_OBJECT_FLAG_UNSET (out_dmem,
GST_D3D12_MEMORY_TRANSFER_NEED_UPLOAD);
}
}