From b15a523870d6aa45b38b92547053beb986b92d9a Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Sat, 26 Jun 2010 10:07:17 +0000 Subject: 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 --- apps/plugins/pitch_detector.c | 4 ++-- apps/recorder/pcm_record.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'apps') 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 */ -- cgit v1.2.3