diff options
| author | Jens Arnold <amiconn@rockbox.org> | 2005-09-01 17:03:09 +0000 |
|---|---|---|
| committer | Jens Arnold <amiconn@rockbox.org> | 2005-09-01 17:03:09 +0000 |
| commit | 579210df87bdd803c96b335d83b817d3199ffad6 (patch) | |
| tree | fa66565019709c3bcca21af747a93128aa41fbe7 | |
| parent | 4c4affa45696d5732c9b89b58084bc48ef6c54a8 (diff) | |
| download | rockbox-579210df87bdd803c96b335d83b817d3199ffad6.zip rockbox-579210df87bdd803c96b335d83b817d3199ffad6.tar.gz rockbox-579210df87bdd803c96b335d83b817d3199ffad6.tar.bz2 rockbox-579210df87bdd803c96b335d83b817d3199ffad6.tar.xz | |
Restructured codec type handling a bit. Reduced code size, esp. on archos.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7443 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/metadata.c | 3 | ||||
| -rw-r--r-- | apps/metadata.h | 2 | ||||
| -rw-r--r-- | apps/playback.c | 2 | ||||
| -rw-r--r-- | firmware/export/id3.h | 6 | ||||
| -rw-r--r-- | firmware/id3.c | 15 |
5 files changed, 14 insertions, 14 deletions
diff --git a/apps/metadata.c b/apps/metadata.c index f2d7ed1..03ecf00 100644 --- a/apps/metadata.c +++ b/apps/metadata.c @@ -29,7 +29,7 @@ #include "debug.h" /* Simple file type probing by looking filename extension. */ -int probe_file_format(const char *filename) +unsigned int probe_file_format(const char *filename) { char *suffix; @@ -60,7 +60,6 @@ int probe_file_format(const char *filename) return AFMT_WAVPACK; return AFMT_UNKNOWN; - } unsigned short a52_bitrates[]={32,40,48,56,64,80,96, diff --git a/apps/metadata.h b/apps/metadata.h index 79ca2a2..f790146 100644 --- a/apps/metadata.h +++ b/apps/metadata.h @@ -22,7 +22,7 @@ #include "playback.h" -int probe_file_format(const char *filename); +unsigned int probe_file_format(const char *filename); bool get_metadata(struct track_info* track, int fd, const char* trackname, bool v1first); diff --git a/apps/playback.c b/apps/playback.c index c106644..a397617 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -833,7 +833,7 @@ bool loadcodec(const char *trackname, bool start_play) { char msgbuf[80]; off_t size; - int filetype; + unsigned int filetype; int fd; int i, rc; const char *codec_path; diff --git a/firmware/export/id3.h b/firmware/export/id3.h index d9b0432..d407b7b 100644 --- a/firmware/export/id3.h +++ b/firmware/export/id3.h @@ -26,10 +26,9 @@ /* Audio file types. */ /* NOTE: When adding new audio types, also add to codec_labels[] in id3.c */ enum { - AFMT_UNKNOWN = 1, /* Unknown file format */ + AFMT_UNKNOWN = 0, /* Unknown file format */ AFMT_MPA_L1, /* MPEG Audio layer 1 */ - AFMT_MPA_L2, /* MPEG Audio layer 2 */ AFMT_MPA_L3, /* MPEG Audio layer 3 */ @@ -41,7 +40,6 @@ enum { AFMT_WAVPACK, /* WavPack */ /* New formats must be added to the end of this list */ - AFMT_ENDMARKER /* THIS MUST BE THE LAST VALUE */ }; struct mp3entry { @@ -56,10 +54,10 @@ struct mp3entry { int tracknum; int version; int layer; - int codectype; int year; unsigned char id3version; unsigned char genre; + unsigned int codectype; unsigned int bitrate; unsigned int frequency; unsigned int id3v2len; diff --git a/firmware/id3.c b/firmware/id3.c index f2b30d6..f2d1881 100644 --- a/firmware/id3.c +++ b/firmware/id3.c @@ -80,17 +80,20 @@ static const char* const genres[] = { }; static const char* const codec_labels[] = { - "ERR", /* Invalid codec type */ "???", /* Unknown file format */ + "MP1", /* MPEG Audio layer 1 */ "MP2", /* MPEG Audio layer 2 */ "MP3", /* MPEG Audio layer 3 */ + +#if CONFIG_CODEC == SWCODEC "WAV", /* Uncompressed PCM in a WAV file */ "OGG", /* Ogg Vorbis */ "FLAC", /* FLAC */ "MPC", /* Musepack */ "AC3", /* A/52 (aka AC3) audio */ "WV", /* WavPack */ +#endif }; char* id3_get_genre(const struct mp3entry* id3) @@ -105,11 +108,11 @@ char* id3_get_genre(const struct mp3entry* id3) char* id3_get_codec(const struct mp3entry* id3) { - if ((id3->codectype >= 0) && (id3->codectype < AFMT_ENDMARKER)) { - return (char*)codec_labels[id3->codectype]; - } else { - return NULL; - } + if (id3->codectype < sizeof(codec_labels)/sizeof(char*)) { + return (char*)codec_labels[id3->codectype]; + } else { + return NULL; + } } /* |