Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Move a couple related functions to the backend base | Chris Robinson | 2020-06-12 | 18 | -18/+145 |
| | |||||
* | Check the returned sample endianess with sndio | Chris Robinson | 2020-06-07 | 1 | -0/+6 |
| | |||||
* | Fix a return value | Chris Robinson | 2020-06-07 | 1 | -1/+1 |
| | |||||
* | Use a safer layout if sndio changes the channel count | Chris Robinson | 2020-06-07 | 1 | -61/+78 |
| | |||||
* | sndio: Support more than 2 channels | Daniel Gibson | 2020-06-07 | 1 | -2/+32 |
| | | | | | | | So far the sndio backend only supports Mono and Stereo, but sndio supports up to 16 channels (64 in their current git code). This adds support for all the openal-soft formats (DevFmt*). I tested this on Linux with 5.1 surround speakers. | ||||
* | Don't return a bool from the backend start method | Chris Robinson | 2020-04-28 | 18 | -198/+120 |
| | |||||
* | Set the device name in the Oboe backend | Chris Robinson | 2020-04-20 | 1 | -0/+2 |
| | |||||
* | Trace the opened Oboe stream properties | Chris Robinson | 2020-04-19 | 1 | -6/+6 |
| | |||||
* | More gracefully relax the Oboe format request | Chris Robinson | 2020-04-19 | 1 | -21/+23 |
| | |||||
* | Try to be more robust with the Oboe format | Chris Robinson | 2020-04-18 | 1 | -8/+45 |
| | |||||
* | Initial implementation for Oboe-based playback | Chris Robinson | 2020-04-18 | 1 | -4/+185 |
| | |||||
* | Add an Oboe backend stub | Chris Robinson | 2020-04-18 | 2 | -0/+47 |
| | |||||
* | Avoid a function call to get the frame step | Chris Robinson | 2020-04-13 | 1 | -1/+1 |
| | |||||
* | Use standard attribute declarations | Chris Robinson | 2020-04-13 | 10 | -4/+14 |
| | |||||
* | Use a common base for a couple exceptions | Chris Robinson | 2020-04-10 | 1 | -1/+18 |
| | |||||
* | Clean up some more unnecessary uses of AL types | Chris Robinson | 2020-04-08 | 2 | -2/+2 |
| | |||||
* | Report better latency when PulseAudio has no timing info | Chris Robinson | 2020-03-30 | 1 | -5/+5 |
| | |||||
* | Inline a small helper method | Chris Robinson | 2020-03-30 | 2 | -24/+24 |
| | |||||
* | Get rid of a redundant enum | Chris Robinson | 2020-03-30 | 33 | -67/+62 |
| | |||||
* | Return the enumerated device names from the backend | Chris Robinson | 2020-03-30 | 33 | -138/+176 |
| | | | | Rather than using an out parameter. | ||||
* | Inline a couple BackendBase methods | Chris Robinson | 2020-03-30 | 2 | -8/+3 |
| | |||||
* | Remove the mutex from the backend base | Chris Robinson | 2020-03-29 | 5 | -12/+17 |
| | |||||
* | Remove the QSA backend | Chris Robinson | 2020-03-29 | 2 | -979/+0 |
| | | | | | It's been broken for who knows how long, and could really do with a rewrite for the new interface anyway. | ||||
* | Protect the call to pa_mainloop_quit with the mutex | Chris Robinson | 2020-03-29 | 1 | -1/+4 |
| | |||||
* | Make some functions private methods | Chris Robinson | 2020-03-28 | 1 | -19/+19 |
| | |||||
* | Avoid AL[C]boolean for internal use | Chris Robinson | 2020-03-28 | 2 | -7/+7 |
| | |||||
* | Make sure prebuf is filled when starting pulseaudio playback | Chris Robinson | 2020-03-27 | 1 | -1/+25 |
| | |||||
* | Use "zero-copy" writes with pulseaudio playback | Chris Robinson | 2020-03-26 | 1 | -6/+20 |
| | |||||
* | Clear the WASAPI device list when enumerating | Chris Robinson | 2020-03-24 | 1 | -15/+12 |
| | |||||
* | Don't send close messages for unopened WASAPI devices | Chris Robinson | 2020-03-24 | 1 | -2/+10 |
| | |||||
* | Avoid some pre-C++14 workarounds | Chris Robinson | 2020-03-22 | 1 | -10/+9 |
| | |||||
* | Remove the check for stat() | Chris Robinson | 2020-03-21 | 2 | -4/+0 |
| | | | | It's POSIX-2001 standard | ||||
* | Avoid a function call to get the channel count | Chris Robinson | 2020-03-18 | 1 | -1/+1 |
| | |||||
* | Rename a method to be clearer | Chris Robinson | 2020-03-18 | 1 | -15/+13 |
| | |||||
* | Make the pulseaudio enumeration functions class methods | Chris Robinson | 2020-03-18 | 1 | -112/+113 |
| | |||||
* | Remove a couple unused methods | Chris Robinson | 2020-03-18 | 1 | -2/+0 |
| | |||||
* | Add a helper to wait for the device mix | Chris Robinson | 2020-03-03 | 1 | -2/+1 |
| | |||||
* | Remove unnecessary locks now that the mixer doesn't require one | Chris Robinson | 2020-02-26 | 17 | -61/+17 |
| | |||||
* | Remove a couple unnecessary type aliases | Chris Robinson | 2020-02-22 | 1 | -2/+0 |
| | |||||
* | Fix JACK process callback handling | Chris Robinson | 2020-01-12 | 1 | -50/+48 |
| | | | | | | The callback apparently can't be set after activation, but we can't allocate the ring buffer until after activation when the callback is already getting called. An ugly flag it is, then, I guess. | ||||
* | Don't allocate the ring buffer for JACK before activation | Chris Robinson | 2020-01-11 | 1 | -32/+20 |
| | | | | | | | | | | | | | | It seems the JACK server can send buffer size change events during device reset and wait on it, which causes a failure since the change event can't be processed during a reset. It's otherwise impossible to safely disable the change event callback during a reset since the lock is already held and the callback can be waiting to acquire it. The only guarantee we seem to have is the event callback won't be invoked after jack_activate succeeds. So instead, the buffer size can be queried after jack_activate and the ring buffer allocated then, instead of using an event callback. This does mean the buffer size can change with a start() call, but it's better than a failure to start. | ||||
* | Make CreateRingBuffer a static RingBuffer method | Chris Robinson | 2020-01-10 | 10 | -13/+13 |
| | |||||
* | Make a duration type to handle WASAPI reference times | Chris Robinson | 2019-12-22 | 1 | -34/+36 |
| | |||||
* | Print the unhandled subformat | Chris Robinson | 2019-12-22 | 1 | -54/+54 |
| | |||||
* | Try harder to find a matching WASAPI configuration | Chris Robinson | 2019-12-22 | 1 | -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 frames | Chris Robinson | 2019-12-21 | 15 | -36/+58 |
| | | | | | | | | 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. | ||||
* | Add a config option for custom ALSA capture devices | Chris Robinson | 2019-10-27 | 1 | -18/+16 |
| | |||||
* | Gracefully drain the OpenSL capture buffer on disconnect | Chris Robinson | 2019-10-10 | 1 | -13/+24 |
| | |||||
* | Use one PulseAudio mainloop per device | Chris Robinson | 2019-10-09 | 1 | -221/+270 |
| | | | | | To help avoid devices blocking on each other when handling asynchronous messages. | ||||
* | Remove a useless prebuf check with PulseAudio | Chris Robinson | 2019-10-09 | 1 | -14/+0 |
| |