Details
Description
Reproducing steps:
- Replace dsound.dll, dxdiag.exe and dxdiagn.dll in system32 onto MS versions (from Win2k3 or from DirectX End-User Runtimes (Feb 2010) from Rapps, dxnt.cab archive).
- Register dxdiagn.dll from "Run" dialog or from cmd via
regsvr32 dxdiagn.dll
|
command.
- Reboot the system to save the registry settings.
- Run dxdiag.exe from the Start menu -> Programs -> Accessories -> Utilites -> ReactX Diagnostic Tool (this is old link, but it will launch MS DxDiag) or from "Run" dialog.
- Click "Yes" or "No" in the question dialog, and after this DxDiag will launch.
- Go to the "Sound" tab. After opening it, you will see an error at the bottom of window that the audio service is not running. And due to this, the "DirectSound test" button will inactive.
Replacing dsound.dll is needed in order to allow MS DxDiag to detect the sound card. Without this, will another error that the sound board is not found or it has no driver installed.
The source of problem is our audio service has a wrong name "RosAudioSrv" instead of "AudioSrv" as done in Win2k3. So I see only one solution for this problem: rename our RosAudioSrv to AudioSrv in source files of all components which have it. After my fix, the ReactOS Audio Service is renamed successfully, and DxDiag detects it fine and allows user to run DirectSound test properly. Btw, that test works almost correctly: only with mono channel it has appcrashes and no sound, but with stereo channels playback works just fine for me.
P.S.: Please note that it will work in ReactOS (with dsound.dll replaced) only in older VirtualBox versions, up to 5.1.38, as far as I tested for now. Stating with 5.2.X branch, all apps which use DirectSound audio input/output will just hang at start in ROS because there were some fixes in VBox DirectSound backend in 5.2.8 release. See my comment in CORE-16011: https://jira.reactos.org/browse/CORE-16011?focusedCommentId=116816&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-116816.