summaryrefslogtreecommitdiff
path: root/apps/codecs
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2008-07-28 19:20:40 +0000
committerDominik Wenger <domonoky@googlemail.com>2008-07-28 19:20:40 +0000
commit9b7566e3ec6586e0fc9df82e9cb1650287419308 (patch)
tree4aa27382a8bb6125c52e9955a22222cad3835147 /apps/codecs
parent8df332c06231a6bb09a54a5a227020e2e9bcfe8c (diff)
downloadrockbox-9b7566e3ec6586e0fc9df82e9cb1650287419308.tar.gz
rockbox-9b7566e3ec6586e0fc9df82e9cb1650287419308.zip
asap: fix stereo mode and hopefully fix metadata handling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18140 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs')
-rw-r--r--apps/codecs/asap.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/apps/codecs/asap.c b/apps/codecs/asap.c
index b549edad8b..c36a02369d 100644
--- a/apps/codecs/asap.c
+++ b/apps/codecs/asap.c
@@ -36,7 +36,8 @@ enum codec_status codec_main(void)
36 int song; 36 int song;
37 int duration; 37 int duration;
38 char* module; 38 char* module;
39 39 int bytesPerSample =2;
40
40 /* Generic codec initialisation */ 41 /* Generic codec initialisation */
41 ci->configure(CODEC_SET_FILEBUF_WATERMARK, 1024*512); 42 ci->configure(CODEC_SET_FILEBUF_WATERMARK, 1024*512);
42 43
@@ -74,10 +75,15 @@ next_track:
74 ci->configure(DSP_SET_SAMPLE_DEPTH, 16); 75 ci->configure(DSP_SET_SAMPLE_DEPTH, 16);
75 /* Stereo or Mono output ? */ 76 /* Stereo or Mono output ? */
76 if(asap.module_info.channels ==1) 77 if(asap.module_info.channels ==1)
78 {
77 ci->configure(DSP_SET_STEREO_MODE, STEREO_MONO); 79 ci->configure(DSP_SET_STEREO_MODE, STEREO_MONO);
80 bytesPerSample = 2;
81 }
78 else 82 else
83 {
79 ci->configure(DSP_SET_STEREO_MODE, STEREO_INTERLEAVED); 84 ci->configure(DSP_SET_STEREO_MODE, STEREO_INTERLEAVED);
80 85 bytesPerSample = 4;
86 }
81 /* reset eleapsed */ 87 /* reset eleapsed */
82 ci->set_elapsed(0); 88 ci->set_elapsed(0);
83 89
@@ -115,7 +121,7 @@ next_track:
115 n_bytes = ASAP_Generate(&asap, samples, sizeof(samples), ASAP_FORMAT_S16_BE); 121 n_bytes = ASAP_Generate(&asap, samples, sizeof(samples), ASAP_FORMAT_S16_BE);
116 #endif 122 #endif
117 123
118 ci->pcmbuf_insert(samples, NULL, n_bytes /2); 124 ci->pcmbuf_insert(samples, NULL, n_bytes /bytesPerSample);
119 125
120 bytes_done += n_bytes; 126 bytes_done += n_bytes;
121 ci->set_elapsed((bytes_done / 2) / 44.1); 127 ci->set_elapsed((bytes_done / 2) / 44.1);