aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
Commit message (Collapse)AuthorAgeFilesLines
* Properly handle a mono output buffer with the MIDI synthsChris Robinson2015-02-095-17/+19
|
* Add a comment detailing how the HRTF channel buffer is set upChris Robinson2015-02-091-19/+45
|
* Make sure the BS2B filter is freed if HRTF is enabledChris Robinson2015-02-091-0/+4
|
* Move HRTF params and state closer togetherChris Robinson2015-02-092-12/+12
|
* Add a note to the JACK backend about a (minor) race conditionChris Robinson2015-02-071-0/+14
|
* Fix some ringbuffer function commentsChris Robinson2015-02-071-4/+4
|
* Clean up another vector iterator loopChris Robinson2015-02-071-12/+12
|
* Avoid tracing wide-char stringsChris Robinson2015-02-072-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/PtrChris Robinson2015-02-043-6/+14
|
* Avoid unnecessary ExchangeInt usesChris Robinson2015-02-041-2/+2
|
* Try the JACK backend before PulseAudioChris Robinson2015-02-031-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 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.
* Ensure PulseAudio's mixing loop is signaled when stoppingChris Robinson2015-01-211-0/+8
|
* Remove a couple unused variablesChris Robinson2015-01-201-3/+0
|
* Fix variable checkChris Robinson2015-01-201-1/+1
|
* Fix X7DOT1_NARROW name to X7DOT1_WIDEChris Robinson2015-01-151-3/+3
|
* Accept a "narrow" layout for 7.1 with mmdevapiChris Robinson2015-01-151-2/+3
|
* Fix the flags typeChris Robinson2015-01-111-1/+2
|
* Remove some IN_IDE_PARSER usesChris Robinson2014-12-241-7/+0
|
* Update some function comments (bytes -> elements)Chris Robinson2014-12-241-7/+8
|
* 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
|
* Add a lockless ringbufferChris Robinson2014-12-231-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 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-213-0/+265
|
* Set error if capture device fails to startChris Robinson2014-12-211-4/+10
|
* Trace lparam and wparam message valuesChris Robinson2014-12-211-1/+1
|
* Check the PROPVARIANT type before useChris Robinson2014-12-211-2/+8
|
* Use VECTOR_FOR_EACH instead of a manual loopChris Robinson2014-12-211-9/+7
|
* Use a macro for the record thread nameChris Robinson2014-12-213-3/+3
|
* Cast to the pointer-to-type to increment the bufferChris Robinson2014-12-211-1/+1
|
* Fix logging on WindowsChris Robinson2014-12-201-2/+2
|
* Support capture with mmdevapiChris Robinson2014-12-192-1/+552
|
* Handle logging Unicode strings on WindowsChris Robinson2014-12-191-38/+62
|
* Set the right variable when assuming CPU extensionsChris Robinson2014-12-191-3/+3
|
* Do up to 256 samples at a time with multi-step loopsChris Robinson2014-12-189-25/+23
|
* Inline a couple functionsChris Robinson2014-12-181-2/+2
|
* Offset to the buffer's channel start firstChris Robinson2014-12-181-3/+6
|
* Avoid duplicate calculationsChris Robinson2014-12-181-4/+4
|
* Assert that there's a buffer for mixingChris Robinson2014-12-171-0/+1
| | | | For Clang's static analysis.
* Set a couple pulse callbacks to NULL during reset, and minor cleanupsChris Robinson2014-12-171-9/+9
|
* Don't kill pulseaudio's mixer thread if it's already killedChris Robinson2014-12-171-1/+1
|