Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 | 2 | -0/+290 |
| | | | | | | 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 | 2 | -2/+11 |
| | |||||
* | Add JACK to the config utility | Chris Robinson | 2014-12-22 | 1 | -0/+1 |
| | |||||
* | Add an option for an increased ringbuffer size with JACK | Chris Robinson | 2014-12-22 | 2 | -2/+24 |
| | |||||
* | 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 | 5 | -0/+290 |
| | |||||
* | Add a cmake module to find JACK | Chris Robinson | 2014-12-21 | 1 | -0/+60 |
| | |||||
* | 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 | 4 | -3/+5 |
| | |||||
* | 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 | 2 | -3/+3 |
| | |||||
* | 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 |
| | |||||
* | Use aluVector and aluMatrix in a couple more places | Chris Robinson | 2014-12-16 | 2 | -46/+31 |
| | |||||
* | Constify some variables | Chris Robinson | 2014-12-16 | 2 | -24/+24 |
| | |||||
* | Pass a vectory to aluMatrixVector | Chris Robinson | 2014-12-16 | 1 | -20/+23 |
| | |||||
* | Use aluVector in some more places | Chris Robinson | 2014-12-16 | 6 | -93/+66 |
| | |||||
* | Add explicit matrix and vector types to operate with | Chris Robinson | 2014-12-16 | 4 | -51/+85 |
| | |||||
* | Multiply samples with the cubic coeffs before transposing | Chris Robinson | 2014-12-15 | 2 | -12/+14 |
| | | | | This avoids having to transpose the cubic coefficients. | ||||
* | Load samples with _mm_loadu_ps in the cubic SSE resamplers | Chris Robinson | 2014-12-15 | 2 | -8/+10 |
| | |||||
* | Add SSE2 and SSE4.1 cubic resamplers | Chris Robinson | 2014-12-15 | 4 | -0/+139 |
| | |||||
* | Use a lookup table to do cubic resampling | Chris Robinson | 2014-12-15 | 5 | -11/+29 |
| | |||||
* | Transpose the cubic matrix op | Chris Robinson | 2014-12-15 | 1 | -6/+6 |
| | |||||
* | Use the default channel layout in alffplay if one isn't specified | Chris Robinson | 2014-12-12 | 1 | -1/+3 |
| | |||||
* | Don't pass float literals for unsigned ints | Chris Robinson | 2014-12-06 | 1 | -2/+2 |
| | |||||
* | Fix a potential leak when opening a data file on Windows | Chris Robinson | 2014-12-01 | 1 | -0/+2 |
| | |||||
* | Remove IrSize from DirectParams | Chris Robinson | 2014-11-29 | 3 | -4/+4 |
| | |||||
* | Remove an unnecessary maxf() | Chris Robinson | 2014-11-29 | 1 | -1/+1 |
| | |||||
* | Check mmdevice endpoint for being headphones | Chris Robinson | 2014-11-27 | 2 | -1/+33 |
| | |||||
* | Avoid unnecessary uses of ALCdevice_Lock and ALCdevice_Unlock | Chris Robinson | 2014-11-27 | 1 | -8/+8 |
| | |||||
* | Set headphones when dsound reports headphones | Chris Robinson | 2014-11-27 | 1 | -1/+3 |
| | |||||
* | Improve ambient gain calculations | Chris Robinson | 2014-11-25 | 2 | -5/+5 |
| | |||||
* | Support B-Format output with the wave file writer | Chris Robinson | 2014-11-25 | 10 | -2/+67 |
| | |||||
* | Halve the gain of the Cube8 coefficients | Chris Robinson | 2014-11-25 | 1 | -8/+8 |
| |