Index: apps/recorder/recording.c =================================================================== RCS file: /cvsroot/rockbox/apps/recorder/recording.c,v retrieving revision 1.111 diff -u -r1.111 recording.c --- apps/recorder/recording.c 14 May 2006 23:34:24 -0000 1.111 +++ apps/recorder/recording.c 19 Jun 2006 20:49:08 -0000 @@ -359,7 +359,12 @@ audio_stop(); /* Set peak meter to recording mode */ peak_meter_playback(false); + +#ifdef HAVE_SPDIF_IN +if (global_settings.rec_source == SOURCE_SPDIF) cpu_boost(true); +#endif + #else /* Yes, we use the D/A for monitoring */ peak_meter_playback(true); @@ -1007,7 +1012,12 @@ #if CONFIG_CODEC == SWCODEC audio_stop_recording(); audio_close_recording(); + +#ifdef HAVE_SPDIF_IN +if (global_settings.rec_source == SOURCE_SPDIF) cpu_boost(false); +#endif + #else audio_init_playback(); #endif Index: firmware/pcm_record.c =================================================================== RCS file: /cvsroot/rockbox/firmware/pcm_record.c,v retrieving revision 1.26 diff -u -r1.26 pcm_record.c --- firmware/pcm_record.c 14 May 2006 23:34:24 -0000 1.26 +++ firmware/pcm_record.c 19 Jun 2006 20:49:09 -0000 @@ -47,6 +47,7 @@ #include "pcm_playback.h" #include "pcm_record.h" +extern int boost_counter; /* used for boost check */ /***************************************************************************/ @@ -552,12 +553,19 @@ if (num_free <= WRITE_THRESHOLD || flush) { + bool must_boost = (boost_counter ? false : true); + logf("writing: %d (%d)", num_ready, flush); + if(must_boost) + cpu_boost(true); + for (i=0; i