Mercurial > libavformat.hg
changeset 5001:4da68099d180 libavformat
Change find_tag return type to int64_t, fix a bug
where size is negative and url_fseek then seek backward
causing infinite loop. This also support 4gb unsigned size.
author | bcoudurier |
---|---|
date | Wed, 03 Jun 2009 22:36:59 +0000 |
parents | e57ded024980 |
children | dc92e7858140 |
files | wav.c |
diffstat | 1 files changed, 3 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/wav.c Tue Jun 02 07:53:44 2009 +0000 +++ b/wav.c Wed Jun 03 22:36:59 2009 +0000 @@ -118,11 +118,10 @@ #endif /* CONFIG_WAV_MUXER */ /* return the size of the found tag */ -/* XXX: > 2GB ? */ -static int find_tag(ByteIOContext *pb, uint32_t tag1) +static int64_t find_tag(ByteIOContext *pb, uint32_t tag1) { unsigned int tag; - int size; + int64_t size; for(;;) { if (url_feof(pb)) @@ -133,8 +132,6 @@ break; url_fseek(pb, size, SEEK_CUR); } - if (size < 0) - size = 0x7fffffff; return size; } @@ -161,7 +158,7 @@ static int wav_read_header(AVFormatContext *s, AVFormatParameters *ap) { - int size; + int64_t size; unsigned int tag; ByteIOContext *pb = s->pb; AVStream *st;