aboutsummaryrefslogtreecommitdiffstats
path: root/alc/backends/pulseaudio.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Avoid using a macro to wrap standard attributesChris Robinson2022-12-061-12/+12
|
* Avoid LIKELY/UNLIKELY macrosChris Robinson2022-12-051-13/+13
|
* Add preliminary support for 7.1.4 output modesChris Robinson2022-11-031-1/+17
| | | | | | | | 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.
* Remove unnecessary includes and forward declarationsChris Robinson2022-09-231-7/+0
|
* Remove an unnecessary includeChris Robinson2022-09-221-1/+0
|
* Use PulseAudio's threaded mainloop instead of a custom oneChris Robinson2022-09-221-141/+160
|
* Handle 3D7.1 as a separate channel configurationChris Robinson2022-04-261-0/+2
| | | | | | | 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.
* Handle 5.1 using rear channels with PulseAudio and PipeWireChris Robinson2022-01-251-82/+14
|
* Use a flag to indicate headphone-like outputChris Robinson2021-10-231-2/+2
|
* Avoid 5.1Rear as its own channel configurationChris Robinson2021-07-301-7/+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-2/+2
| | | | Don't add alc/ to the include paths.
* Move GetChannelIdxByName and clean up some more includesChris Robinson2021-04-261-10/+26
|
* Use the DeviceBase for the backendChris Robinson2021-04-241-4/+4
|
* Move helpers.cpp to coreChris Robinson2021-04-221-1/+1
|
* Move declarations to a more appropriate headerChris Robinson2021-04-221-0/+1
|
* Fill the PulseAudio buffer before uncorking playbackChris Robinson2021-04-191-14/+14
|
* Don't force application name with pulseaudioIlya Fedin2021-03-181-8/+1
|
* Allow calling BackendBase::open multiple times on playback devicesChris Robinson2021-03-081-3/+14
| | | | | | | | | | | 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-3/+3
|
* Use a span instead of passing a vector by referenceChris Robinson2021-01-111-5/+5
|
* Make sure proper names are used for querying PulseAudio infoChris Robinson2021-01-101-5/+5
|
* Pass nullptr to pulse for default deviceIlya Fedin2021-01-101-42/+13
|
* Move alexcpt to coreChris Robinson2020-12-241-1/+0
|
* Avoid AL/ALC types in the backendsChris Robinson2020-12-171-16/+16
|
* Don't use ALC error enums for the backend error codeChris Robinson2020-12-171-14/+17
|
* Don't return an enum from captureSamplesChris Robinson2020-12-171-11/+9
| | | | It's always no_error
* Move logging to coreChris Robinson2020-12-171-1/+1
|
* Change a couple functions into member functionsChris Robinson2020-08-071-6/+6
|
* Use a predicate instead of a while loopChris Robinson2020-07-231-3/+3
|
* Print the name of unhandled PulseAudio channelsChris Robinson2020-06-151-1/+3
|
* Remove the Lower channel labels and rename the Upper labelsChris Robinson2020-06-151-7/+7
|
* Don't bother with otherwise unused Aux channelsChris Robinson2020-06-151-33/+37
|
* Don't return a bool from the backend start methodChris Robinson2020-04-281-6/+4
|
* Use standard attribute declarationsChris Robinson2020-04-131-0/+1
|
* Report better latency when PulseAudio has no timing infoChris Robinson2020-03-301-5/+5
|
* Get rid of a redundant enumChris Robinson2020-03-301-3/+3
|
* Return the enumerated device names from the backendChris Robinson2020-03-301-3/+7
| | | | Rather than using an out parameter.
* Protect the call to pa_mainloop_quit with the mutexChris Robinson2020-03-291-1/+4
|
* Make some functions private methodsChris Robinson2020-03-281-19/+19
|
* Avoid AL[C]boolean for internal useChris Robinson2020-03-281-2/+2
|
* Make sure prebuf is filled when starting pulseaudio playbackChris Robinson2020-03-271-1/+25
|
* Use "zero-copy" writes with pulseaudio playbackChris Robinson2020-03-261-6/+20
|
* Avoid a function call to get the channel countChris Robinson2020-03-181-1/+1
|
* Rename a method to be clearerChris Robinson2020-03-181-15/+13
|
* Make the pulseaudio enumeration functions class methodsChris Robinson2020-03-181-112/+113
|
* Remove a couple unused methodsChris Robinson2020-03-181-2/+0
|
* Remove unnecessary locks now that the mixer doesn't require oneChris Robinson2020-02-261-4/+0
|
* Handle padding between device sample framesChris Robinson2019-12-211-1/+1
| | | | | | | | 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.
* Use one PulseAudio mainloop per deviceChris Robinson2019-10-091-221/+270
| | | | | To help avoid devices blocking on each other when handling asynchronous messages.
* Remove a useless prebuf check with PulseAudioChris Robinson2019-10-091-14/+0
|