On Sun, Jun 13, 2010 at 3:47 PM, Paul Dugas <paul@xxxxxxxxxxxxxxxxxxxx> wrote: > On Sun, Jun 13, 2010 at 10:10 AM, Clemens Ladisch <clemens@xxxxxxxxxx> > wrote: >> >> Paul Dugas wrote: >> > What's the "timestamp mode". Does it generate a timestamp each >> > period? How would I access that timestamp? >> >> Set SND_PCM_TSTAMP_ENABLE to generate a timestamp whenever the hardware >> position is updated. Call snd_pcm_status to read the position and the >> corresponding timestamp. > > So, does setting SND_PCM_TSTAMP_ENABLE change the meaning of the tstamp > field in the status? I believe I read somewhere that with TSTAMP_NONE, > tstamp was set to "now" when readi() was called. Does it change to meaning > " the timestamp od the first frame returned"? If not, where do I look? I spun up a test program but I'm not seeing what I expect. I'm still missing something. I'm calling snd_pcm_status() and snd_pcm_status_dump() before each snd_pcm_readi() call. I see the "trigger_time" not changing (after the first readi call). The "tsamp" isn't increasing in consistent steps. I expect it to be consistently 10,666 usecs per the "period_time" value below. The PCM device is configured like so: > Plug PCM: Linear Integer <-> Linear Float conversion PCM (S32_LE) > Its setup is: > stream : CAPTURE > access : RW_INTERLEAVED > format : FLOAT64_LE > subformat : STD > channels : 8 > rate : 96000 > exact rate : 96000 (96000/1) > msbits : 64 > buffer_size : 32768 > period_size : 1024 > period_time : 10666 > tstamp_mode : ENABLE > period_step : 1 > avail_min : 1024 > period_event : 0 > start_threshold : 1 > stop_threshold : 32768 > silence_threshold: 0 > silence_size : 0 > boundary : 4611686018427387904 > Slave: Route conversion PCM (sformat=S32_LE) > Transformation table: > 0 <- 0 > 1 <- 1 > 2 <- none > 3 <- none > 4 <- none > 5 <- none > 6 <- none > 7 <- none > Its setup is: > stream : CAPTURE > access : MMAP_INTERLEAVED > format : S32_LE > subformat : STD > channels : 8 > rate : 96000 > exact rate : 96000 (96000/1) > msbits : 32 > buffer_size : 32768 > period_size : 1024 > period_time : 10666 > tstamp_mode : ENABLE > period_step : 1 > avail_min : 1024 > period_event : 0 > start_threshold : 1 > stop_threshold : 32768 > silence_threshold: 0 > silence_size : 0 > boundary : 4611686018427387904 > Slave: Hardware PCM card 0 'HDA Intel' device 0 subdevice 0 > Its setup is: > stream : CAPTURE > access : MMAP_INTERLEAVED > format : S32_LE > subformat : STD > channels : 2 > rate : 96000 > exact rate : 96000 (96000/1) > msbits : 32 > buffer_size : 32768 > period_size : 1024 > period_time : 10666 > tstamp_mode : ENABLE > period_step : 1 > avail_min : 1024 > period_event : 0 > start_threshold : 1 > stop_threshold : 32768 > silence_threshold: 0 > silence_size : 0 > boundary : 4611686018427387904 > appl_ptr : 0 > hw_ptr : 0 Hmmm.... Not sure what to try next. Paul _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel