Implement THREAD_PRIORITY_TIME_CRITICAL

Robert Reif reif at earthlink.net
Tue Apr 4 19:08:40 CDT 2006


Con Kolivas wrote:

>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
>
>  
>
In my case, legacy is very important because my employer specifies
for example a stock RH7.x or RH9 system.  Periodic sleeping works
fairly reliably with real OSS and all the other drivers are spinnoffs of
this design.  Moving to a better designed driver using ALSA is the
way to go but unfortunately it's not an option for me.




More information about the wine-devel mailing list