From 039e4cad48a01437d195914b57b5da83ebc582c3 Mon Sep 17 00:00:00 2001 From: Delio Brignoli Date: Mon, 18 Sep 2023 09:33:37 +0100 Subject: [PATCH] bat: really skip analysis of the first period and update related comment Prior to this change bat/analyze.c would skip the last period of the recording, contrary to what the comment in the code which stated the first period was meant to be skipped. The comment has been updated to state that both the first and last period are skipped and the code has been updated to match. Closes: https://github.com/alsa-project/alsa-utils/pull/237 Signed-off-by: Delio Brignoli Signed-off-by: Jaroslav Kysela --- bat/analyze.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bat/analyze.c b/bat/analyze.c index 6867880..b8d0270 100644 --- a/bat/analyze.c +++ b/bat/analyze.c @@ -299,7 +299,7 @@ static int calculate_noise(struct bat *bat, float *src, int channel) /* each section has 2 sine periods, the first one for locating * and the second one for noise calculating */ int nsamples_per_section = nsamples * 2; - /* all sine periods will be calculated except the first one */ + /* all sine periods will be calculated except the first and last one */ int nsection = bat->frames / nsamples - 1; fprintf(bat->log, _("samples per period: %d\n"), nsamples); @@ -331,7 +331,7 @@ static int calculate_noise(struct bat *bat, float *src, int channel) /* calculate average noise level */ sum_snr_pc = 0.0; cnt_clean = cnt_noise = 0; - for (i = 0, offset = 0; i < nsection; i++) { + for (i = 1, offset = nsamples; i < nsection; i++) { na.snr_db = SNR_DB_INVALID; err = calculate_noise_one_period(bat, &na, src + offset,