aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authordvdli <dvdli@google.com>2020-11-02 16:42:37 +0800
committerdvdli <dvdli@google.com>2020-11-02 16:42:37 +0800
commit16fee33d046103db96a4e2f5492ee38dfbc2b551 (patch)
tree5665bd3192a7b97fb00231ccc753fce6af94d979 /utils
parentfb0ab77cd593c318ba0b3a941864342553df9301 (diff)
calcuate the thresholds after options parsing
The period size and count may be changed after options parsing. We need to set proper threshoulds.
Diffstat (limited to 'utils')
-rw-r--r--utils/tinyplay.c10
1 files changed, 7 insertions, 3 deletions
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;
}