From 766074133f9711e440144a940ac0ad32a8b8e5d7 Mon Sep 17 00:00:00 2001 From: tknaveen Date: Thu, 30 Apr 2026 16:43:49 +0530 Subject: [PATCH] avfilter/dnn_backend_torch: fix missing ret in async error path ff_dnn_start_inference_async() return value was not stored in ret, causing execute_model_th() to return success on async startup failure. This left vf_dnn_processing stuck in its flush loop waiting on a task that was never started. --- libavfilter/dnn/dnn_backend_torch.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavfilter/dnn/dnn_backend_torch.cpp b/libavfilter/dnn/dnn_backend_torch.cpp index 24a202f493..62bf7d9e9e 100644 --- a/libavfilter/dnn/dnn_backend_torch.cpp +++ b/libavfilter/dnn/dnn_backend_torch.cpp @@ -342,7 +342,11 @@ static int execute_model_th(THRequestItem *request, Queue *lltask_queue) } if (task->async) { - return ff_dnn_start_inference_async(th_model->ctx, &request->exec_module); + ret = ff_dnn_start_inference_async(th_model->ctx, &request->exec_module); + if (ret != 0) { + goto err; + } + return 0; } else { // Synchronous execution path ret = th_start_inference((void *)(request));