[alsa-devel] usb: offset in trigger_tstamp?

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Thu Nov 20 17:56:29 CET 2014


I was trying to find a bug in the timestamping logic I am working on and after some time I realized the USB audio class driver seems to have an issue.
If I instrument the code in sound/usb/pcm.c, I see a offset of up to 6ms between the  snd_usb_substream_playback_trigger and prepare_playback_urb steps

[45053.102625] trigger_start  
[45053.108320] prepare_playback_urb

My understanding is that empty URBs are submitted in the prepare step to avoid underflows, which is fine. The problem with that is that the trigger_tstamp value is captured before audio transfers actually start and there is a constant offset when trying to track audio/system time drifts or do basic a/v sync.

Any suggestions on how to fix this? I can't figure out if this is an off-by-one error or another bug.
Feedback welcome.
-Pierre







More information about the Alsa-devel mailing list