Mercurial > libavformat.hg
changeset 4005:476a5d7182db libavformat
fix for >2GB flv files
author | skal |
---|---|
date | Fri, 24 Oct 2008 16:46:43 +0000 |
parents | 677bcb3b65cd |
children | cf359952a1fc |
files | flvdec.c |
diffstat | 1 files changed, 6 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/flvdec.c Fri Oct 24 01:42:57 2008 +0000 +++ b/flvdec.c Fri Oct 24 16:46:43 2008 +0000 @@ -106,7 +106,7 @@ return length; } -static int amf_parse_object(AVFormatContext *s, AVStream *astream, AVStream *vstream, const char *key, unsigned int max_pos, int depth) { +static int amf_parse_object(AVFormatContext *s, AVStream *astream, AVStream *vstream, const char *key, int64_t max_pos, int depth) { AVCodecContext *acodec, *vcodec; ByteIOContext *ioc; AMFDataType amf_type; @@ -208,7 +208,7 @@ return 0; } -static int flv_read_metabody(AVFormatContext *s, unsigned int next_pos) { +static int flv_read_metabody(AVFormatContext *s, int64_t next_pos) { AMFDataType type; AVStream *stream, *astream, *vstream; ByteIOContext *ioc; @@ -296,7 +296,8 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt) { - int ret, i, type, size, flags, is_audio, next, pos; + int ret, i, type, size, flags, is_audio; + int64_t next, pos; unsigned dts; AVStream *st = NULL; @@ -370,8 +371,8 @@ // if not streamed and no duration from metadata then seek to end to find the duration from the timestamps if(!url_is_streamed(s->pb) && s->duration==AV_NOPTS_VALUE){ int size; - const int pos= url_ftell(s->pb); - const int fsize= url_fsize(s->pb); + const int64_t pos= url_ftell(s->pb); + const int64_t fsize= url_fsize(s->pb); url_fseek(s->pb, fsize-4, SEEK_SET); size= get_be32(s->pb); url_fseek(s->pb, fsize-3-size, SEEK_SET);