• Sebastian Lackner's avatar
    dsound: Various improvements to EAX support. · 78e40685
    Sebastian Lackner authored
    The previous version had several problems (see wine-staging bug 195):
    * IDirectSoundBufferImpl_Duplicate doesn't initialize EAX properties
    * Various race-conditions between initializing EAX and setting buffer properties
    * Missing locks while iterating through the list of sound buffers
    
    To fix problems 2 and 3 it might seem useful to introduce additional locking,
    but testing reveals that it slows down the mixer thread too much. Some applications
    use a huge amount of buffers, and its a waste of time to update them all immediately.
    Thats why this patch adds a 'reverb_update' variable, the mixer thread will
    update it later when necessary (-> much faster). Moreover, to avoid unnecessary
    locking, we initialize the EAX-specific properties always (for both the device and
    the buffers).
    78e40685
Name
Last commit
Last update
dlls Loading commit data...
documentation Loading commit data...
fonts Loading commit data...
include Loading commit data...
libs Loading commit data...
loader Loading commit data...
nls Loading commit data...
po Loading commit data...
programs Loading commit data...
server Loading commit data...
tools Loading commit data...
.editorconfig Loading commit data...
.gitlab-ci.yml Loading commit data...
.mailmap Loading commit data...
ANNOUNCE Loading commit data...
AUTHORS Loading commit data...
COPYING.LIB Loading commit data...
LICENSE Loading commit data...
LICENSE.OLD Loading commit data...
MAINTAINERS Loading commit data...
README Loading commit data...
VERSION Loading commit data...
aclocal.m4 Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...