summaryrefslogtreecommitdiffstats
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)
}
}
rb->pcm_close_recording();
- rb->pcm_set_frequency(HW_SAMPR_DEFAULT);
+ rb->pcm_set_frequency(REC_SAMPR_DEFAULT | SAMPR_TYPE_REC);
#ifdef HAVE_SCHEDULER_BOOSTCTRL
rb->cancel_cpu_boost();
#endif
@@ -1141,7 +1141,7 @@ void init_everything(void)
sample_rate = rb->round_value_to_list32(9000, rb->rec_freq_sampr,
REC_NUM_FREQ, false);
sample_rate = rb->rec_freq_sampr[sample_rate];
- rb->pcm_set_frequency(sample_rate);
+ rb->pcm_set_frequency(sample_rate | SAMPR_TYPE_REC);
rb->pcm_init_recording();
/* 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)
static void reset_hardware(void)
{
- /* reset pcm to defaults (playback only) */
- pcm_set_frequency(HW_SAMPR_DEFAULT);
+ /* reset pcm to defaults */
+ pcm_set_frequency(REC_SAMPR_DEFAULT | SAMPR_TYPE_REC);
audio_set_output_source(AUDIO_SRC_PLAYBACK);
pcm_apply_settings();
}
@@ -1216,7 +1216,7 @@ static void pcmrec_set_recording_options(
/* round to HW playback rates for monitoring */
index = round_value_to_list32(sr, hw_freq_sampr,
HW_NUM_FREQ, false);
- pcm_set_frequency(hw_freq_sampr[index]);
+ pcm_set_frequency(hw_freq_sampr[index] | SAMPR_TYPE_REC);
/* encoders with a limited number of rates do their own rounding */
}
else
@@ -1224,7 +1224,7 @@ static void pcmrec_set_recording_options(
{
/* set sample rate from frequency selection */
sample_rate = rec_freq_sampr[rec_frequency];
- pcm_set_frequency(sample_rate);
+ pcm_set_frequency(sample_rate | SAMPR_TYPE_REC);
}
/* set monitoring */