From 0729b928ce14eafc09efe484bf19df2346880159 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Fri, 24 Nov 2006 19:49:04 +0000 Subject: Recording: Add AIFF recording to SWCODEC. Note: AIFF playback chokes on sample rates other than 44.1kHz whether recorded or created and saved with an external program. Recorded files will still open in an external editor however. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11583 a1c6a512-1295-4272-9138-f99709370657 --- firmware/enc_base.c | 2 ++ firmware/export/enc_base.h | 8 ++++++++ firmware/export/id3.h | 3 ++- firmware/id3.c | 4 +++- 4 files changed, 15 insertions(+), 2 deletions(-) (limited to 'firmware') diff --git a/firmware/enc_base.c b/firmware/enc_base.c index e346064fe2..6cd421142c 100644 --- a/firmware/enc_base.c +++ b/firmware/enc_base.c @@ -19,6 +19,8 @@ #include "config.h" #include "audio.h" +/** aiff_enc.codec **/ + /** mp3_enc.codec **/ /* These are in descending order rather than in MPEG frequency index diff --git a/firmware/export/enc_base.h b/firmware/export/enc_base.h index 85101ac7fd..1be796ec8f 100644 --- a/firmware/export/enc_base.h +++ b/firmware/export/enc_base.h @@ -24,6 +24,14 @@ /** encoder config structures **/ +/** aiff_enc.codec **/ +struct aiff_enc_config +{ +#if 0 + unsigned long sample_depth; +#endif +}; + /** mp3_enc.codec **/ #define MP3_BITR_CAP_8 (1 << 0) #define MP3_BITR_CAP_16 (1 << 1) diff --git a/firmware/export/id3.h b/firmware/export/id3.h index 3d24e2006e..b099aed716 100644 --- a/firmware/export/id3.h +++ b/firmware/export/id3.h @@ -78,6 +78,7 @@ enum rec_format_indexes /* start formats */ REC_FORMAT_PCM_WAV, + REC_FORMAT_AIFF, REC_FORMAT_WAVPACK, REC_FORMAT_MPA_L3, @@ -93,7 +94,7 @@ enum rec_format_indexes REC_FORMAT_CFG_NUM_BITS = 2 }; -#define REC_FORMAT_CFG_VAL_LIST "wave,wvpk,mpa3" +#define REC_FORMAT_CFG_VAL_LIST "aiff,wave,wvpk,mpa3" /* get REC_FORMAT_* corresponding AFMT_* */ extern const int rec_format_afmt[REC_NUM_FORMATS]; diff --git a/firmware/id3.c b/firmware/id3.c index 90b5b3bdee..74cea7f037 100644 --- a/firmware/id3.c +++ b/firmware/id3.c @@ -64,7 +64,7 @@ const struct afmt_entry audio_formats[AFMT_NUM_CODECS] = #if CONFIG_CODEC == SWCODEC /* Audio Interchange File Format */ [AFMT_AIFF] = - AFMT_ENTRY("AIFF", "aiff", NULL, "aiff\0aif\0"), + AFMT_ENTRY("AIFF", "aiff", "aiff_enc", "aiff\0aif\0"), /* Uncompressed PCM in a WAV file */ [AFMT_PCM_WAV] = AFMT_ENTRY("WAV", "wav", "wav_enc", "wav\0" ), @@ -108,6 +108,7 @@ const int rec_format_afmt[REC_NUM_FORMATS] = /* give AFMT_UNKNOWN by default */ [0 ... REC_NUM_FORMATS-1] = AFMT_UNKNOWN, /* add new entries below this line */ + [REC_FORMAT_AIFF] = AFMT_AIFF, [REC_FORMAT_MPA_L3] = AFMT_MPA_L3, [REC_FORMAT_WAVPACK] = AFMT_WAVPACK, [REC_FORMAT_PCM_WAV] = AFMT_PCM_WAV, @@ -119,6 +120,7 @@ const int afmt_rec_format[AFMT_NUM_CODECS] = /* give -1 by default */ [0 ... AFMT_NUM_CODECS-1] = -1, /* add new entries below this line */ + [AFMT_AIFF] = REC_FORMAT_AIFF, [AFMT_MPA_L3] = REC_FORMAT_MPA_L3, [AFMT_WAVPACK] = REC_FORMAT_WAVPACK, [AFMT_PCM_WAV] = REC_FORMAT_PCM_WAV, -- cgit v1.2.3