From 7a4e8b59131cccd750cfcb78e41049982c66c1aa Mon Sep 17 00:00:00 2001 From: David Conrad Date: Tue, 9 Mar 2010 00:29:22 +0000 Subject: [PATCH] vp3: Allocate a dummy reference frame if we have no keyframe Originally committed as revision 22360 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/vp3.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index b874ee7f72..01438097b8 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -1835,8 +1835,14 @@ static int vp3_decode_frame(AVCodecContext *avctx, } } else { if (!s->golden_frame.data[0]) { - av_log(s->avctx, AV_LOG_ERROR, "vp3: first frame not a keyframe\n"); - goto error; + av_log(s->avctx, AV_LOG_WARNING, "vp3: first frame not a keyframe\n"); + s->golden_frame.reference = 3; + if (avctx->get_buffer(avctx, &s->golden_frame) < 0) { + av_log(s->avctx, AV_LOG_ERROR, "get_buffer() failed\n"); + goto error; + } + s->last_frame = s->golden_frame; + s->last_frame.type = FF_BUFFER_TYPE_COPY; } }