[alsa-devel] [PATCH 4/6] pcm: status dump fix timestamp formatting

sutar.mounesh at gmail.com sutar.mounesh at gmail.com
Fri Feb 17 08:17:36 CET 2017


From: Andreas Pape <apape at de.adit-jv.com>

nanosecond part formatted with %06 will give incorrect/confusing results:

trigger_time: 154.9748287
trigger_time: 154.60109090
trigger_time: 154.110425257

time seems to run backwards...

This patch converts to us before printing
which gives the correct/expected result:

trigger_time: 154.009748
trigger_time: 154.060109
trigger_time: 154.110425

Signed-off-by: Andreas Pape <apape at de.adit-jv.com>
Signed-off-by: Mounesh Sutar <sutar.mounesh at gmail.com>

diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
index 493e903..a16fd86 100644
--- a/src/pcm/pcm.c
+++ b/src/pcm/pcm.c
@@ -2194,9 +2194,10 @@ int snd_pcm_status_dump(snd_pcm_status_t *status, snd_output_t *out)
 	assert(status);
 	snd_output_printf(out, "  state       : %s\n", snd_pcm_state_name((snd_pcm_state_t) status->state));
 	snd_output_printf(out, "  trigger_time: %ld.%06ld\n",
-		status->trigger_tstamp.tv_sec, status->trigger_tstamp.tv_nsec);
+			  status->trigger_tstamp.tv_sec,
+			  status->trigger_tstamp.tv_nsec / 1000);
 	snd_output_printf(out, "  tstamp      : %ld.%06ld\n",
-		status->tstamp.tv_sec, status->tstamp.tv_nsec);
+		status->tstamp.tv_sec, status->tstamp.tv_nsec / 1000);
 	snd_output_printf(out, "  delay       : %ld\n", (long)status->delay);
 	snd_output_printf(out, "  avail       : %ld\n", (long)status->avail);
 	snd_output_printf(out, "  avail_max   : %ld\n", (long)status->avail_max);
-- 
2.7.4



More information about the Alsa-devel mailing list