summaryrefslogtreecommitdiff
path: root/apps/recorder/peakmeter.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/recorder/peakmeter.c')
-rw-r--r--apps/recorder/peakmeter.c18
1 files changed, 15 insertions, 3 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
42static 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