Commit 8feac29c authored by Anton Khirnov's avatar Anton Khirnov

lavc: use AVFrame API properly in ff_reget_buffer()

parent 1155fd02
...@@ -754,7 +754,7 @@ FF_ENABLE_DEPRECATION_WARNINGS ...@@ -754,7 +754,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
int ff_reget_buffer(AVCodecContext *avctx, AVFrame *frame) int ff_reget_buffer(AVCodecContext *avctx, AVFrame *frame)
{ {
AVFrame tmp; AVFrame *tmp;
int ret; int ret;
av_assert0(avctx->codec_type == AVMEDIA_TYPE_VIDEO); av_assert0(avctx->codec_type == AVMEDIA_TYPE_VIDEO);
...@@ -768,18 +768,20 @@ int ff_reget_buffer(AVCodecContext *avctx, AVFrame *frame) ...@@ -768,18 +768,20 @@ int ff_reget_buffer(AVCodecContext *avctx, AVFrame *frame)
return 0; return 0;
} }
av_frame_move_ref(&tmp, frame); tmp = av_frame_alloc();
if (!tmp)
return AVERROR(ENOMEM);
av_frame_move_ref(tmp, frame);
ret = ff_get_buffer(avctx, frame, AV_GET_BUFFER_FLAG_REF); ret = ff_get_buffer(avctx, frame, AV_GET_BUFFER_FLAG_REF);
if (ret < 0) { if (ret < 0) {
av_frame_unref(&tmp); av_frame_free(&tmp);
return ret; return ret;
} }
av_image_copy(frame->data, frame->linesize, tmp.data, tmp.linesize, av_frame_copy(frame, tmp);
frame->format, frame->width, frame->height); av_frame_free(&tmp);
av_frame_unref(&tmp);
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment