aboutsummaryrefslogtreecommitdiffstats
path: root/alc/backends/dsound.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Avoid using al::vector unnecessarilyChris Robinson2023-05-121-4/+5
|
* Clean up some more includesChris Robinson2023-05-121-7/+7
|
* Use std::byte instead of a custom al::byteChris Robinson2023-05-041-2/+2
|
* Make and use a bit_cast functionChris Robinson2023-05-041-1/+2
| | | | Instead of reinterpret_casting between incompatible types
* Update ComPtr and use an out_ptr() functionChris Robinson2023-05-041-9/+6
|
* Add preliminary support for 7.1.4 output modesChris Robinson2022-11-031-0/+3
| | | | | | | | I don't know how different sound APIs handle 7.1.4 ("Atmos" or "Auro3D") output, but currently it simply specifies the additional channels with the height channel labels. This isn't likely how it works for a virtualized channel bed, for playing over other with-height configurations (7.1.2, 5.1.4, etc), but this should be an okay start.
* Handle 5.1 Rear with DSound playbackChris Robinson2022-06-081-42/+44
|
* Handle 3D7.1 as a separate channel configurationChris Robinson2022-04-261-2/+4
| | | | | | | It's treated as 5.1 + 2 aux channels. This allows AL_DIRECT_CHANNELS_SOFT to behave better, not forwarding rear left/right channel inputs to lower front and upper rear, and allows reporting a more appropriate output mode to the app instead of 7.1.
* Fix a double-releaseChris Robinson2021-10-231-2/+0
|
* Use a flag to indicate headphone-like outputChris Robinson2021-10-231-2/+1
|
* Avoid 5.1Rear as its own channel configurationChris Robinson2021-07-301-5/+1
| | | | | | It messes with 5.1 sources using direct channels, and the surround channels are supposed to map to the side labels. Individual backends can deal with the channel order/label differences, as they already do to a degree.
* Update include headersChris Robinson2021-04-271-4/+4
| | | | Don't add alc/ to the include paths.
* Use the DeviceBase for the backendChris Robinson2021-04-241-3/+3
|
* Move helpers.cpp to coreChris Robinson2021-04-221-1/+1
|
* Move the ComPtr wrapper to a common headerChris Robinson2021-03-081-63/+1
|
* Allow calling BackendBase::open multiple times on playback devicesChris Robinson2021-03-081-47/+91
| | | | | | | | | | | It will not be called while the device is running. If the first call succeeds, a subsequent call that happens to fail must leave the existing device state as it was so it can be resumed. This is a rough first pass. It will fail when trying to re-open the same device which can only be opened once (for instance, with direct hardware access, on hardware that doesn't do its own mixing). Some backends won't guarantee the new device is usable until the reset() or start() call.
* Use a standard bitset for bitfield flagsChris Robinson2021-01-221-2/+2
|
* Move alexcpt to coreChris Robinson2020-12-241-1/+0
|
* Avoid AL/ALC types in the backendsChris Robinson2020-12-171-8/+8
|
* Don't use ALC error enums for the backend error codeChris Robinson2020-12-171-12/+15
|
* Don't return an enum from captureSamplesChris Robinson2020-12-171-12/+9
| | | | It's always no_error
* Move logging to coreChris Robinson2020-12-171-1/+1
|
* Cast the ringbuffer size to the correct typeChris Robinson2020-10-051-1/+1
|
* Simplify some DSound capture mathChris Robinson2020-10-031-5/+5
|
* Recognize GUID name strings with the DSound backendChris Robinson2020-09-101-8/+22
|
* Change a couple functions into member functionsChris Robinson2020-08-071-7/+7
|
* Set channel labels from WFX channel masksChris Robinson2020-06-151-103/+48
|
* Move a couple related functions to the backend baseChris Robinson2020-06-121-2/+2
|
* Don't return a bool from the backend start methodChris Robinson2020-04-281-16/+8
|
* Use standard attribute declarationsChris Robinson2020-04-131-1/+2
|
* Get rid of a redundant enumChris Robinson2020-03-301-3/+3
|
* Return the enumerated device names from the backendChris Robinson2020-03-301-17/+20
| | | | Rather than using an out parameter.
* Remove unnecessary locks now that the mixer doesn't require oneChris Robinson2020-02-261-3/+0
|
* Make CreateRingBuffer a static RingBuffer methodChris Robinson2020-01-101-1/+1
|
* Handle padding between device sample framesChris Robinson2019-12-211-2/+3
| | | | | | | | The padding must be constant and sample type aligned (e.g. some fixed multiple of two bytes between the start of two consecutive frames for 16-bit output). The intent is to always have the ability for stereo output with WASAPI even if the device has some other unsupported configuration, as long as front-left and front-right exist.
* Make C callbacks noexceptChris Robinson2019-10-091-5/+4
| | | | | No telling what would happen if exceptions managed to get back into presumably C-based callers.
* Never return null from CreateRingBufferChris Robinson2019-10-081-3/+0
| | | | | Allocation failure would already throw a bad_alloc anyway, now a size overflow throws an exception too.
* Clean up some exception messages and avoid duplicate log messagesChris Robinson2019-10-081-5/+0
|
* Avoid raw lock/unlock callsChris Robinson2019-10-071-2/+3
|
* Use exceptions for backend open failuresChris Robinson2019-10-071-71/+51
|
* Fix some Windows warningsChris Robinson2019-09-181-3/+3
|
* Return and pass more appropriate types for backendsChris Robinson2019-09-151-14/+14
|
* Clean up (most) implicit conversions in the backendsChris Robinson2019-09-141-8/+12
|
* Return unsigned values from the FromDevFmt functionsChris Robinson2019-09-131-2/+2
|
* Move the wstr converters to a separate headerChris Robinson2019-08-111-0/+1
|
* Move the dynload decls and defs to commonChris Robinson2019-08-101-0/+1
|
* Rename Alc to alcChris Robinson2019-07-281-0/+938