aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends
Commit message (Collapse)AuthorAgeFilesLines
* Always prepare the ALSA PCM handle before starting captureChris Robinson2018-06-081-2/+9
| | | | | | Draining the ALSA device via stopping puts it into a setup state, which requires re-preparing before playback can start again. Preparing it prior to the first start seems to cause no harm, so just always do it before starting.
* Clear ALSA's PCM handle after closing itChris Robinson2018-04-191-0/+1
|
* Initialize COM using the multithreaded apartmentChris Robinson2018-04-011-7/+7
| | | | | | | I honestly have no idea which is the correct (or better) mode to use given the confusing mess COM is, but CoInitialize uses single-threaded apartments which seems to be a problem for with at least a couple games in the STALKER series (the call fails, which causes us to drop back to the DSound backend).
* Fix capture device closing in the CoreAudio backendChris Robinson2018-03-241-14/+26
|
* Remove an unused struct and move some functions to where they're usedChris Robinson2018-03-231-38/+24
|
* Combine multiple allocations into oneChris Robinson2018-03-231-16/+5
|
* 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
|