From 35f45c50eeb779724f882c4e98a279934e1e3140 Mon Sep 17 00:00:00 2001 From: Pierre-Louis Bossart Date: Fri, 27 Oct 2023 15:09:56 -0500 Subject: [PATCH] aplay: enable timestamps by default When the '-v' or '--test-position' options are used, the 'tstamp' is shown as zero. Unconditionally enable the timestamps and choose the timestamp time based on the 'monotonic' variable. Example log: Status(R/W) (standalone avail=36 delay=924): state : RUNNING trigger_time: 2045.504937 tstamp : 2190.754602 delay : 924 avail : 36 avail_max : 444 Status(R/W) (standalone avail=44 delay=912): state : RUNNING trigger_time: 2045.504937 tstamp : 2190.754852 delay : 912 avail : 48 avail_max : 48 underrun!!! (at least 471.161 ms long) Status: state : XRUN trigger_time: 2190.786234 tstamp : 2191.257392 delay : 0 avail : 1412 avail_max : 1412 aplay: xrun:1690: fatal underrun: Success Closes: https://github.com/alsa-project/alsa-utils/pull/242 Signed-off-by: Pierre-Louis Bossart Signed-off-by: Jaroslav Kysela --- aplay/aplay.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/aplay/aplay.c b/aplay/aplay.c index ed58a1e..2a75de7 100644 --- a/aplay/aplay.c +++ b/aplay/aplay.c @@ -1494,6 +1494,15 @@ static void set_params(void) err = snd_pcm_sw_params_set_stop_threshold(handle, swparams, stop_threshold); assert(err >= 0); + err = snd_pcm_sw_params_set_tstamp_mode(handle, swparams, SND_PCM_TSTAMP_ENABLE); + assert(err >= 0); + + if (monotonic) + err = snd_pcm_sw_params_set_tstamp_type(handle, swparams, SND_PCM_TSTAMP_TYPE_MONOTONIC); + else + err = snd_pcm_sw_params_set_tstamp_type(handle, swparams, SND_PCM_TSTAMP_TYPE_GETTIMEOFDAY); + assert(err >= 0); + if (snd_pcm_sw_params(handle, swparams) < 0) { error(_("unable to install sw params:")); snd_pcm_sw_params_dump(swparams, log); -- 2.47.1