diff options
author | Andree Buschmann <AndreeBuschmann@t-online.de> | 2010-01-31 11:43:42 +0000 |
---|---|---|
committer | Andree Buschmann <AndreeBuschmann@t-online.de> | 2010-01-31 11:43:42 +0000 |
commit | db4d7a313e10d085218a95f9176b12287a300d7c (patch) | |
tree | 755ba6a2ae831cee6652ff8e922de1b8bf492a3c /apps/metadata/mpc.c | |
parent | 4c96bb54c60e10b190f2421a3bcb69a96381fce9 (diff) |
1st part of fix for FS#10637. Correction of mpc header parsing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24408 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/metadata/mpc.c')
-rw-r--r-- | apps/metadata/mpc.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/metadata/mpc.c b/apps/metadata/mpc.c index e20ac3e8a2..3f8907a934 100644 --- a/apps/metadata/mpc.c +++ b/apps/metadata/mpc.c @@ -66,9 +66,7 @@ bool get_musepack_metadata(int fd, struct mp3entry *id3) header[0] = letoh32(header[0]); streamversion = (header[0] >> 24) & 15; - if (streamversion >= 8) { - return false; /* SV8 or higher don't exist yet, so no support */ - } else if (streamversion == 7) { + if (streamversion == 7) { unsigned int gapless = (header[5] >> 31) & 0x0001; unsigned int last_frame_samples = (header[5] >> 20) & 0x07ff; unsigned int bufused = 0; @@ -82,7 +80,11 @@ bool get_musepack_metadata(int fd, struct mp3entry *id3) bufused = set_replaygain(id3, false, header[3], bufused); bufused = set_replaygain(id3, true, header[4], bufused); + } else { + return false; /* only SV7 is allowed within a "MP+" signature */ } + } else if (!memcmp(header, "MPCK", 4)) { /* Compare to sig "MPCK" */ + return false; /* SV8 is not supported yet */ } else { return false; /* SV4-6 is not supported anymore */ } |