Yair K. kirjoitti:
> On Tuesday 19 August 2008 15:57:47 Hannu Savolainen wrote:
>   
>> Ok.
>>
>> I split oss_audio_chpoll() to separate input and output handlers. Now 
>> poll/select will report available data if dmap->interrupt_counter > 0. 
>> This counter gets incremented at each fragment boundary. Calling 
>> GETIPTR/GETOPTR clears the counter to zero. I think approach should work 
>> because every mmap application will make these calls.
>>
>> Best regards,
>>     
>
> Following this change, aRts takes 100% CPU and aborts. strace output is 
> attached (I didn't try to play anything, just start and SIGINT).
>   
This change will drive the CPU to 100% if the app doesn't call 
GETIPTR/GETOPTR to clear the counters every time after select/poll has 
reported device ready. If you change pulseaudio to do these calls (even 
it doesn't need the info) then select/poll should work OK.

Best regards,

Hannu


_______________________________________________
oss-devel mailing list
oss-devel@mailman.opensound.com
http://mailman.opensound.com/mailman/listinfo/oss-devel

Reply via email to