Hello,
I have a general question regarding the snd_pcm_open function. I'm working on a full duplex application (full duplex, meaning that I want to be able to read at any given time and write at any given time to the pcm device), but in every full duplex code example I have seen, the pcm device is opened twice. Once for read, another time for writing, and then the two are linked together. I guess now that I think about it I have two questions. 1) Is it necessary to open the device twice, as opposed to opening it once, passing SND_PCM_STREAM_PLAYBACK|SND_PCM_STREAM_CAPTURE instead? 2) Doesn't the link function do some sort of buffer synchronization between the two handles (read and write) so that you have to do reads and writes in order (i.e snd_pcm_readi, snd_pcm_writei, snd_pcm_readi, snd_pcm_writei, ....)? If so, and if one can open the pcm device with one handle using the SND_PCM_STREAM_PLAYBACK|SND_PCM_STREAM_CAPTURE call, does it perform in a similar way, so that you have to do synchronized reads and writes? Last Question: (I just thought of this one :-) ) 3) What behavior differences does one have if one doesn't link the two handles and one opens the device twice, as mentioned above? Thanks, Matthew Fredrickson _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel