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 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel