public inbox for linux-sound@vger.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Subhashini Rao Beerisetty <subhashbeerisetty@gmail.com>
Cc: alsa-devel@alsa-project.org, linux-sound@vger.kernel.org
Subject: Re: [alsa-devel] first and last audio sample timestamp
Date: Mon, 25 Jun 2018 14:53:45 +0000	[thread overview]
Message-ID: <s5h7emmzzly.wl-tiwai@suse.de> (raw)
In-Reply-To: <CAPY=qRSp7XO+swhPZy56zVPd5eBTh2PhXOfSyySsrhW-T1PnzA@mail.gmail.com>

On Mon, 25 Jun 2018 16:50:20 +0200,
Subhashini Rao Beerisetty wrote:
> 
> On Mon, Jun 25, 2018 at 8:04 PM, Takashi Iwai <tiwai@suse.de> wrote:
> 
> > On Fri, 22 Jun 2018 16:00:10 +0200,
> > Subhashini Rao Beerisetty wrote:
> > >
> > > [ Please keep me in CC as I'm not subscribed to the list]
> > >
> > > Hi All,
> > >
> > >
> > >
> > > Hello all,
> > >
> > >
> > > I’m using aplay and arecord utilities for playback and capture. I need to
> > > capture the timestamps for the first and last audio samples that arrive
> > at
> > > the driver level.
> > >
> > > For this I’m capturing the CLOCK_MONOTONIC_RAW timestamp at the
> > > .trigger(for playback & capture) callback in SNDRV_PCM_TRIGGER_START
> > case
> > > – is it the correct timestamp for the first audio sample arrived at the
> > > driver level?
> > >
> > > Similarly does .trigger callbacks SNDRV_PCM_TRIGGER_STOP gives the last
> > > audio sample timestamp?
> >
> > No, it's the timestamp upon calling the trigger callback.
> > It has nothing to do directly with the first or the last sample.
> > (But usually the start trigger is the time of the first sample for
> >  capture, though.)
> >
> 
> Okay then if start trigger is the time of the first sample for capture,
> then is stop trigger is for last sample?

No, it's not necessarily the last sample.  It's the just time you stop
the stream.  The stop might happen some time after the last sample got
received.  The accuracy in that regard pretty much depends on the
hardware and the driver implementation.


Takashi

> For example, i'm printing the
> timestamp as given below. Similarly in which call back I can use the
> getrawmonotonic()
> for playback case.
> 
> static int snd_mychip_capture_trigger(struct snd_pcm_substream *substream,
> int cmd)
> 
> {
> 
>     struct timespec ts;
> 
> 
> 
>     switch(cmd) {
> 
>         case SNDRV_PCM_TRIGGER_START:
> 
>             getrawmonotonic(&ts);
> 
>             printk("1st audio sample received time:
> [%.6lu:%.9lu]\n",ts.tv_sec, ts.tv_nsec);
> 
>             break;
> 
>         case SNDRV_PCM_TRIGGER_STOP:
> 
>             getrawmonotonic(&ts);
> 
>             printk("Last audio sample received time:
> [%.6lu:%.9lu]\n",ts.tv_sec, ts.tv_nsec);
> 
>             break;
> 
>     }
> 
> 
> 
> }
> 
> 
> >
> >
> > Takashi
> >

  parent reply	other threads:[~2018-06-25 14:53 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAPY=qRT-AvUiLFLTx7MzMzreLkWK8Fk06egUMCJsVJ7VwgziuA@mail.gmail.com>
2018-06-25 14:34 ` [alsa-devel] first and last audio sample timestamp Takashi Iwai
     [not found]   ` <CAPY=qRSp7XO+swhPZy56zVPd5eBTh2PhXOfSyySsrhW-T1PnzA@mail.gmail.com>
2018-06-25 14:53     ` Takashi Iwai [this message]
     [not found]       ` <CAPY=qRSoxCDSWG7wyExP8t5USkrCFiYDyd3i28PR_tpbiJZp4Q@mail.gmail.com>
2018-06-25 15:08         ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5h7emmzzly.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=subhashbeerisetty@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox