Mercurial > libavcodec.hg
comparison ffv1.c @ 3103:cfc5b4a05633 libavcodec
fix segfault on broken streams
author | michael |
---|---|
date | Thu, 09 Feb 2006 09:38:03 +0000 |
parents | 0b546eab515d |
children | 6baa0bfee0b8 |
comparison
equal
deleted
inserted
replaced
3102:fcc2892eeab3 | 3103:cfc5b4a05633 |
---|---|
957 | 957 |
958 | 958 |
959 p->pict_type= FF_I_TYPE; //FIXME I vs. P | 959 p->pict_type= FF_I_TYPE; //FIXME I vs. P |
960 if(get_rac(c, &keystate)){ | 960 if(get_rac(c, &keystate)){ |
961 p->key_frame= 1; | 961 p->key_frame= 1; |
962 read_header(f); | 962 if(read_header(f) < 0) |
963 return -1; | |
963 clear_state(f); | 964 clear_state(f); |
964 }else{ | 965 }else{ |
965 p->key_frame= 0; | 966 p->key_frame= 0; |
966 } | 967 } |
968 if(!f->plane[0].state && !f->plane[0].vlc_state) | |
969 return -1; | |
967 | 970 |
968 p->reference= 0; | 971 p->reference= 0; |
969 if(avctx->get_buffer(avctx, p) < 0){ | 972 if(avctx->get_buffer(avctx, p) < 0){ |
970 av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); | 973 av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); |
971 return -1; | 974 return -1; |