diff options
| author | Dave Chapman <dave@dchapman.com> | 2005-10-31 20:56:29 +0000 |
|---|---|---|
| committer | Dave Chapman <dave@dchapman.com> | 2005-10-31 20:56:29 +0000 |
| commit | cea6d0c92f56cbd38ac8b480a9ea187d41bf55dd (patch) | |
| tree | 359debf3efc31dfe1ba0dd29a028c4f789c16859 /apps/metadata.c | |
| parent | 407be69b8c9e905a2720bd402e9449b28103f57b (diff) | |
| download | rockbox-cea6d0c92f56cbd38ac8b480a9ea187d41bf55dd.zip rockbox-cea6d0c92f56cbd38ac8b480a9ea187d41bf55dd.tar.gz rockbox-cea6d0c92f56cbd38ac8b480a9ea187d41bf55dd.tar.bz2 rockbox-cea6d0c92f56cbd38ac8b480a9ea187d41bf55dd.tar.xz | |
Initial check-in of AAC codec. Currently only recognises the .mp4 extension and is not yet capable of realtime operation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7706 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/metadata.c')
| -rw-r--r-- | apps/metadata.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/apps/metadata.c b/apps/metadata.c index f3fed96..a4fd688 100644 --- a/apps/metadata.c +++ b/apps/metadata.c @@ -76,6 +76,7 @@ static const struct format_list formats[] = { AFMT_A52, "ac3" }, { AFMT_WAVPACK, "wv" }, { AFMT_ALAC, "m4a" }, + { AFMT_AAC, "mp4" }, }; static const unsigned short a52_bitrates[] = @@ -965,7 +966,7 @@ static bool get_wave_metadata(int fd, struct mp3entry* id3) -static bool get_alac_metadata(int fd, struct mp3entry* id3) +static bool get_m4a_metadata(int fd, struct mp3entry* id3) { unsigned char* buf; unsigned long totalsamples; @@ -1171,8 +1172,15 @@ static bool get_alac_metadata(int fd, struct mp3entry* id3) i+=4; /* Check the codec type - 'alac' for ALAC, 'mp4a' for AAC */ - if (memcmp(&buf[i],"alac",4)!=0) { - logf("Not an ALAC file\n"); + if ((id3->codectype==AFMT_ALAC) && + (memcmp(&buf[i],"alac",4)!=0)) { + logf("Not an ALAC file\n"); + return false; + } + + if ((id3->codectype==AFMT_AAC) && + (memcmp(&buf[i],"mp4a",4)!=0)) { + logf("Not a MP4 AAC file\n"); return false; } @@ -1425,7 +1433,8 @@ bool get_metadata(struct track_info* track, int fd, const char* trackname, break; case AFMT_ALAC: - if (!get_alac_metadata(fd, &(track->id3))) + case AFMT_AAC: + if (!get_m4a_metadata(fd, &(track->id3))) { // return false; } |