summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2010-06-26 10:07:17 +0000
committerMichael Sevakis <jethead71@rockbox.org>2010-06-26 10:07:17 +0000
commitb15a523870d6aa45b38b92547053beb986b92d9a (patch)
tree8b75fe5f13a3418186cb11c01062ad415490036b /apps
parentac622c6d673c708d48527db8a189401422a5d03c (diff)
downloadrockbox-b15a523870d6aa45b38b92547053beb986b92d9a.tar.gz
rockbox-b15a523870d6aa45b38b92547053beb986b92d9a.zip
e200v1/c200v1: Implement limited samplerate switching. Rates 24kHz and below are being a bear as far as minor crackling at higher amplitude-- leave them out for the time being since no solution is currently evident. 48, 44, 32 (rec rates 24, 22, 16) seem perfectly fine. I'm betting c200 is ok to include because it uses the same setup as e200.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27139 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/plugins/pitch_detector.c4
-rw-r--r--apps/recorder/pcm_record.c8
2 files changed, 6 insertions, 6 deletions
diff --git a/apps/plugins/pitch_detector.c b/apps/plugins/pitch_detector.c
index 208b146c4e..36248a540d 100644
--- a/apps/plugins/pitch_detector.c
+++ b/apps/plugins/pitch_detector.c
@@ -1106,7 +1106,7 @@ void record_and_get_pitch(void)
1106 } 1106 }
1107 } 1107 }
1108 rb->pcm_close_recording(); 1108 rb->pcm_close_recording();
1109 rb->pcm_set_frequency(HW_SAMPR_DEFAULT); 1109 rb->pcm_set_frequency(REC_SAMPR_DEFAULT | SAMPR_TYPE_REC);
1110#ifdef HAVE_SCHEDULER_BOOSTCTRL 1110#ifdef HAVE_SCHEDULER_BOOSTCTRL
1111 rb->cancel_cpu_boost(); 1111 rb->cancel_cpu_boost();
1112#endif 1112#endif
@@ -1141,7 +1141,7 @@ void init_everything(void)
1141 sample_rate = rb->round_value_to_list32(9000, rb->rec_freq_sampr, 1141 sample_rate = rb->round_value_to_list32(9000, rb->rec_freq_sampr,
1142 REC_NUM_FREQ, false); 1142 REC_NUM_FREQ, false);
1143 sample_rate = rb->rec_freq_sampr[sample_rate]; 1143 sample_rate = rb->rec_freq_sampr[sample_rate];
1144 rb->pcm_set_frequency(sample_rate); 1144 rb->pcm_set_frequency(sample_rate | SAMPR_TYPE_REC);
1145 rb->pcm_init_recording(); 1145 rb->pcm_init_recording();
1146 1146
1147 /* GUI */ 1147 /* GUI */
diff --git a/apps/recorder/pcm_record.c b/apps/recorder/pcm_record.c
index 687a70664d..3217509707 100644
--- a/apps/recorder/pcm_record.c
+++ b/apps/recorder/pcm_record.c
@@ -288,8 +288,8 @@ static void pcm_rec_have_more(int status, void **start, size_t *size)
288 288
289static void reset_hardware(void) 289static void reset_hardware(void)
290{ 290{
291 /* reset pcm to defaults (playback only) */ 291 /* reset pcm to defaults */
292 pcm_set_frequency(HW_SAMPR_DEFAULT); 292 pcm_set_frequency(REC_SAMPR_DEFAULT | SAMPR_TYPE_REC);
293 audio_set_output_source(AUDIO_SRC_PLAYBACK); 293 audio_set_output_source(AUDIO_SRC_PLAYBACK);
294 pcm_apply_settings(); 294 pcm_apply_settings();
295} 295}
@@ -1216,7 +1216,7 @@ static void pcmrec_set_recording_options(
1216 /* round to HW playback rates for monitoring */ 1216 /* round to HW playback rates for monitoring */
1217 index = round_value_to_list32(sr, hw_freq_sampr, 1217 index = round_value_to_list32(sr, hw_freq_sampr,
1218 HW_NUM_FREQ, false); 1218 HW_NUM_FREQ, false);
1219 pcm_set_frequency(hw_freq_sampr[index]); 1219 pcm_set_frequency(hw_freq_sampr[index] | SAMPR_TYPE_REC);
1220 /* encoders with a limited number of rates do their own rounding */ 1220 /* encoders with a limited number of rates do their own rounding */
1221 } 1221 }
1222 else 1222 else
@@ -1224,7 +1224,7 @@ static void pcmrec_set_recording_options(
1224 { 1224 {
1225 /* set sample rate from frequency selection */ 1225 /* set sample rate from frequency selection */
1226 sample_rate = rec_freq_sampr[rec_frequency]; 1226 sample_rate = rec_freq_sampr[rec_frequency];
1227 pcm_set_frequency(sample_rate); 1227 pcm_set_frequency(sample_rate | SAMPR_TYPE_REC);
1228 } 1228 }
1229 1229
1230 /* set monitoring */ 1230 /* set monitoring */