diff --git a/libavcodec/frame_thread_encoder.c b/libavcodec/frame_thread_encoder.c index 04c9a0eb0c..27ae356af3 100644 --- a/libavcodec/frame_thread_encoder.c +++ b/libavcodec/frame_thread_encoder.c @@ -89,7 +89,9 @@ static void * attribute_align_arg worker(void *v){ pthread_mutex_unlock(&c->buffer_mutex); av_frame_free(&frame); if(got_packet) { - av_dup_packet(pkt); + int ret2 = av_dup_packet(pkt); + if (ret >= 0 && ret2 < 0) + ret = ret2; } else { pkt->data = NULL; pkt->size = 0;