aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/jack.c
Commit message (Collapse)AuthorAgeFilesLines
* Change the backend getLatency method to return the clock time tooChris Robinson2016-05-281-5/+7
| | | | | | This will also allow backends to better synchronize the tracked clock time with the device output latency, without necessarily needing to lock if the backend API can allow for it.
* Allow for device-specific config valuesChris Robinson2015-08-281-3/+3
|
* Add a macro to simplify allocating and constructing an objectChris Robinson2015-05-181-6/+1
|
* Add a note to the JACK backend about a (minor) race conditionChris Robinson2015-02-071-0/+14
|
* Signal the mixer thread outside of the mutex lockChris Robinson2015-02-031-1/+5
|
* Don't try to spawn a JACK server by defaultChris Robinson2015-02-031-6/+6
| | | | And don't print an error if one couldn't be started when not requested.
* Always use the JACK server buffer size as the update sizeChris Robinson2015-02-031-12/+15
| | | | | The buffer-size config option now only specifies an additional mix ahead to keep ready for audio requests, rather than a pretend period size.
* Update a commentChris Robinson2014-12-241-2/+2
|
* Don't update the channel format if all JACK ports were allocatedChris Robinson2014-12-231-9/+11
|
* Try the device-specified channel configuration firstChris Robinson2014-12-231-3/+15
| | | | | This does basically no checking that the channel config is correct, but should be good enough for when non-stereo modes are requested.
* Use the custom ringbuffer instead of JACK'sChris Robinson2014-12-231-41/+20
|
* Don't set unused pointers to NULL, don't try to write 0 samplesChris Robinson2014-12-231-7/+8
|
* At least measure the ringbuffer size for JACK's latencyChris Robinson2014-12-231-1/+17
| | | | | | We should also add the port latency, but there's currently no way to ensure it's synchronized with the ringbuffer (the ringbuffer will update before the port latency gets updated).
* Add an option to prevent spawning a JACK serverChris Robinson2014-12-221-2/+6
|
* Add an option for an increased ringbuffer size with JACKChris Robinson2014-12-221-2/+10
|
* Fill out the JACK playback backendChris Robinson2014-12-221-15/+326
| | | | | | | | | | | | | | | | | | | | | | | | A few notes about it: The OpenAL device's requested buffer metrics are ignored, and instead the device will keep one JACK-sized buffer's worth of audio prepared for JACK's next process request. Output is restricted to 32-bit float stereo. Part of this is because JACK requires a buffer size that's a power of 2 (measured in samples), and the ringbuffer requires a buffer size that's a power of 2 (measured in bytes). A channel count of 6 (5.1) or 7 (6.1) will not work without causing a sample to split over the edge of the ringbuffer. Additioanlly, JACK doesn't provide information about what channel configuration a device or set of ports has, so there's no way to know what ports 3 and up map to (even the first two ports are unknown, but assuming stereo seems to work well enough). There is no device latency measurement (for AL_SOFT_source_latency) due to the non-atomicity between the ringbuffer's read size and port latency. A method is needed to ensure the ringbuffer's read size and port latency can both be measured between the end of a JACK update cycle (when the port latency has been updated with the newly-retrieved audio) and the following ringbuffer read update.
* Add a skeleton backend for JACKChris Robinson2014-12-211-0/+261