https://git.reactos.org/?p=reactos.git;a=commitdiff;h=57516edb428fb5870a616…
commit 57516edb428fb5870a616925787bad0ac6423683
Author: Joachim Henze <Joachim.Henze(a)reactos.org>
AuthorDate: Mon Aug 30 19:52:30 2021 +0200
Commit: Joachim Henze <Joachim.Henze(a)reactos.org>
CommitDate: Mon Aug 30 19:52:30 2021 +0200
[WDMAUD.DRV] Improve AC97 driver from rapps by defining USE_MMIXER_LIB
By taking alternative code-paths in WdmAud and bypassing Sysaudio.
This is my 2nd attempt to commit that.
Using USE_MMIXER_LIB relies on those 2 previous patches:
0.4.15-dev-765-g b8e936a57b4770e133772cf2dd66f30671a1524b CORE17214 (#3148)
wdmaud-racecondition-fix and
0.4.15-dev-796-g a27f0debca4c0fe8cd916d2406124f9d30ae5dbe CORE17276
winmm:mixer-testbot-crash-fix
Defining USE_MMIXER_LIB will fix/improve:
- the test execution times of "GCCLin_x86 on Test VBox" will be dramatically
improve (iirc by ~10-15min)
- CORE-8726/CORE-9986/CORE-16564 AC97 driver from rapps will work in the same session
that the driver is installed, not a single reboot is needed anymore
- CORE13202 Unhandled exception from wdmaud.drv when recording sound in Scratch 1.4
leads to app-crash (gets fixed even for older builds that did not receive
0.4.15-dev-2794-g 81f8bce yet)
- CORE-13488 A deadlock in "DiabloII" character selection screen and
"The Lion King II"
- CORE-9981 "DosBox + Commander Keen6" almost 100% fixed, DosBox + Commander
Keen6 properly plays music instead of garbled output,
same improvement for "ScummVM 2.0 with Monkey Island 2"
The playback is not yet *entirely* perfect, still a few hiccups now and then, but by
orders of magnitude better than before.
Defining USE_MMIXER_LIB will also have some negative aspects:
- CORE-17277 crash of dsound:duplex on "GCCLin_x86 on Test VBox" gets
unhidden on the bot, but was proven to be broken even beforehand already. The driver
beforehand was just not found and the tests were skipped therefore.
- CORE-17278 crash of dsound:capture on "GCCLin_x86 on Test VBox" gets
unhidden on the bot, but was proven to be broken even beforehand already. The driver
beforehand was just not found and the tests were skipped therefore.
- It may also have a negative impact for CORE-17285 "Realtek HD Audio" but
Oleg Dubinsky accepted to tolerate that and aims to approach it differently. I will
resolve that as WontFix now.
---
dll/win32/wdmaud.drv/wdmaud.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dll/win32/wdmaud.drv/wdmaud.c b/dll/win32/wdmaud.drv/wdmaud.c
index dfd8ea0361e..45308b3aff2 100644
--- a/dll/win32/wdmaud.drv/wdmaud.c
+++ b/dll/win32/wdmaud.drv/wdmaud.c
@@ -18,6 +18,7 @@
#include <debug.h>
#include <mmebuddy_debug.h>
+#define USE_MMIXER_LIB
#ifndef USE_MMIXER_LIB
#define FUNC_NAME(x) x##ByLegacy
#else