]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/nutdec.c
handle http error codes
[ffmpeg] / libavformat / nutdec.c
index 7e0f8cd9347f65b37a6a5e70355d445601bf40d6..ec1c04e0f921c5e42d0cafe13c4ae7c5785119ba 100644 (file)
 
 static uint64_t get_v(ByteIOContext *bc){
     uint64_t val = 0;
+    int tmp;
 
-    for(;;)
-    {
-        int tmp = get_byte(bc);
-
-        if (tmp&0x80)
-            val= (val<<7) + tmp - 0x80;
-        else{
-            return (val<<7) + tmp;
-        }
-    }
-    return -1;
+    do{
+        tmp = get_byte(bc);
+        val= (val<<7) + (tmp&127);
+    }while(tmp&128);
+    return val;
 }
 
 static int get_str(ByteIOContext *bc, char *string, unsigned int maxlen){
@@ -109,6 +104,8 @@ static int get_packetheader(NUTContext *nut, ByteIOContext *bc, int calculate_ch
 //    start= url_ftell(bc) - 8;
 
     size= get_v(bc);
+    if(size > 4096)
+        get_be32(bc); //FIXME check this
 
     init_checksum(bc, calculate_checksum ? av_crc04C11DB7_update : NULL, 0);