# HG changeset patch # User reimar # Date 1153678949 0 # Node ID feace06d418464995853d35d3d57f1665242d1bb # Parent f88787aeed6b88a49d9c1d5372dabe78ba770c96 Do not crash when the first frame is not a keyframe (and thus none of the necessary initialization has been done yet). diff -r f88787aeed6b -r feace06d4184 vp3.c --- 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;