Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | Create the initial PulseAudio stream corked | Chris Robinson | 2019-10-09 | 1 | -1/+2 |
| | |||||
* | Don't track the PulseAudio context state in devices | Chris Robinson | 2019-10-09 | 1 | -30/+0 |
| | |||||
* | Make C callbacks noexcept | Chris Robinson | 2019-10-09 | 8 | -88/+85 |
| | | | | | No telling what would happen if exceptions managed to get back into presumably C-based callers. | ||||
* | Use smart pointers for ALSA param handles | Chris Robinson | 2019-10-09 | 1 | -132/+128 |
| | | | | And simplify some related error handling | ||||
* | Never return null from CreateRingBuffer | Chris Robinson | 2019-10-08 | 10 | -43/+5 |
| | | | | | 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 messages | Chris Robinson | 2019-10-08 | 14 | -184/+46 |
| | |||||
* | Define some simple wrapper methods inline | Chris Robinson | 2019-10-08 | 1 | -63/+30 |
| | |||||
* | Avoid raw lock/unlock calls | Chris Robinson | 2019-10-07 | 14 | -58/+44 |
| | |||||
* | Fix BackendVase typo | Chris Robinson | 2019-10-07 | 1 | -1/+1 |
| | |||||
* | Reduce some indentation | Chris Robinson | 2019-10-07 | 1 | -32/+36 |
| | |||||
* | Use exceptions for backend open failures | Chris Robinson | 2019-10-07 | 19 | -542/+514 |
| | |||||
* | Make MAX_RESAMPLER_PADDING specify the total padding | Chris Robinson | 2019-09-28 | 1 | -1/+1 |
| | |||||
* | Use FastBSinc24 for WASAPI and CoreAudio capture | Chris Robinson | 2019-09-28 | 2 | -2/+2 |
| | | | | Given a fixed rate, there's no downside to the fast version. | ||||
* | Fix a couple more conversion warnings | Chris Robinson | 2019-09-22 | 1 | -6/+6 |
| | |||||
* | Make the resampler type an enum class | Chris Robinson | 2019-09-22 | 2 | -2/+2 |
| | |||||
* | Fix some Windows warnings | Chris Robinson | 2019-09-18 | 2 | -12/+12 |
| | |||||
* | Clean up some more conversion warnings | Chris Robinson | 2019-09-16 | 1 | -22/+19 |
| | |||||
* | Clean up some more shadowing warnings | Chris Robinson | 2019-09-16 | 1 | -8/+6 |
| |