[alsa-devel] alsa timestamps

Takashi Iwai tiwai at suse.de
Tue Nov 20 15:43:38 CET 2007


At Tue, 20 Nov 2007 16:54:32 +0200,
Heikki Lindholm wrote:
> 
> Takashi Iwai kirjoitti:
> > At Mon, 19 Nov 2007 15:41:46 +0200,
> > Heikki Lindholm wrote:
> >> Jaroslav Kysela kirjoitti:
> >>> On Mon, 19 Nov 2007, Heikki Lindholm wrote:
> >>>
> >>>> Heikki Lindholm kirjoitti:
> >>>>> Hello list,
> >>>>>
> >>>>> I took up some old dusty code of mine that uses snd_pcm_state followed 
> >>>>> by snd_pcm_status_get_tstamp when in capture mode. The code used to 
> >>>>> work, but now the returned timestamps are all zeroes. Is there some API 
> >>>>> change done recently or is the whole timestamping deprecated or 
> >>>>> something? I've tried with different drivers on ubuntu's alsa .14 and 
> >>>>> gentoo's .14. I've also tried mmap'ed and r/w modes, and I'm setting the 
> >>>>> TSTAMP_MMAP sw param.
> >>>> I figured out that this doesn't happen when using hw:x,y devices. Is it 
> >>>> a documented feature that some (software?) devices don't fill in timestamps?
> >>> I think that it should be fixed. Could you send us 'snd_pcm_dump()' for a 
> >>> non-working device? It's probably ommited code in direct pcm plugins (dmix 
> >>> & etc.).
> >> Here goes. The driver is snd_aoa. It seems as if the timestamp mode 
> >> isn't propagated to the hw device.
> > 
> > AFAIK, the time-stamp mode isn't handled properly with direct plugins
> > because of its nature.  Since the direct plugins share the same PCM
> > hardware instance with multiple processes, you cannot change the
> > parameter arbitrarily from a single client.
> > 
> > We may implement an emulation in alsa-lib instead, though...
> 
> For the time being, is there any other way of determining whether a pcm 
> supports time stamps than just trying out and seeing if zero is all that 
> comes out?

Hmm, at the second look at the dmix/dsnoop code, it has some lines
that actually update the timestamp value (as emulation).  So,
basically it should work.  Maybe some other parts are broken...
Do you have a small test case code just for checking?


thanks,

Takashi


More information about the Alsa-devel mailing list