aboutsummaryrefslogtreecommitdiffstats
path: root/alc/backends/wasapi.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Avoid 5.1Rear as its own channel configurationChris Robinson2021-07-301-15/+4
| | | | | | 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-3/+3
| | | | Don't add alc/ to the include paths.
* Use the DeviceBase for the backendChris Robinson2021-04-241-4/+4
|
* Move some more sources to coreChris Robinson2021-04-241-1/+1
|
* Move helpers.cpp to coreChris Robinson2021-04-221-1/+1
|
* Don't activate the WASAPI device when initially opening itChris Robinson2021-03-171-17/+2
|
* Avoid returning objects with a reference parameterChris Robinson2021-03-161-13/+13
|
* Check that CoCreateInstance succeedsChris Robinson2021-03-161-13/+17
|
* 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-132/+130
| | | | | | | | | | | 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.
* Make PopCount and CountTrailingZeros more standard-likeChris Robinson2021-01-221-1/+2
|
* 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-17/+17
|
* Don't use ALC error enums for the backend error codeChris Robinson2020-12-171-7/+11
|
* Don't return an enum from captureSamplesChris Robinson2020-12-171-9/+6
| | | | It's always no_error
* Move logging to coreChris Robinson2020-12-171-1/+1
|
* Use inline functions for popcnt and ctz instead of macrosChris Robinson2020-10-131-1/+1
|
* Be more robust with to-mono channel conversionsChris Robinson2020-10-051-16/+52
|
* Fix a variable nameChris Robinson2020-10-051-53/+53
|
* Round (and clamp) the reftime instead of ceiling itChris Robinson2020-09-121-3/+3
|
* Avoid repeating string literalsChris Robinson2020-09-111-5/+7
|
* Use an RAII wrapper to manage COM object referencesChris Robinson2020-09-051-87/+111
|
* Avoid duplicate WASAPI devices by matching GUIDsChris Robinson2020-09-041-33/+31
|
* Use a wait predicate instead of a while loopChris Robinson2020-08-121-2/+1
|
* Change a couple functions into member functionsChris Robinson2020-08-071-6/+6
|
* Set channel labels from WFX channel masksChris Robinson2020-06-151-13/+11
|
* Move a couple related functions to the backend baseChris Robinson2020-06-121-1/+1
|
* Don't return a bool from the backend start methodChris Robinson2020-04-281-8/+10
|
* Use standard attribute declarationsChris Robinson2020-04-131-1/+2
|
* Clean up some more unnecessary uses of AL typesChris Robinson2020-04-081-1/+1
|
* Get rid of a redundant enumChris Robinson2020-03-301-3/+3
|
* Return the enumerated device names from the backendChris Robinson2020-03-301-3/+6
| | | | Rather than using an out parameter.
* Remove the mutex from the backend baseChris Robinson2020-03-291-2/+4
|
* Clear the WASAPI device list when enumeratingChris Robinson2020-03-241-15/+12
|
* Don't send close messages for unopened WASAPI devicesChris Robinson2020-03-241-2/+10
|
* Avoid some pre-C++14 workaroundsChris Robinson2020-03-221-10/+9
|
* Remove unnecessary locks now that the mixer doesn't require oneChris Robinson2020-02-261-5/+6
|
* Make CreateRingBuffer a static RingBuffer methodChris Robinson2020-01-101-1/+1
|
* Make a duration type to handle WASAPI reference timesChris Robinson2019-12-221-34/+36
|
* Print the unhandled subformatChris Robinson2019-12-221-54/+54
|
* Try harder to find a matching WASAPI configurationChris Robinson2019-12-221-92/+110
| | | | | | As long as the lowest channel bits match the enabled bits for a given configuration, higher bits from any extra channels can be ignored since they can be skipped.
* Handle padding between device sample framesChris Robinson2019-12-211-18/+25
| | | | | | | | 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.
* Never return null from CreateRingBufferChris Robinson2019-10-081-5/+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-2/+0
|
* Avoid raw lock/unlock callsChris Robinson2019-10-071-4/+3
|
* Use exceptions for backend open failuresChris Robinson2019-10-071-13/+12
|
* Use FastBSinc24 for WASAPI and CoreAudio captureChris Robinson2019-09-281-1/+1
| | | | Given a fixed rate, there's no downside to the fast version.
* Make the resampler type an enum classChris Robinson2019-09-221-1/+1
|
* Fix some Windows warningsChris Robinson2019-09-181-9/+9
|