diff options
author | Michael Giacomelli <giac2000@hotmail.com> | 2009-08-30 02:53:15 +0000 |
---|---|---|
committer | Michael Giacomelli <giac2000@hotmail.com> | 2009-08-30 02:53:15 +0000 |
commit | e4c30bdf0edf6b93343ebafaa15bbbdf590a1d37 (patch) | |
tree | faabaddc5a7102615a5b296d766916bd34cd1b6b | |
parent | a4e2d1f0718479a04dd013c80521583b29fe06cf (diff) | |
download | rockbox-e4c30bdf0edf6b93343ebafaa15bbbdf590a1d37.tar.gz rockbox-e4c30bdf0edf6b93343ebafaa15bbbdf590a1d37.zip |
Accept FS#10570 by Jason Yu. Adds metadata parsing for NSF files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22557 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/SOURCES | 1 | ||||
-rw-r--r-- | apps/metadata.c | 12 | ||||
-rw-r--r-- | apps/metadata/metadata_parsers.h | 2 | ||||
-rw-r--r-- | docs/CREDITS | 1 |
4 files changed, 6 insertions, 10 deletions
diff --git a/apps/SOURCES b/apps/SOURCES index 143d9d50ea..0408c32583 100644 --- a/apps/SOURCES +++ b/apps/SOURCES @@ -172,6 +172,7 @@ metadata/wavpack.c metadata/a52.c metadata/asap.c metadata/rm.c +metadata/nsf.c #endif #ifdef HAVE_TAGCACHE tagcache.c diff --git a/apps/metadata.c b/apps/metadata.c index 400ce6f469..56ab6c16e6 100644 --- a/apps/metadata.c +++ b/apps/metadata.c @@ -215,10 +215,6 @@ bool mp3info(struct mp3entry *entry, const char *filename) */ bool get_metadata(struct mp3entry* id3, int fd, const char* trackname) { -#if CONFIG_CODEC == SWCODEC - unsigned char* buf; -#endif - /* Clear the mp3entry to avoid having bogus pointers appear */ memset(id3, 0, sizeof(struct mp3entry)); @@ -356,15 +352,11 @@ bool get_metadata(struct mp3entry* id3, int fd, const char* trackname) break; case AFMT_NSF: - buf = (unsigned char *)id3->path; - if ((lseek(fd, 0, SEEK_SET) < 0) || ((read(fd, buf, 8)) < 8)) + if (!get_nsf_metadata(fd, id3)) { - DEBUGF("lseek or read failed\n"); + DEBUGF("get_nsf_metadata error\n"); return false; } - id3->vbr = false; - id3->filesize = filesize(fd); - if (memcmp(buf,"NESM",4) && memcmp(buf,"NSFE",4)) return false; break; case AFMT_AIFF: diff --git a/apps/metadata/metadata_parsers.h b/apps/metadata/metadata_parsers.h index 0464071777..20a71c90b9 100644 --- a/apps/metadata/metadata_parsers.h +++ b/apps/metadata/metadata_parsers.h @@ -39,3 +39,5 @@ bool get_a52_metadata(int fd, struct mp3entry* id3); bool get_asf_metadata(int fd, struct mp3entry* id3); bool get_asap_metadata(int fd, struct mp3entry* id3); bool get_rm_metadata(int fd, struct mp3entry* id3); +bool get_nsf_metadata(int fd, struct mp3entry* id3); + diff --git a/docs/CREDITS b/docs/CREDITS index 3a7cc84d4e..bd92cae474 100644 --- a/docs/CREDITS +++ b/docs/CREDITS @@ -489,6 +489,7 @@ Rosso Maltese Amaury Pouly Laurent Papier Johannes Boy +Jason Yu The libmad team The wavpack team |