forked from len0rd/rockbox
mp3: when ID3 tags are not found, search APE tags
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26048 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
77ec4b301b
commit
fecf90fda9
5 changed files with 14 additions and 6 deletions
|
@ -171,12 +171,12 @@ usb_keymaps.c
|
||||||
gui/usb_screen.c
|
gui/usb_screen.c
|
||||||
#endif
|
#endif
|
||||||
metadata.c
|
metadata.c
|
||||||
|
metadata/ape.c
|
||||||
metadata/id3tags.c
|
metadata/id3tags.c
|
||||||
|
metadata/metadata_common.c
|
||||||
metadata/mp3.c
|
metadata/mp3.c
|
||||||
#if CONFIG_CODEC == SWCODEC
|
#if CONFIG_CODEC == SWCODEC
|
||||||
metadata/metadata_common.c
|
|
||||||
metadata/aiff.c
|
metadata/aiff.c
|
||||||
metadata/ape.c
|
|
||||||
metadata/asf.c
|
metadata/asf.c
|
||||||
metadata/adx.c
|
metadata/adx.c
|
||||||
metadata/flac.c
|
metadata/flac.c
|
||||||
|
|
|
@ -45,9 +45,7 @@
|
||||||
|
|
||||||
#include "metadata.h"
|
#include "metadata.h"
|
||||||
#include "mp3data.h"
|
#include "mp3data.h"
|
||||||
#if CONFIG_CODEC == SWCODEC
|
|
||||||
#include "metadata_common.h"
|
#include "metadata_common.h"
|
||||||
#endif
|
|
||||||
#include "metadata_parsers.h"
|
#include "metadata_parsers.h"
|
||||||
|
|
||||||
static unsigned long unsync(unsigned long b0,
|
static unsigned long unsync(unsigned long b0,
|
||||||
|
|
|
@ -28,7 +28,9 @@
|
||||||
#include "metadata.h"
|
#include "metadata.h"
|
||||||
#include "metadata_common.h"
|
#include "metadata_common.h"
|
||||||
#include "metadata_parsers.h"
|
#include "metadata_parsers.h"
|
||||||
|
#if CONFIG_CODEC == SWCODEC
|
||||||
#include "replaygain.h"
|
#include "replaygain.h"
|
||||||
|
#endif
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
/* Skip an ID3v2 tag if it can be found. We assume the tag is located at the
|
/* Skip an ID3v2 tag if it can be found. We assume the tag is located at the
|
||||||
|
@ -250,7 +252,7 @@ long parse_tag(const char* name, char* value, struct mp3entry* id3,
|
||||||
char* buf, long buf_remaining, enum tagtype type)
|
char* buf, long buf_remaining, enum tagtype type)
|
||||||
{
|
{
|
||||||
long len = 0;
|
long len = 0;
|
||||||
char** p;
|
char** p = NULL;
|
||||||
|
|
||||||
if ((((strcasecmp(name, "track") == 0) && (type == TAGTYPE_APE)))
|
if ((((strcasecmp(name, "track") == 0) && (type == TAGTYPE_APE)))
|
||||||
|| ((strcasecmp(name, "tracknumber") == 0) && (type == TAGTYPE_VORBIS)))
|
|| ((strcasecmp(name, "tracknumber") == 0) && (type == TAGTYPE_VORBIS)))
|
||||||
|
@ -331,11 +333,13 @@ long parse_tag(const char* name, char* value, struct mp3entry* id3,
|
||||||
{
|
{
|
||||||
p = &(id3->mb_track_id);
|
p = &(id3->mb_track_id);
|
||||||
}
|
}
|
||||||
|
#if CONFIG_CODEC == SWCODEC
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
len = parse_replaygain(name, value, id3, buf, buf_remaining);
|
len = parse_replaygain(name, value, id3, buf, buf_remaining);
|
||||||
p = NULL;
|
p = NULL;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (p)
|
if (p)
|
||||||
{
|
{
|
||||||
|
|
|
@ -190,7 +190,11 @@ bool get_mp3_metadata(int fd, struct mp3entry *entry, const char *filename)
|
||||||
|
|
||||||
/* only seek to end of file if no id3v2 tags were found */
|
/* only seek to end of file if no id3v2 tags were found */
|
||||||
if (!entry->id3v2len) {
|
if (!entry->id3v2len) {
|
||||||
setid3v1title(fd, entry);
|
if (!setid3v1title(fd, entry))
|
||||||
|
{
|
||||||
|
/* when ID3 tags are not found, search APE tags */
|
||||||
|
read_ape_tags(fd, entry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!entry->length || (entry->filesize < 8 ))
|
if(!entry->length || (entry->filesize < 8 ))
|
||||||
|
|
|
@ -15,7 +15,9 @@ database.c
|
||||||
../../firmware/logf.c
|
../../firmware/logf.c
|
||||||
../../uisimulator/common/io.c
|
../../uisimulator/common/io.c
|
||||||
#if CONFIG_CODEC != SWCODEC
|
#if CONFIG_CODEC != SWCODEC
|
||||||
|
../../apps/metadata/ape.c
|
||||||
../../apps/metadata/id3tags.c
|
../../apps/metadata/id3tags.c
|
||||||
|
../../apps/metadata/metadata_common.c
|
||||||
../../apps/metadata/mp3.c
|
../../apps/metadata/mp3.c
|
||||||
#endif
|
#endif
|
||||||
/* Caution. metadata files do not add!! */
|
/* Caution. metadata files do not add!! */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue