diff options
author | Dominik Wenger <domonoky@googlemail.com> | 2008-07-28 19:20:40 +0000 |
---|---|---|
committer | Dominik Wenger <domonoky@googlemail.com> | 2008-07-28 19:20:40 +0000 |
commit | 9b7566e3ec6586e0fc9df82e9cb1650287419308 (patch) | |
tree | 4aa27382a8bb6125c52e9955a22222cad3835147 /apps/codecs | |
parent | 8df332c06231a6bb09a54a5a227020e2e9bcfe8c (diff) | |
download | rockbox-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.c | 12 |
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); |