aboutsummaryrefslogtreecommitdiffstats
path: root/alc/backends/jack.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move alexcpt to coreChris Robinson2020-12-241-1/+0
|
* Avoid AL/ALC types in the backendsChris Robinson2020-12-171-10/+10
|
* Don't use ALC error enums for the backend error codeChris Robinson2020-12-171-7/+9
|
* Move logging to coreChris Robinson2020-12-171-1/+1
|
* Allow JACK to enumerate custom devicesChris Robinson2020-09-101-4/+75
| | | | Each device being associated with a port name pattern it'll try connecting to.
* Change a couple functions into member functionsChris Robinson2020-08-071-2/+2
|
* Add an option to auto-connect JACK portsChris Robinson2020-08-051-11/+14
|
* Use std::array instead of some C-style arraysChris Robinson2020-08-051-23/+22
|
* 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-15/+8
|
* Use standard attribute declarationsChris Robinson2020-04-131-0/+1
|
* 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-8/+9
| | | | Rather than using an out parameter.
* Remove the mutex from the backend baseChris Robinson2020-03-291-2/+4
|
* Avoid AL[C]boolean for internal useChris Robinson2020-03-281-5/+5
|
* Remove unnecessary locks now that the mixer doesn't require oneChris Robinson2020-02-261-4/+2
|
* Fix JACK process callback handlingChris Robinson2020-01-121-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 activationChris Robinson2020-01-111-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 methodChris Robinson2020-01-101-2/+2
|
* Handle padding between device sample framesChris Robinson2019-12-211-2/+4
| | | | | | | | 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.
* Make C callbacks noexceptChris Robinson2019-10-091-6/+6
| | | | | No telling what would happen if exceptions managed to get back into presumably C-based callers.
* Never return null from CreateRingBufferChris Robinson2019-10-081-10/+1
| | | | | 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-4/+2
|
* Avoid raw lock/unlock callsChris Robinson2019-10-071-6/+4
|
* Use exceptions for backend open failuresChris Robinson2019-10-071-13/+10
|
* Return and pass more appropriate types for backendsChris Robinson2019-09-151-11/+11
|
* Return unsigned values from the FromDevFmt functionsChris Robinson2019-09-131-7/+5
|
* Move the dynload decls and defs to commonChris Robinson2019-08-101-1/+1
|
* Rename Alc to alcChris Robinson2019-07-281-0/+562