[alsa-devel] Timing of linked devices
louis at museresearch.com
louis at museresearch.com
Sat Jun 13 00:52:03 CEST 2009
I am developing an application which opens both inputs and outputs for
digital and s/pdif (so, 4 devices). The sync IDs all match. However,
under certain conditions, I am receiving partial buffers from the input.
So, I have a few questions:
Does linking input and output devices, from a programmer's perspective,
mean that input is ready at precisely the same time that the device is
ready to output a buffer? Or, does it only mean that the ins and outs
will be synchronized for each given buffer? More to the point, will
blocking on a write also accurately tell the program when the device is
ready for a read (including under non-ideal circumstances like after a
bunch of xruns)?
And, in the case that I am doing a non-blocking read (pcm_read) from a
buffer which is not yet ready, should I receive an outdated buffer, a
blank buffer, or one which has both partially new and partially old data?
I am using ALSA 1.0.15 and the ICE1724 driver.
Thanks in advance for your help!
- Louis
More information about the Alsa-devel
mailing list