id3v2.4.0 uses syncsafe integers for sizes of frames.
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 29 Jun 2009 18:36:49 +0000 (18:36 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 29 Jun 2009 18:36:49 +0000 (18:36 +0000)
Fixes issue1234
Fixes regression introduced in r19275

Originally committed as revision 19291 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/id3v2.c

index 9a24638..43775ce 100644 (file)
@@ -155,7 +155,10 @@ void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t flags)
     while (len >= taghdrlen) {
         if (isv34) {
             tag  = get_be32(s->pb);
+            if(version==3){
             tlen = get_be32(s->pb);
+            }else
+                tlen = get_size(s->pb, 4);
             get_be16(s->pb); /* flags */
         } else {
             tag  = get_be24(s->pb);