summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2005-11-11 17:04:10 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2005-11-11 17:04:10 +0000
commitc2a0406e107cbab2bf30682fea4b6623f4c3da0c (patch)
treebe3f5fd58d3b7d3ffbef63361a97ba12f8bb5e7f
parent00928af4dd25b00ee337502ec37952fbe7d01322 (diff)
downloadrockbox-c2a0406e107cbab2bf30682fea4b6623f4c3da0c.zip
rockbox-c2a0406e107cbab2bf30682fea4b6623f4c3da0c.tar.gz
rockbox-c2a0406e107cbab2bf30682fea4b6623f4c3da0c.tar.bz2
rockbox-c2a0406e107cbab2bf30682fea4b6623f4c3da0c.tar.xz
The ID3v2 parser can now correctly skip to the next frame after parsing a frame larger than the input buffer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7811 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/id3.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/firmware/id3.c b/firmware/id3.c
index 9522f5f..67a277f 100644
--- a/firmware/id3.c
+++ b/firmware/id3.c
@@ -801,6 +801,10 @@ static void setid3v2title(int fd, struct mp3entry *entry)
if( tr->ppFunc )
bufferpos = tr->ppFunc(entry, tag, bufferpos);
+
+ /* Seek to the next frame */
+ if(framelen < totframelen)
+ lseek(fd, totframelen - framelen, SEEK_CUR);
break;
}
}