diff options
author | Mark Thompson <sw@jkqxz.net> | 2017-06-26 20:28:07 +0100 |
---|---|---|
committer | Mark Thompson <sw@jkqxz.net> | 2017-11-22 23:20:32 +0000 |
commit | 0f93cef2d6405f07b42719506cbde30f07dd8702 (patch) | |
tree | 830e0a1a97503bd2ebe9f0658f2c473f5ea79201 /libavutil/hwcontext.c | |
parent | 5514bab37a26f36753b756a2f0ceb837d055850f (diff) | |
download | ffmpeg-0f93cef2d6405f07b42719506cbde30f07dd8702.tar.gz |
hwcontext: Perform usual uninitialisation on derived frames contexts
Diffstat (limited to 'libavutil/hwcontext.c')
-rw-r--r-- | libavutil/hwcontext.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/libavutil/hwcontext.c b/libavutil/hwcontext.c index b26e68fe77..f47158f811 100644 --- a/libavutil/hwcontext.c +++ b/libavutil/hwcontext.c @@ -217,19 +217,16 @@ static void hwframe_ctx_free(void *opaque, uint8_t *data) { AVHWFramesContext *ctx = (AVHWFramesContext*)data; - if (ctx->internal->source_frames) { - av_buffer_unref(&ctx->internal->source_frames); + if (ctx->internal->pool_internal) + av_buffer_pool_uninit(&ctx->internal->pool_internal); - } else { - if (ctx->internal->pool_internal) - av_buffer_pool_uninit(&ctx->internal->pool_internal); + if (ctx->internal->hw_type->frames_uninit) + ctx->internal->hw_type->frames_uninit(ctx); - if (ctx->internal->hw_type->frames_uninit) - ctx->internal->hw_type->frames_uninit(ctx); + if (ctx->free) + ctx->free(ctx); - if (ctx->free) - ctx->free(ctx); - } + av_buffer_unref(&ctx->internal->source_frames); av_buffer_unref(&ctx->device_ref); |