diff options
Diffstat (limited to 'apps/plugins/mpegplayer')
-rw-r--r-- | apps/plugins/mpegplayer/audio_thread.c | 1 | ||||
-rw-r--r-- | apps/plugins/mpegplayer/mpegplayer.h | 2 | ||||
-rw-r--r-- | apps/plugins/mpegplayer/pcm_output.c | 6 |
3 files changed, 8 insertions, 1 deletions
diff --git a/apps/plugins/mpegplayer/audio_thread.c b/apps/plugins/mpegplayer/audio_thread.c index 1c167ea2a2..764ad111f2 100644 --- a/apps/plugins/mpegplayer/audio_thread.c +++ b/apps/plugins/mpegplayer/audio_thread.c | |||
@@ -481,6 +481,7 @@ static void audio_thread(void) | |||
481 | init_mad(); | 481 | init_mad(); |
482 | 482 | ||
483 | td.dsp = rb->dsp_get_config(CODEC_IDX_AUDIO); | 483 | td.dsp = rb->dsp_get_config(CODEC_IDX_AUDIO); |
484 | rb->dsp_configure(td.dsp, DSP_SET_OUT_FREQUENCY, CLOCK_RATE); | ||
484 | #ifdef HAVE_PITCHCONTROL | 485 | #ifdef HAVE_PITCHCONTROL |
485 | rb->sound_set_pitch(PITCH_SPEED_100); | 486 | rb->sound_set_pitch(PITCH_SPEED_100); |
486 | rb->dsp_set_timestretch(PITCH_SPEED_100); | 487 | rb->dsp_set_timestretch(PITCH_SPEED_100); |
diff --git a/apps/plugins/mpegplayer/mpegplayer.h b/apps/plugins/mpegplayer/mpegplayer.h index 32cc7b25be..4ddf0ca7b1 100644 --- a/apps/plugins/mpegplayer/mpegplayer.h +++ b/apps/plugins/mpegplayer/mpegplayer.h | |||
@@ -44,7 +44,7 @@ | |||
44 | #define AUDIOBUF_ALLOC_SIZE (AUDIOBUF_SIZE+AUDIOBUF_GUARD_SIZE) | 44 | #define AUDIOBUF_ALLOC_SIZE (AUDIOBUF_SIZE+AUDIOBUF_GUARD_SIZE) |
45 | 45 | ||
46 | /** PCM buffer **/ | 46 | /** PCM buffer **/ |
47 | #define CLOCK_RATE NATIVE_FREQUENCY /* Our clock rate in ticks/second (samplerate) */ | 47 | #define CLOCK_RATE 44100 /* Our clock rate in ticks/second (samplerate) */ |
48 | 48 | ||
49 | /* Define this as "1" to have a test tone instead of silence clip */ | 49 | /* Define this as "1" to have a test tone instead of silence clip */ |
50 | #define SILENCE_TEST_TONE 0 | 50 | #define SILENCE_TEST_TONE 0 |
diff --git a/apps/plugins/mpegplayer/pcm_output.c b/apps/plugins/mpegplayer/pcm_output.c index 3af8e91adc..82e3584277 100644 --- a/apps/plugins/mpegplayer/pcm_output.c +++ b/apps/plugins/mpegplayer/pcm_output.c | |||
@@ -51,6 +51,8 @@ static uint32_t volatile clock_time IBSS_ATTR; /* Timestamp adjusted */ | |||
51 | static int pcm_skipped = 0; | 51 | static int pcm_skipped = 0; |
52 | static int pcm_underruns = 0; | 52 | static int pcm_underruns = 0; |
53 | 53 | ||
54 | static unsigned int old_sampr = 0; | ||
55 | |||
54 | /* Small silence clip. ~5.80ms @ 44.1kHz */ | 56 | /* Small silence clip. ~5.80ms @ 44.1kHz */ |
55 | static int16_t silence[256*2] ALIGNED_ATTR(4) = { 0 }; | 57 | static int16_t silence[256*2] ALIGNED_ATTR(4) = { 0 }; |
56 | 58 | ||
@@ -380,9 +382,13 @@ bool pcm_output_init(void) | |||
380 | } | 382 | } |
381 | #endif | 383 | #endif |
382 | 384 | ||
385 | old_sampr = rb->mixer_get_frequency(); | ||
386 | rb->mixer_set_frequency(CLOCK_RATE); | ||
383 | return true; | 387 | return true; |
384 | } | 388 | } |
385 | 389 | ||
386 | void pcm_output_exit(void) | 390 | void pcm_output_exit(void) |
387 | { | 391 | { |
392 | if (old_sampr != 0) | ||
393 | rb->mixer_set_frequency(old_sampr); | ||
388 | } | 394 | } |