Opened 15 years ago
Closed 15 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)
Changed 15 years ago by
Attachment: | aodx_trunk.patch added |
---|
Changed 15 years ago by
Attachment: | aowin_trunk.patch added |
---|
Changed 15 years ago by
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.
Changed 15 years ago by
Attachment: | aodx_21fixes.patch added |
---|
Backport for DirectX audio on 0.21-fixes
Changed 15 years ago by
Attachment: | aowin_21fixes.patch added |
---|
Backport for windows audio on 0.21-fixes
comment:1 Changed 15 years ago by
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.
Changed 15 years ago by
Attachment: | 6538-aodx_trunk.patch added |
---|
Replaces previous aodx patch. Adds additional buffer check to avoid looping audio when CPU is overloaded
comment:2 Changed 15 years ago by
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 Changed 15 years ago by
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 Changed 15 years ago by
(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 Changed 15 years ago by
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)