Commit a8e795f525 for ffmpeg
commit a8e795f525d219f41bff44385d7218446d2ef5c5
Author: Rafael Henrique Gonçalves de Oliveira <rafaelh9six@gmail.com>
Date: Fri Oct 23 20:41:41 2026 -0300
avfilter/vsrc_gfxcapture: lock the device context around ExecuteCommandList
The immediate context is shared with the rest of the hw device's users,
and AVD3D11VADeviceContext's lock is what serializes calls on it.
Signed-off-by: Rafael Henrique Gonçalves de Oliveira <rafaelh9six@gmail.com>
diff --git a/libavfilter/vsrc_gfxcapture_winrt.cpp b/libavfilter/vsrc_gfxcapture_winrt.cpp
index ddc6a7df2d..4b1c43700d 100644
--- a/libavfilter/vsrc_gfxcapture_winrt.cpp
+++ b/libavfilter/vsrc_gfxcapture_winrt.cpp
@@ -1389,7 +1389,9 @@ static int render_capture_to_frame(AVFilterContext *avctx, AVFrame *frame, const
ComPtr<ID3D11CommandList> cmd_list;
CHECK_HR_RET(def_ctx->FinishCommandList(FALSE, &cmd_list));
+ ctx->device_hwctx->lock(ctx->device_hwctx->lock_ctx);
dev_ctx->ExecuteCommandList(cmd_list.Get(), FALSE);
+ ctx->device_hwctx->unlock(ctx->device_hwctx->lock_ctx);
return 0;
}