On Wednesday 05 April 2006 09:45, Robert Reif wrote:
One problem that I am seeing is that there is no practical way to guarantee synchronization between the sound card hardware and the sound card thread. OSS doesn't support poll/select reliably in all drivers and the esd driver just writes to a socket. We try to synchronize to the hardware by using a one-shot timer set to the expected processing time calculated from the sound card data format. The problem I see in the esd driver is that we set a timeout to poll of for example 12 ms but what we really get is is a 20 ms sleep. We compensate for this by sending as much data as we can. Using virtualized hardware like alsa dmix just removes us even further from the hardware we would like to synchronize to by blocking.
Apart from legacy, is there a reason you haven't moved en-masse to alsa? It is the only supported driver in current kernels now. Talking to oss, the oss compatibility module or worse through a sound driver like esd, arts, gstreamer, jack... etc just adds more potential for desynchronisation.
Cheers, Con