OSDN Git Service

avidec: simplify convoluted flow in avi_load_index()
authorMans Rullgard <mans@mansr.com>
Sun, 3 Jul 2011 01:54:58 +0000 (02:54 +0100)
committerMans Rullgard <mans@mansr.com>
Sun, 3 Jul 2011 02:16:00 +0000 (03:16 +0100)
Signed-off-by: Mans Rullgard <mans@mansr.com>
libavformat/avidec.c

index 871da0b..a00b9ce 100644 (file)
@@ -1241,20 +1241,16 @@ static int avi_load_index(AVFormatContext *s)
                 (tag >> 16) & 0xff,
                 (tag >> 24) & 0xff,
                 size);
-        switch(tag) {
-        case MKTAG('i', 'd', 'x', '1'):
-            if (avi_read_idx1(s, size) < 0)
-                goto skip;
+
+        if (tag == MKTAG('i', 'd', 'x', '1') &&
+            avi_read_idx1(s, size) >= 0) {
             ret = 0;
-                goto the_end;
-            break;
-        default:
-        skip:
-            size += (size & 1);
-            if (avio_skip(pb, size) < 0)
-                goto the_end; // something is wrong here
             break;
         }
+
+        size += (size & 1);
+        if (avio_skip(pb, size) < 0)
+            break; // something is wrong here
     }
  the_end:
     avio_seek(pb, pos, SEEK_SET);