[4/6] pcm: status dump fix timestamp formatting
diff mbox

Message ID 1487315856-9078-1-git-send-email-sutar.mounesh@gmail.com
State New
Headers show

Commit Message

sutar.mounesh@gmail.com Feb. 17, 2017, 7:17 a.m. UTC
From: Andreas Pape <apape@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@de.adit-jv.com>
Signed-off-by: Mounesh Sutar <sutar.mounesh@gmail.com>

Comments

Takashi Iwai Feb. 17, 2017, 5:45 p.m. UTC | #1
On Fri, 17 Feb 2017 08:17:36 +0100,
sutar.mounesh@gmail.com wrote:
> 
> From: Andreas Pape <apape@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@de.adit-jv.com>
> Signed-off-by: Mounesh Sutar <sutar.mounesh@gmail.com>

Applied, thanks.


Takashi

Patch
diff mbox

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);