From e39eeb10d1b36b5681e42a7539d5b168fa292d61 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 19 Dec 2011 11:46:34 +0100 Subject: [PATCH] lavf: split out ffio_limit() Signed-off-by: Michael Niedermayer --- libavformat/avio_internal.h | 2 ++ libavformat/utils.c | 12 ++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/libavformat/avio_internal.h b/libavformat/avio_internal.h index f140897c5d..df614b22d9 100644 --- a/libavformat/avio_internal.h +++ b/libavformat/avio_internal.h @@ -71,6 +71,8 @@ uint64_t ffio_read_varlen(AVIOContext *bc); /** @warning must be called before any I/O */ int ffio_set_buf_size(AVIOContext *s, int buf_size); +int ffio_limit(AVIOContext *s, int size); + void ffio_init_checksum(AVIOContext *s, unsigned long (*update_checksum)(unsigned long c, const uint8_t *p, unsigned int len), unsigned long checksum); diff --git a/libavformat/utils.c b/libavformat/utils.c index f0df759bf5..edcae2fe37 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -264,11 +264,8 @@ AVInputFormat *av_find_input_format(const char *short_name) return NULL; } - -int av_get_packet(AVIOContext *s, AVPacket *pkt, int size) +int ffio_limit(AVIOContext *s, int size) { - int ret; - if(s->maxsize>=0){ int64_t remaining= s->maxsize - avio_tell(s); if(remaining < size){ @@ -283,6 +280,13 @@ int av_get_packet(AVIOContext *s, AVPacket *pkt, int size) size= remaining+1; } } + return size; +} + +int av_get_packet(AVIOContext *s, AVPacket *pkt, int size) +{ + int ret; + size= ffio_limit(s, size); ret= av_new_packet(pkt, size);