device_uninit will be called by hwdevice_ctx_free. It's not a real
issue now since all of the implementaions have reentrant uninit,
but it was, e.g., f6d49a0. We can remove the restriction, and make
the code more simple.
---
 libavutil/hwcontext.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/libavutil/hwcontext.c b/libavutil/hwcontext.c
index ab9ad3703e..8149f4e18b 100644
--- a/libavutil/hwcontext.c
+++ b/libavutil/hwcontext.c
@@ -201,18 +201,12 @@ fail:
 int av_hwdevice_ctx_init(AVBufferRef *ref)
 {
     AVHWDeviceContext *ctx = (AVHWDeviceContext*)ref->data;
-    int ret;
+    int ret = 0;
 
     if (ctx->internal->hw_type->device_init) {
         ret = ctx->internal->hw_type->device_init(ctx);
-        if (ret < 0)
-            goto fail;
     }
 
-    return 0;
-fail:
-    if (ctx->internal->hw_type->device_uninit)
-        ctx->internal->hw_type->device_uninit(ctx);
     return ret;
 }
 
-- 
2.31.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to