aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends
Commit message (Collapse)AuthorAgeFilesLines
* Remove an outdated commentChris Robinson2018-03-141-5/+0
|
* Release the PulseAudio mainloop lock soonerChris Robinson2018-03-141-10/+16
|
* Avoid using pa_stream_begin_write with PulseAudioChris Robinson2018-03-141-23/+9
| | | | | | | | | | | | | It seems to actually have a negative performance impact when the system is under load. Without having actual measurements for any potential benefits, simply go with the recommended (and previous fallback) method of allocating space for the write and passing the free method. Ideally some kind of ring buffer could be used, so rather than constantly allocating and freeing blocks of memory, it uses the same memory over again with the callback marking each one as reusable. Unfortunately the callback isn't given much information to work with, and the update size (minreq) can potentially change during playback, which complicates things.
* Rename the mmdevapi backend to wasapiChris Robinson2018-03-092-172/+167
|
* Add extern "C" to some headersChris Robinson2018-03-091-0/+8
|
* Prefix SDL2 device names on WindowsChris Robinson2018-03-091-6/+31
|
* Request the device's sample type for SDL2Chris Robinson2018-03-091-1/+13
|
* Store the frame size for the SDL2 backendChris Robinson2018-03-081-6/+6
|
* Print the unsupported values from SDL2Chris Robinson2018-03-081-5/+2
|
* Init and quit the SDL2 audio subsystem with the factoryChris Robinson2018-03-081-26/+10
|
* Also save the update size with SDL2Chris Robinson2018-03-081-8/+12
|
* Use the audio device lock for the SDL2 backendChris Robinson2018-03-081-4/+13
|
* Properly close the SDL2 audio deviceChris Robinson2018-03-081-4/+15
|
* Avoid calling SDL_GetNumAudioDevices multiple timesChris Robinson2018-03-081-3/+10
|
* SDL2 backend: Reset device parametersJan Niklas Hasse2018-03-081-7/+20
|
* SDL2 backend: Allow changes to channels and formatJan Niklas Hasse2018-03-081-1/+22
|
* SDL2 backend: Allow frequency changesJan Niklas Hasse2018-03-081-2/+7
|
* Handle passing NULL to SDL_OpenAudioDevice as a special deviceJan Niklas Hasse2018-03-081-2/+8
| | | | https://discourse.libsdl.org/t/changing-audio-output-when-the-default-audio-playback-device-changes/22399/2
* SDL2 backend: Use callback instead of a timing loopJan Niklas Hasse2018-03-081-83/+11
| | | | The system clock and audio clock aren't necessarily synchronized.
* Add SDL2 backend for playback, fix #173Jan Niklas Hasse2018-03-072-0/+266
|
* Ensure at least the specified ringbuffer size is writableChris Robinson2018-03-028-21/+13
| | | | | | 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 ringbufferChris Robinson2018-03-019-20/+18
|
* Make the Connected state atomicChris Robinson2018-02-0412-67/+67
| | | | Also don't send the Disconnected event more than once.
* Avoid potentially writing partial samplesChris Robinson2018-02-031-1/+3
|
* Provide more descriptive messages to disconnection eventsChris Robinson2018-02-0311-43/+51
|
* Use an atomic instead of volatile to tell a thread to quitChris Robinson2018-02-011-6/+5
|
* Use semaphores to signal for more samples with JACK and OpenSLChris Robinson2018-02-012-54/+16
|
* Don't bother with an explicit stop backend methodChris Robinson2018-01-2917-340/+208
|
* Call the backend close method in the destructorChris Robinson2018-01-2813-79/+125
|
* Avoid using alloca in the CoreAudio backendChris Robinson2018-01-161-12/+10
|
* Properly cast some parameters for MSVCChris Robinson2018-01-161-5/+5
|
* Use GetProcBinary to get the executable name for PulseAudioChris Robinson2018-01-131-4/+7
|
* Make a couple functions inlineChris Robinson2018-01-122-0/+9
|
* Use atomic variables in place of volatileChris Robinson2018-01-111-16/+17
|
* Define a function where it's usedChris Robinson2018-01-111-0/+7
|
* Fix up some types for MSVCChris Robinson2018-01-112-2/+2
|
* Move the ringbuffer declarations to a separate headerChris Robinson2018-01-119-1/+10
| | | | And rename alcRing.c to ringbuffer.c for consistency.
* Move the config function declarations to their own headerChris Robinson2018-01-117-0/+7
| | | | And rename alcConfig.c to alconfig.c for consistency.
* Restore the original JACK message callback when possibleChris Robinson2017-09-231-1/+9
|
* Downgrade some ERRs to TRACEsChris Robinson2017-07-231-2/+2
| | | | | These don't exist outside OSSv4, e.g. with OSS/Free, padsp, or aoss, so no need to be concerned.
* Make sure OSS device files exist before adding themChris Robinson2017-07-231-2/+10
|
* Set the float PCM GUID for wave files only when outputting floatChris Robinson2017-07-151-2/+3
|
* Store the QSA backend's ExtraData in the wrapper structChris Robinson2017-06-291-118/+121
|
* Add casts to silence MSVCChris Robinson2017-06-291-1/+1
|
* Trace the message name in the message handler loopChris Robinson2017-06-261-1/+14
|
* Clean up some messy rounding codeChris Robinson2017-06-261-7/+9
|
* Ensure the mmdevapi capture buffer is at least 100msChris Robinson2017-06-261-0/+4
|
* Improve traces for the mmdevapi capture conversionsChris Robinson2017-06-231-10/+8
|
* Trace the capture converter formats for mmdevapiChris Robinson2017-06-221-0/+6
|
* "Convert" the QSA backend to the new APIChris Robinson2017-06-183-173/+169
| | | | | | | | | | I say "convert" because it takes the lazy way and essentially just embeds the wrappers into the backend. It's done this way because I lack the means to check any changes, even syntactically. This also means the device's ExtraData field is still needed. However, this does mean all the backends are now using the new API. Code related to the old interface can now be removed.