Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Properly handle a mono output buffer with the MIDI synths | Chris Robinson | 2015-02-09 | 5 | -17/+19 |
| | |||||
* | Add a comment detailing how the HRTF channel buffer is set up | Chris Robinson | 2015-02-09 | 1 | -19/+45 |
| | |||||
* | Make sure the BS2B filter is freed if HRTF is enabled | Chris Robinson | 2015-02-09 | 1 | -0/+4 |
| | |||||
* | Move HRTF params and state closer together | Chris Robinson | 2015-02-09 | 2 | -12/+12 |
| | |||||
* | Add a note to the JACK backend about a (minor) race condition | Chris Robinson | 2015-02-07 | 1 | -0/+14 |
| | |||||
* | Fix some ringbuffer function comments | Chris Robinson | 2015-02-07 | 1 | -4/+4 |
| | |||||
* | Clean up another vector iterator loop | Chris Robinson | 2015-02-07 | 1 | -12/+12 |
| | |||||
* | Avoid tracing wide-char strings | Chris Robinson | 2015-02-07 | 2 | -27/+43 |
| | | | | | | Because on Windows, traced strings are written to a char string, which causes UTF-16 strings to be converted to a narrow (non-UTF-8) encoding, potentially losing characters. | ||||
* | Avoid unnecessary uses of ExchangeInt/Ptr | Chris Robinson | 2015-02-04 | 3 | -6/+14 |
| | |||||
* | Avoid unnecessary ExchangeInt uses | Chris Robinson | 2015-02-04 | 1 | -2/+2 |
| | |||||
* | Try the JACK backend before PulseAudio | Chris Robinson | 2015-02-03 | 1 | -3/+3 |
| | | | | | The backend will not spawn a server by default, so PulseAudio will still be preferred as long as a JACK server isn't already running. | ||||
* | 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. | ||||
* | Ensure PulseAudio's mixing loop is signaled when stopping | Chris Robinson | 2015-01-21 | 1 | -0/+8 |
| | |||||
* | Remove a couple unused variables | Chris Robinson | 2015-01-20 | 1 | -3/+0 |
| | |||||
* | Fix variable check | Chris Robinson | 2015-01-20 | 1 | -1/+1 |
| | |||||
* | Fix X7DOT1_NARROW name to X7DOT1_WIDE | Chris Robinson | 2015-01-15 | 1 | -3/+3 |
| | |||||
* | Accept a "narrow" layout for 7.1 with mmdevapi | Chris Robinson | 2015-01-15 | 1 | -2/+3 |
| | |||||
* | Fix the flags type | Chris Robinson | 2015-01-11 | 1 | -1/+2 |
| | |||||
* | Remove some IN_IDE_PARSER uses | Chris Robinson | 2014-12-24 | 1 | -7/+0 |
| | |||||
* | Update some function comments (bytes -> elements) | Chris Robinson | 2014-12-24 | 1 | -7/+8 |
| | |||||
* | 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 |
| | |||||
* | Add a lockless ringbuffer | Chris Robinson | 2014-12-23 | 1 | -0/+271 |
| | | | | | | Largely copied from JACK, it's extended to work with user-specified element sizes instead of bytes. This is necessary to be able to work with 6- and 7- channel output modes. | ||||
* | 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 | 3 | -0/+265 |
| | |||||
* | Set error if capture device fails to start | Chris Robinson | 2014-12-21 | 1 | -4/+10 |
| | |||||
* | Trace lparam and wparam message values | Chris Robinson | 2014-12-21 | 1 | -1/+1 |
| | |||||
* | Check the PROPVARIANT type before use | Chris Robinson | 2014-12-21 | 1 | -2/+8 |
| | |||||
* | Use VECTOR_FOR_EACH instead of a manual loop | Chris Robinson | 2014-12-21 | 1 | -9/+7 |
| | |||||
* | Use a macro for the record thread name | Chris Robinson | 2014-12-21 | 3 | -3/+3 |
| | |||||
* | Cast to the pointer-to-type to increment the buffer | Chris Robinson | 2014-12-21 | 1 | -1/+1 |
| | |||||
* | Fix logging on Windows | Chris Robinson | 2014-12-20 | 1 | -2/+2 |
| | |||||
* | Support capture with mmdevapi | Chris Robinson | 2014-12-19 | 2 | -1/+552 |
| | |||||
* | Handle logging Unicode strings on Windows | Chris Robinson | 2014-12-19 | 1 | -38/+62 |
| | |||||
* | Set the right variable when assuming CPU extensions | Chris Robinson | 2014-12-19 | 1 | -3/+3 |
| | |||||
* | Do up to 256 samples at a time with multi-step loops | Chris Robinson | 2014-12-18 | 9 | -25/+23 |
| | |||||
* | Inline a couple functions | Chris Robinson | 2014-12-18 | 1 | -2/+2 |
| | |||||
* | Offset to the buffer's channel start first | Chris Robinson | 2014-12-18 | 1 | -3/+6 |
| | |||||
* | Avoid duplicate calculations | Chris Robinson | 2014-12-18 | 1 | -4/+4 |
| | |||||
* | Assert that there's a buffer for mixing | Chris Robinson | 2014-12-17 | 1 | -0/+1 |
| | | | | For Clang's static analysis. | ||||
* | Set a couple pulse callbacks to NULL during reset, and minor cleanups | Chris Robinson | 2014-12-17 | 1 | -9/+9 |
| | |||||
* | Don't kill pulseaudio's mixer thread if it's already killed | Chris Robinson | 2014-12-17 | 1 | -1/+1 |
| |