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".