From 27c02a0b80417c647d5dfd70b1c586293172369a Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Mon, 22 Apr 2024 19:32:22 +0900 Subject: [PATCH] d3d12decoder: Hold reference pictures in fence data Keep reference pictures alive during executing decoding commands Part-of: --- subprojects/gst-plugins-bad/sys/d3d12/gstd3d12decoder.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12decoder.cpp b/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12decoder.cpp index 4cb30c4daa..5cf827a57c 100644 --- a/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12decoder.cpp +++ b/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12decoder.cpp @@ -1312,6 +1312,11 @@ gst_d3d12_decoder_end_picture (GstD3D12Decoder * decoder, gst_d3d12_fence_data_pool_acquire (priv->fence_data_pool, &fence_data); gst_d3d12_fence_data_add_notify_mini_object (fence_data, gst_mini_object_ref (decoder_pic)); + for (guint i = 0; i < ref_pics->len; i++) { + auto ref_pic = (GstCodecPicture *) g_ptr_array_index (ref_pics, i); + gst_d3d12_fence_data_add_notify_mini_object (fence_data, + gst_codec_picture_ref (ref_pic)); + } gst_d3d12_fence_data_add_notify_mini_object (fence_data, gst_ca); gst_d3d12_command_queue_set_notify (priv->cmd->queue, priv->cmd->fence_val,