comparison wv.c @ 1387:e7412266a076 libavformat

Move block size check to decoder
author kostya
date Sat, 14 Oct 2006 05:01:05 +0000
parents bc6d64f0ab7a
children 9ed80abc8eb7
comparison
equal deleted inserted replaced
1386:3e12e3ca0ce3 1387:e7412266a076
169 if(wc->block_parsed){ 169 if(wc->block_parsed){
170 if(wv_read_block_header(s, &s->pb) < 0) 170 if(wv_read_block_header(s, &s->pb) < 0)
171 return -1; 171 return -1;
172 } 172 }
173 173
174 samples = LE_32(wc->extra);
175 /* should not happen but who knows */
176 if(samples * 2 * wc->chan > AVCODEC_MAX_AUDIO_FRAME_SIZE){
177 av_log(s, AV_LOG_ERROR, "Packet size is too big to be handled in lavc!\n");
178 return -EIO;
179 }
180 if(av_new_packet(pkt, wc->blksize + WV_EXTRA_SIZE) < 0) 174 if(av_new_packet(pkt, wc->blksize + WV_EXTRA_SIZE) < 0)
181 return AVERROR_NOMEM; 175 return AVERROR_NOMEM;
182 memcpy(pkt->data, wc->extra, WV_EXTRA_SIZE); 176 memcpy(pkt->data, wc->extra, WV_EXTRA_SIZE);
183 ret = get_buffer(&s->pb, pkt->data + WV_EXTRA_SIZE, wc->blksize); 177 ret = get_buffer(&s->pb, pkt->data + WV_EXTRA_SIZE, wc->blksize);
184 if(ret != wc->blksize){ 178 if(ret != wc->blksize){