diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/recorder/peakmeter.c | 18 | ||||
-rw-r--r-- | apps/recorder/recording.c | 15 |
2 files changed, 25 insertions, 8 deletions
diff --git a/apps/recorder/peakmeter.c b/apps/recorder/peakmeter.c index a93e20ad0e..a77fea770e 100644 --- a/apps/recorder/peakmeter.c +++ b/apps/recorder/peakmeter.c | |||
@@ -35,6 +35,11 @@ | |||
35 | 35 | ||
36 | #if CONFIG_CODEC == SWCODEC | 36 | #if CONFIG_CODEC == SWCODEC |
37 | #include "pcm_playback.h" | 37 | #include "pcm_playback.h" |
38 | |||
39 | #ifdef HAVE_RECORDING | ||
40 | #include "pcm_record.h" | ||
41 | #endif | ||
42 | static bool pm_playback = true; /* selects between playback and recording peaks */ | ||
38 | #endif | 43 | #endif |
39 | 44 | ||
40 | #if !defined(SIMULATOR) && CONFIG_CODEC != SWCODEC | 45 | #if !defined(SIMULATOR) && CONFIG_CODEC != SWCODEC |
@@ -491,8 +496,7 @@ void peak_meter_playback(bool playback) | |||
491 | #ifdef SIMULATOR | 496 | #ifdef SIMULATOR |
492 | (void)playback; | 497 | (void)playback; |
493 | #elif CONFIG_CODEC == SWCODEC | 498 | #elif CONFIG_CODEC == SWCODEC |
494 | /* FIX: not for the sw-based ones yes */ | 499 | pm_playback = playback; |
495 | (void)playback; | ||
496 | #else | 500 | #else |
497 | if (playback) { | 501 | if (playback) { |
498 | pm_src_left = MAS_REG_DQPEAK_L; | 502 | pm_src_left = MAS_REG_DQPEAK_L; |
@@ -531,7 +535,15 @@ void peak_meter_peek(void) | |||
531 | pm_cur_left = left = 8000; | 535 | pm_cur_left = left = 8000; |
532 | pm_cur_right = right = 9000; | 536 | pm_cur_right = right = 9000; |
533 | #elif CONFIG_CODEC == SWCODEC | 537 | #elif CONFIG_CODEC == SWCODEC |
534 | pcm_calculate_peaks(&pm_cur_left, &pm_cur_right); | 538 | |
539 | if (pm_playback) | ||
540 | pcm_calculate_peaks(&pm_cur_left, &pm_cur_right); | ||
541 | #ifdef HAVE_RECORDING | ||
542 | if (!pm_playback) | ||
543 | { | ||
544 | pcm_rec_get_peaks(&pm_cur_left, &pm_cur_right); | ||
545 | } | ||
546 | #endif | ||
535 | left = pm_cur_left; | 547 | left = pm_cur_left; |
536 | right = pm_cur_right; | 548 | right = pm_cur_right; |
537 | #else | 549 | #else |
diff --git a/apps/recorder/recording.c b/apps/recorder/recording.c index 63cd513c78..c7da2bbb9f 100644 --- a/apps/recorder/recording.c +++ b/apps/recorder/recording.c | |||
@@ -328,15 +328,17 @@ bool recording_screen(void) | |||
328 | audio_init_recording(); | 328 | audio_init_recording(); |
329 | 329 | ||
330 | sound_set_volume(global_settings.volume); | 330 | sound_set_volume(global_settings.volume); |
331 | |||
332 | /* Yes, we use the D/A for monitoring */ | ||
333 | peak_meter_playback(true); | ||
334 | |||
335 | peak_meter_enabled = true; | ||
336 | 331 | ||
337 | #if CONFIG_CODEC == SWCODEC | 332 | #if CONFIG_CODEC == SWCODEC |
338 | audio_stop(); | 333 | audio_stop(); |
334 | /* Set peak meter to recording mode */ | ||
335 | peak_meter_playback(false); | ||
336 | cpu_boost(true); | ||
337 | #else | ||
338 | /* Yes, we use the D/A for monitoring */ | ||
339 | peak_meter_playback(true); | ||
339 | #endif | 340 | #endif |
341 | peak_meter_enabled = true; | ||
340 | 342 | ||
341 | if (global_settings.rec_prerecord_time) | 343 | if (global_settings.rec_prerecord_time) |
342 | talk_buffer_steal(); /* will use the mp3 buffer */ | 344 | talk_buffer_steal(); /* will use the mp3 buffer */ |
@@ -440,7 +442,9 @@ bool recording_screen(void) | |||
440 | else | 442 | else |
441 | { | 443 | { |
442 | peak_meter_playback(true); | 444 | peak_meter_playback(true); |
445 | #if CONFIG_CODEC != SWCODEC | ||
443 | peak_meter_enabled = false; | 446 | peak_meter_enabled = false; |
447 | #endif | ||
444 | done = true; | 448 | done = true; |
445 | } | 449 | } |
446 | update_countdown = 1; /* Update immediately */ | 450 | update_countdown = 1; /* Update immediately */ |
@@ -875,6 +879,7 @@ bool recording_screen(void) | |||
875 | #if CONFIG_CODEC == SWCODEC | 879 | #if CONFIG_CODEC == SWCODEC |
876 | audio_stop_recording(); | 880 | audio_stop_recording(); |
877 | audio_close_recording(); | 881 | audio_close_recording(); |
882 | cpu_boost(false); | ||
878 | #else | 883 | #else |
879 | audio_init_playback(); | 884 | audio_init_playback(); |
880 | #endif | 885 | #endif |