|
|
@@ -643,12 +643,13 @@ static int avi_read_packet(AVFormatContext *s, AVPacket *pkt) |
|
|
|
{ |
|
|
|
AVIContext *avi = s->priv_data; |
|
|
|
ByteIOContext *pb = s->pb; |
|
|
|
int n, d[8], size; |
|
|
|
int n, d[8]; |
|
|
|
unsigned int size; |
|
|
|
int64_t i, sync; |
|
|
|
void* dstr; |
|
|
|
|
|
|
|
if (CONFIG_DV_DEMUXER && avi->dv_demux) { |
|
|
|
size = dv_get_packet(avi->dv_demux, pkt); |
|
|
|
int size = dv_get_packet(avi->dv_demux, pkt); |
|
|
|
if (size >= 0) |
|
|
|
return size; |
|
|
|
} |
|
|
@@ -788,7 +789,7 @@ resync: |
|
|
|
|
|
|
|
n= get_stream_idx(d+2); |
|
|
|
//av_log(s, AV_LOG_DEBUG, "%X %X %X %X %X %X %X %X %"PRId64" %d %d\n", d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7], i, size, n); |
|
|
|
if(i + size > avi->fsize || d[0]<0) |
|
|
|
if(i + (uint64_t)size > avi->fsize || d[0]<0) |
|
|
|
continue; |
|
|
|
|
|
|
|
//parse ix## |
|
|
|