Opened 17 years ago
Closed 17 years ago
#6538 closed enhancement (fixed)
Rewrite win32 directx audio output, add 5.1 and SPDIF support
| Reported by: | Owned by: | Nigel | |
|---|---|---|---|
| Priority: | minor | Milestone: | unknown |
| Component: | Ports - Windows | Version: | head |
| Severity: | medium | Keywords: | win32 directx |
| Cc: | Ticket locked: | no |
Description
The existing implementation of win32 directx audio (not to be confused with "windows audio") is missing a lot of functionality (soundstretch, upmix, etc.) because it overrides the AudioOutputBase class at a low level. It is not worthwhile to re-implement these base class features in the directx subclass.
This rewrite implements audio output in the standard way (WriteAudio called from OutputAudioLoop), exposing the functionality that was previously hidden. SPDIF passthru, 5.1 PCM support, and volume control are also added as part of this rewrite.
Some sound card drivers, notably Creative Labs, downmix 5.1 PCM streams to stereo when using the "windows audio" interface, so it is worthwhile to have a functioning DirectX audio output class.
Attachments (7)
Change History (12)
by , 17 years ago
| Attachment: | aodx_trunk.patch added |
|---|
by , 17 years ago
| Attachment: | aowin_trunk.patch added |
|---|
by , 17 years ago
| Attachment: | aodx_trunk.2.patch added |
|---|
Disregard the first patch. This revision adds a check for the rare case that Pause gets called before the device is open.
comment:1 by , 17 years ago
Added backports for both windows audio and directx audio, so that 0.21-fixes users also can enjoy analog 5.1 and SPDIF on win32.
by , 17 years ago
| Attachment: | 6538-aodx_trunk.patch added |
|---|
Replaces previous aodx patch. Adds additional buffer check to avoid looping audio when CPU is overloaded
comment:2 by , 17 years ago
i built head with this just now and it works very well. audio and video are in sync. this is 2 channel analog output using DirectX:
hopefully this can be added to the code soon
comment:3 by , 17 years ago
here is the necessary changes for invoking this change in win32-packager.pl that is in case anyone else want to build it to test
comment:4 by , 17 years ago
(In [21106]) Windows audio improvements and fixes with patch from Jeff Lu. This adds 6 channel and digital output support to the AudioOutputWin class. Refs #6538.
comment:5 by , 17 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |

This patch adds SPDIF and 5.1 to audio_win, giving DirectX and Windows similar features (except for Creative Labs drivers as noted above)