summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/pthread_frame.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c
index 3255aa9337..f8a01ad8cd 100644
--- a/libavcodec/pthread_frame.c
+++ b/libavcodec/pthread_frame.c
@@ -297,16 +297,9 @@ static int update_context_from_thread(AVCodecContext *dst, AVCodecContext *src,
dst->hwaccel_flags = src->hwaccel_flags;
- if (!!dst->internal->pool != !!src->internal->pool ||
- (dst->internal->pool && dst->internal->pool->data != src->internal->pool->data)) {
- av_buffer_unref(&dst->internal->pool);
-
- if (src->internal->pool) {
- dst->internal->pool = av_buffer_ref(src->internal->pool);
- if (!dst->internal->pool)
- return AVERROR(ENOMEM);
- }
- }
+ err = av_buffer_replace(&dst->internal->pool, src->internal->pool);
+ if (err < 0)
+ return err;
}
if (for_user) {