aboutsummaryrefslogtreecommitdiffstats
path: root/alc/backends
Commit message (Collapse)AuthorAgeFilesLines
* Keep track of uncaptured samples with the Oboe backendChris Robinson2022-04-061-8/+41
| | | | | Stopping Oboe capture drops uncaptured samples, whereas OpenAL keeps them. Also make sure the reported available count doesn't go backwards without reading.
* Avoid a shadow declaration warningChris Robinson2022-03-301-7/+7
|
* Define the CoreAudio default name only when neededChris Robinson2022-02-231-2/+4
|
* Make some local constexpr variables staticChris Robinson2022-02-231-2/+2
|
* Avoid using an if_constexpr macroChris Robinson2022-02-222-15/+9
| | | | | It doesn't actually use if constexpr, and compilers are smart enough to optimize. Some functions can use templates instead.
* Make a couple more operator bools explicitChris Robinson2022-02-201-1/+1
|
* Trace the actual device form factor in pipewireChris Robinson2022-02-161-11/+5
|
* Don't trace ignored pipewire stream nodesChris Robinson2022-02-151-1/+3
|
* Reset mIs51Rear only when updating the channel configChris Robinson2022-02-151-4/+4
|
* Log when a pipewire device is removedChris Robinson2022-02-151-1/+6
|
* Mark another operator bool as explicitChris Robinson2022-02-151-1/+1
|
* Add some common wrapper methods to ThreadMainloopChris Robinson2022-01-261-42/+46
|
* Default the PipeWire lock's operator= instead of using the baseChris Robinson2022-01-261-1/+1
|
* Handle 5.1 using rear channels with PulseAudio and PipeWireChris Robinson2022-01-252-105/+60
|
* Move some definitions to where they're usedChris Robinson2022-01-241-2/+2
|
* Avoid a messy while loop to remove from a vectorChris Robinson2022-01-221-11/+8
|
* Restructure the PipeWire backend code a bitChris Robinson2022-01-221-219/+235
| | | | | Make some functions into class member functions, and move related declarations closer together.
* Avoid holding a pw_proxy, hold the type it representsChris Robinson2022-01-221-36/+70
|
* Handle duplex devices with PipeWireChris Robinson2022-01-221-22/+43
|
* Load the PipeWire real-time configurationChris Robinson2022-01-171-18/+57
| | | | | This is apparently needed to ensure RT threads get RT priority, separately from requesting RT processing.
* Avoid a static-sized char array on the stackChris Robinson2021-12-311-16/+22
|
* Avoid some unnecessary copyingChris Robinson2021-12-311-10/+9
|
* Some more restructuring of the PipeWire backendChris Robinson2021-12-301-73/+58
|
* Set the node rate for the pipewire capture stream tooChris Robinson2021-12-291-0/+1
|
* Move some constexpr variables to where they're usedChris Robinson2021-12-281-50/+47
|
* C++-ize the PipeWire backend some moreChris Robinson2021-12-281-61/+94
| | | | | | | | | Use unique_ptrs for a few more types to avoid explicit free calls. Move ThreadMainloop::wait to the unique_lock wrapper that's holding the lock. Since the mainloop acts as both a lock and condition_variable, passing the lock to the wait method makes no sense. Also have it optionally take a predicate functor to dictate when to stop waiting.
* Check for audio devices when initializing PipeWireChris Robinson2021-12-251-3/+64
| | | | | | | | | | | This isn't great since it can fail when PipeWire is handling audio but no devices are available at initialization, causing the Pulseaudio or ALSA backend to be selected instead. Future versions of PipeWire are expected to have a better way to detect if it's handling audio, but for now this is better than nothing. A config option is available for users to have the PipeWire backend be usable even with no devices at initialization, just in case.
* Set the PipeWire stream rateChris Robinson2021-12-161-0/+1
| | | | | When requesting a non-default rate, this may allow the hardware to run at the requested rate.
* Downgrade some ERRs to WARNsChris Robinson2021-11-211-2/+2
|
* Make the backend pointer part of ALCdevice instead of DeviceBaseChris Robinson2021-11-191-2/+1
|
* Handle SPA_CHOICE_None for sample rates from PipeWireChris Robinson2021-11-141-52/+59
|
* Report unexpected types for the sample rate from PipeWireChris Robinson2021-11-141-42/+44
|
* Support "enum" choices for sample rates with PipeWireChris Robinson2021-11-141-8/+48
|
* Don't trace unused metadata properties and node typesChris Robinson2021-10-261-6/+0
| | | | | | | As useful as it may sometimes be to see what's being provided, at least under kwin_wayland a not-insignificant number of video-related nodes and metadata properties are sent through normal use of the system (most notably when hovering over the taskbar to see window thumbnails).
* Don't change the requested format when it's usable with WASAPIChris Robinson2021-10-251-19/+53
|
* Fix a double-releaseChris Robinson2021-10-231-2/+0
|
* Use a flag to indicate headphone-like outputChris Robinson2021-10-234-8/+6
|
* Remove the last external uses of GetConfigValueChris Robinson2021-10-212-34/+41
|
* Make a construct_at method amd use itChris Robinson2021-10-081-4/+4
|
* Avoid double indirection to access spa_data::datasChris Robinson2021-10-071-13/+13
|
* Fix the render step value for WinMMChris Robinson2021-10-051-3/+1
|
* Remove a couple unnecessary variablesChris Robinson2021-10-031-4/+2
|
* Make simpler likely/unlikely functions and use them in some placesChris Robinson2021-10-031-6/+6
|
* Use a constexpr char array instead of duplicating stringsChris Robinson2021-09-191-5/+6
|
* Replace a hardcoded offset valueChris Robinson2021-09-141-1/+1
|
* Wait for the pipewire capture stream to start before returningChris Robinson2021-09-131-1/+9
|
* Track whether nodes are marked as headphonesChris Robinson2021-09-121-2/+14
| | | | | | Newer versions of PipeWire copy the PW_KEY_DEVICE_FORM_FACTOR property to the sink node, so this should work to detect whether the device should be treated as headphones or not.
* Use a constexpr char array for a reused prefix stringChris Robinson2021-09-121-4/+6
|
* Use a local unique_ptr array instead of a struct memberChris Robinson2021-09-011-6/+5
| | | | For the sndio poll fds.
* Remove a leftover debug traceChris Robinson2021-09-011-1/+0
|