Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Convert the JACK backend to C++ | Chris Robinson | 2018-11-13 | 1 | -609/+0 |
| | |||||
* | Hide function pointer wrapper macros for IDE parsing | Chris Robinson | 2018-11-07 | 1 | -0/+2 |
| | |||||
* | Replace restrict with RESTRICT | Chris Robinson | 2018-10-29 | 1 | -2/+2 |
| | |||||
* | Pass the device name list to the backend probe method | Chris Robinson | 2018-09-07 | 1 | -2/+2 |
| | |||||
* | Ensure at least the specified ringbuffer size is writable | Chris Robinson | 2018-03-02 | 1 | -7/+3 |
| | | | | | | Previously, all but one of the specified size could be written (so for a size of n, only n-1 was guaranteed writable). All users pretty much compensated for this, but it makes more sense to fix it at the source. | ||||
* | Add an option to limit the write size of the ringbuffer | Chris Robinson | 2018-03-01 | 1 | -2/+4 |
| | |||||
* | Make the Connected state atomic | Chris Robinson | 2018-02-04 | 1 | -1/+2 |
| | | | | Also don't send the Disconnected event more than once. | ||||
* | Provide more descriptive messages to disconnection events | Chris Robinson | 2018-02-03 | 1 | -1/+1 |
| | |||||
* | Use an atomic instead of volatile to tell a thread to quit | Chris Robinson | 2018-02-01 | 1 | -6/+5 |
| | |||||
* | Use semaphores to signal for more samples with JACK and OpenSL | Chris Robinson | 2018-02-01 | 1 | -26/+8 |
| | |||||
* | Don't bother with an explicit stop backend method | Chris Robinson | 2018-01-29 | 1 | -15/+0 |
| | |||||
* | Move the ringbuffer declarations to a separate header | Chris Robinson | 2018-01-11 | 1 | -0/+1 |
| | | | | And rename alcRing.c to ringbuffer.c for consistency. | ||||
* | Move the config function declarations to their own header | Chris Robinson | 2018-01-11 | 1 | -0/+1 |
| | | | | And rename alcConfig.c to alconfig.c for consistency. | ||||
* | Restore the original JACK message callback when possible | Chris Robinson | 2017-09-23 | 1 | -1/+9 |
| | |||||
* | Remove unnecessary functions in the JACK backend | Chris Robinson | 2017-04-17 | 1 | -19/+8 |
| | |||||
* | Store the ambisonic order separate from the channel enum | Chris Robinson | 2017-04-12 | 1 | -3/+7 |
| | |||||
* | Rename al_string_* functions to alstr_* | Chris Robinson | 2017-04-04 | 1 | -6/+6 |
| | |||||
* | Print warnings about missing libraries and functions | Chris Robinson | 2017-02-21 | 1 | -1/+8 |
| | |||||
* | Include the full JACK ringbuffer size for the device period count | Chris Robinson | 2016-11-03 | 1 | -3/+8 |
| | |||||
* | Set a JACK error message handler when initializing the backend | Chris Robinson | 2016-08-11 | 1 | -0/+10 |
| | | | | | | | | | | | | | | JACK2 will print error messages to stderr if it fails to connect to a server. Users who don't normally use JACK but have the client lib installed will get those messages even though OpenAL Soft will continue on to find a working backend without trouble. So to avoid it, set an error message handler that'll log them as warnings. This isn't that great because there's no way to tell whether the error messages are due to the server not running, or some other problem. And it resets the callback to the default afterward even if it may have been set to something else before. JACK2, which is what needs this workaround in the first place, doesn't export the jack_error_callback pointer to properly save and restore it. | ||||
* | Look for the correct DLL for JACK on Windows | Chris Robinson | 2016-08-03 | 1 | -1/+6 |
| | |||||
* | Change the backend getLatency method to return the clock time too | Chris Robinson | 2016-05-28 | 1 | -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 values | Chris Robinson | 2015-08-28 | 1 | -3/+3 |
| | |||||
* | Add a macro to simplify allocating and constructing an object | Chris Robinson | 2015-05-18 | 1 | -6/+1 |
| | |||||
* | Add a note to the JACK backend about a (minor) race condition | Chris Robinson | 2015-02-07 | 1 | -0/+14 |
| | |||||
* | Signal the mixer thread outside of the mutex lock | Chris Robinson | 2015-02-03 | 1 | -1/+5 |
| | |||||
* | Don't try to spawn a JACK server by default | Chris Robinson | 2015-02-03 | 1 | -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 size | Chris Robinson | 2015-02-03 | 1 | -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 comment | Chris Robinson | 2014-12-24 | 1 | -2/+2 |
| | |||||
* | Don't update the channel format if all JACK ports were allocated | Chris Robinson | 2014-12-23 | 1 | -9/+11 |
| | |||||
* | Try the device-specified channel configuration first | Chris Robinson | 2014-12-23 | 1 | -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's | Chris Robinson | 2014-12-23 | 1 | -41/+20 |
| | |||||
* | Don't set unused pointers to NULL, don't try to write 0 samples | Chris Robinson | 2014-12-23 | 1 | -7/+8 |
| | |||||
* | At least measure the ringbuffer size for JACK's latency | Chris Robinson | 2014-12-23 | 1 | -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 server | Chris Robinson | 2014-12-22 | 1 | -2/+6 |
| | |||||
* | Add an option for an increased ringbuffer size with JACK | Chris Robinson | 2014-12-22 | 1 | -2/+10 |
| | |||||
* | Fill out the JACK playback backend | Chris Robinson | 2014-12-22 | 1 | -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 JACK | Chris Robinson | 2014-12-21 | 1 | -0/+261 |