summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2012-05-21 17:12:04 -0400
committerMichael Sevakis <jethead71@rockbox.org>2012-05-21 17:12:04 -0400
commit29cfd29a6cafea88a36212292e7019ab88aa7ed2 (patch)
tree589046d6de177804a036ce32f5a0bf8732a15b57 /lib
parent545f41790bb7ea576ee5100436b6d8ca0c175fba (diff)
downloadrockbox-29cfd29a6cafea88a36212292e7019ab88aa7ed2.tar.gz
rockbox-29cfd29a6cafea88a36212292e7019ab88aa7ed2.zip
Stop timestretch freezing things during format changes.
When it was inactive but enabled, the format change hook was dropping through to code that it shouldn't execute without it also being active in processing samples. Change-Id: Ie7899df0395d3f0d10f2bf2b55ea549dd06749a7
Diffstat (limited to 'lib')
-rw-r--r--lib/rbcodec/dsp/tdspeed.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/rbcodec/dsp/tdspeed.c b/lib/rbcodec/dsp/tdspeed.c
index 92dfb31bed..6a495bd989 100644
--- a/lib/rbcodec/dsp/tdspeed.c
+++ b/lib/rbcodec/dsp/tdspeed.c
@@ -478,7 +478,8 @@ static void tdspeed_process_new_format(struct dsp_proc_entry *this,
478 struct sample_format *format = &src->format; 478 struct sample_format *format = &src->format;
479 int channels = format->num_channels; 479 int channels = format->num_channels;
480 480
481 if (format->codec_frequency != st->samplerate) 481 if (format->codec_frequency != st->samplerate ||
482 !dsp_proc_active(dsp, DSP_PROC_TIMESTRETCH))
482 { 483 {
483 /* relevent parameters are changing - all overlap will be discarded */ 484 /* relevent parameters are changing - all overlap will be discarded */
484 st->channels = channels; 485 st->channels = channels;