ALSA implementation
Eric Pouech
eric.pouech at wanadoo.fr
Thu Sep 21 15:11:19 CDT 2006
Jan Zerebecki wrote:
>On Wed, Sep 20, 2006 at 05:55:03PM +0200, Marcus Meissner wrote:
>
>
>>On Wed, Sep 20, 2006 at 05:54:06PM +0200, Tomas Carnecky wrote:
>>
>>
>>>Jan Zerebecki wrote:
>>>
>>>
>>>>As explained in the mail refrenced above the main problem is that
>>>>in wine the alsa callback signal (that we currently use) won't
>>>>work properly without special care, but the fd based method (for
>>>>example with select) should work as expected.
>>>>
>>>>
>>>Why won't it work without special care? Is it because of the SIGIO
>>>signal? Wouldn't the fd-method require a separate thread?
>>>
>>>
>
>It is because how (all) signals work and how wine works. The fd method
>may not require a separate thread when we can combine the event loop of
>the currently used sound thread with e.g. the select for the alsa-lib
>fd(s), thu I didn't look at that and it might not be possible.
>
>
this looks very possible to me... and likely the cleanest solution
in the event loop we only wait on a single item (the fd used for
signaling a new event to be handled by the thread), so adding a poll on
a second fd seems very feasible
(alternative coding with win32 objects is also possible, though a bit
more trickier, but this could be dropped IMO, as it's currently broken
-> on event is lost if two are pushed before the playback thread gets a
chance to get them)
More information about the wine-devel
mailing list