[SCM] libav/experimental: Do not crash when the first frame is not a keyframe (and thus none of the necessary initialization has been done yet).
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 15:49:21 UTC 2013
The following commit has been merged in the experimental branch:
commit bc185f72c0ef515d1d077df5bad2fb1336f70d5e
Author: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
Date: Sun Jul 23 18:22:29 2006 +0000
Do not crash when the first frame is not a keyframe (and thus none of the
necessary initialization has been done yet).
Originally committed as revision 5815 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index eb9e917..b5cfbb0 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -2235,10 +2235,15 @@ static int vp3_decode_frame(AVCodecContext *avctx,
vp3_calculate_pixel_addresses(s);
else
theora_calculate_pixel_addresses(s);
+ s->pixel_addresses_inited = 1;
}
} else {
/* allocate a new current frame */
s->current_frame.reference = 3;
+ if (!s->pixel_addresses_inited) {
+ av_log(s->avctx, AV_LOG_ERROR, "vp3: first frame not a keyframe\n");
+ return -1;
+ }
if(avctx->get_buffer(avctx, &s->current_frame) < 0) {
av_log(s->avctx, AV_LOG_ERROR, "vp3: get_buffer() failed\n");
return -1;
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list