Hi Joerg,
2010/3/11 <Joerg-Cyril.Hoehle(a)t-systems.com>:
> Hi,
>
> alas, even though mciavi contains lots of Critical Sections,
> it's not enough to protect against 2 threads calling Play and Close
> concurrently. I believe something entirely different would be
> needed: either a complete serialization of messages (like the OSS
> and ALSA drivers), or a concept of transactions.
That code sucks and as soon as possible I'm getting rid of it. Don't
duplicate it please. It can be done without such a horrible ring
buffer design, since there is really no reason to have a separate
thread alive for audio. Using a winmm timer there would remove the
need for that thread altogether, and as part of my sound rewrite I
will write a new winmm driver that forwards to the new audio api,
regardless of what that api might be. So rest of wine-devel, don't
restart the flamewar in this thread. ;)
Cheers,
Maarten