Mercurial > libavcodec.hg
changeset 3512:feace06d4184 libavcodec
Do not crash when the first frame is not a keyframe (and thus none of the
necessary initialization has been done yet).
author | reimar |
---|---|
date | Sun, 23 Jul 2006 18:22:29 +0000 |
parents | f88787aeed6b |
children | 634ad7b3a198 |
files | vp3.c |
diffstat | 1 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/vp3.c Sun Jul 23 04:57:36 2006 +0000 +++ b/vp3.c Sun Jul 23 18:22:29 2006 +0000 @@ -2235,10 +2235,15 @@ 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;