lavf: split out ffio_limit()
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 19 Dec 2011 10:46:34 +0000 (11:46 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 19 Dec 2011 10:57:34 +0000 (11:57 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/avio_internal.h
libavformat/utils.c

index f140897..df614b2 100644 (file)
@@ -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);
index f0df759..edcae2f 100644 (file)
@@ -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);