From 16fee33d046103db96a4e2f5492ee38dfbc2b551 Mon Sep 17 00:00:00 2001 From: dvdli Date: Mon, 2 Nov 2020 16:42:37 +0800 Subject: calcuate the thresholds after options parsing The period size and count may be changed after options parsing. We need to set proper threshoulds. --- utils/tinyplay.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'utils') diff --git a/utils/tinyplay.c b/utils/tinyplay.c index 4f603ee..2689158 100644 --- a/utils/tinyplay.c +++ b/utils/tinyplay.c @@ -58,10 +58,10 @@ void cmd_init(struct cmd *cmd) cmd->config.channels = 2; cmd->config.rate = 48000; cmd->config.format = PCM_FORMAT_S16_LE; - cmd->config.silence_threshold = 1024 * 2; + cmd->config.silence_threshold = cmd->config.period_size * cmd->config.period_count; cmd->config.silence_size = 0; - cmd->config.stop_threshold = 1024 * 2; - cmd->config.start_threshold = 1024; + cmd->config.stop_threshold = cmd->config.period_size * cmd->config.period_count; + cmd->config.start_threshold = cmd->config.period_size; cmd->bits = 16; } @@ -318,6 +318,10 @@ int main(int argc, char **argv) cmd.filetype++; } + cmd.config.silence_threshold = cmd.config.period_size * cmd.config.period_count; + cmd.config.stop_threshold = cmd.config.period_size * cmd.config.period_count; + cmd.config.start_threshold = cmd.config.period_size; + if (ctx_init(&ctx, &cmd) < 0) { return EXIT_FAILURE; } -- cgit v1.2.3