From ea61fb8023c13af4d882e750d38d23e5efb93169 Mon Sep 17 00:00:00 2001 From: Andree Buschmann Date: Wed, 16 Mar 2011 21:24:07 +0000 Subject: [PATCH] Fix red. read_uint32be() was not implemented in sim builds for HWCODEC targets. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29605 a1c6a512-1295-4272-9138-f99709370657 --- apps/SOURCES | 2 +- apps/metadata/metadata_common.c | 62 ++++++++++++++++----------------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/apps/SOURCES b/apps/SOURCES index c122427900..b5f7a1d9f1 100644 --- a/apps/SOURCES +++ b/apps/SOURCES @@ -198,8 +198,8 @@ gui/usb_screen.c metadata.c metadata/id3tags.c metadata/mp3.c -#if CONFIG_CODEC == SWCODEC metadata/metadata_common.c +#if CONFIG_CODEC == SWCODEC metadata/aiff.c metadata/ape.c metadata/asf.c diff --git a/apps/metadata/metadata_common.c b/apps/metadata/metadata_common.c index ae6b245616..bde48d423b 100644 --- a/apps/metadata/metadata_common.c +++ b/apps/metadata/metadata_common.c @@ -31,35 +31,6 @@ #include "replaygain.h" #include "misc.h" -/* Skip an ID3v2 tag if it can be found. We assume the tag is located at the - * start of the file, which should be true in all cases where we need to skip it. - * Returns true if successfully skipped or not skipped, and false if - * something went wrong while skipping. - */ -bool skip_id3v2(int fd, struct mp3entry *id3) -{ - char buf[4]; - - read(fd, buf, 4); - if (memcmp(buf, "ID3", 3) == 0) - { - /* We have found an ID3v2 tag at the start of the file - find its - length and then skip it. */ - if ((id3->first_frame_offset = getid3v2len(fd)) == 0) - return false; - - if ((lseek(fd, id3->first_frame_offset, SEEK_SET) < 0)) - return false; - - return true; - } else { - lseek(fd, 0, SEEK_SET); - id3->first_frame_offset = 0; - return true; - } -} - - /* Read a string from the file. Read up to size bytes, or, if eos != -1, * until the eos character is found (eos is not stored in buf, unless it is * nil). Writes up to buf_size chars to buf, always terminating with a nil. @@ -241,7 +212,36 @@ unsigned long get_itunes_int32(char* value, int count) return r; } - + +#if CONFIG_CODEC == SWCODEC +/* Skip an ID3v2 tag if it can be found. We assume the tag is located at the + * start of the file, which should be true in all cases where we need to skip it. + * Returns true if successfully skipped or not skipped, and false if + * something went wrong while skipping. + */ +bool skip_id3v2(int fd, struct mp3entry *id3) +{ + char buf[4]; + + read(fd, buf, 4); + if (memcmp(buf, "ID3", 3) == 0) + { + /* We have found an ID3v2 tag at the start of the file - find its + length and then skip it. */ + if ((id3->first_frame_offset = getid3v2len(fd)) == 0) + return false; + + if ((lseek(fd, id3->first_frame_offset, SEEK_SET) < 0)) + return false; + + return true; + } else { + lseek(fd, 0, SEEK_SET); + id3->first_frame_offset = 0; + return true; + } +} + /* Parse the tag (the name-value pair) and fill id3 and buffer accordingly. * String values to keep are written to buf. Returns number of bytes written * to buf (including end nil). @@ -360,4 +360,4 @@ long parse_tag(const char* name, char* value, struct mp3entry* id3, return len; } - +#endif