aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends
Commit message (Collapse)AuthorAgeFilesLines
* Add missing header to gitChris Robinson2013-10-271-0/+62
|
* Rework threading functionsChris Robinson2013-10-2711-43/+46
|
* Set a name for the mixer and recording threadsChris Robinson2013-10-2711-1/+18
|
* Use the UNUSED macro in the backendsChris Robinson2013-10-075-59/+25
|
* Use a simpler U64 macro to make 64-bit constantsChris Robinson2013-10-061-1/+1
|
* Only rest as long as needed in the Null rendererChris Robinson2013-10-051-5/+4
|
* Compile using -std=c99 when availableChris Robinson2013-10-033-3/+3
|
* Silence some clang warningsChris Robinson2013-06-051-2/+2
|
* Recognize DSSPEAKER_5POINT1_SURROUND (and 7POINT1) with DSoundChris Robinson2013-05-221-4/+11
|
* Fix a potential leak when mmdevapi fails to openChris Robinson2013-05-191-0/+3
|
* Report the actual ALSA error if setting the buffer metrics failsChris Robinson2013-03-181-2/+2
|
* Use force_align_arg_pointer for QSAChris Robinson2013-03-151-0/+8
|
* Add a QSA backend for QNXChris Robinson2013-03-141-0/+1170
|
* Build an appropriate channel map for PulseAudioChris Robinson2013-02-081-2/+28
|
* Destroy the ring buffer when closing down a portaudio deviceChris Robinson2013-02-011-0/+3
|
* Filter unneeded thread messages with MMDevApiChris Robinson2012-12-241-1/+3
|
* Add support for OpenSL ES 1.0.1 on AndroidChris Robinson2012-12-121-1/+8
|
* Add support for float32 output to CoreAudioChris Robinson2012-12-031-10/+13
|
* Use the correct multiplier for int32 output with CoreAudioChris Robinson2012-12-031-2/+2
|
* Lock the device before calling aluHandleDisconnectChris Robinson2012-12-027-0/+26
| | | | | | PulseAudio causes an assert if being relocked inside a callback on the worker thread, where aluHandleDisconnect is called. We can assume it's already locked there, so just make sure the device is locked before being calling it.
* Avoid locking PulseAudio's mainloop when starting and stopping captureChris Robinson2012-11-191-4/+0
| | | | | The mainloop is already locked by the caller, and double-locking interferes with the subsequent wait.
* Use the stored buffer metrics for the mmdevapi buffer sizeChris Robinson2012-11-041-9/+1
|
* Add rudimentary latency tracking for mmdevapiChris Robinson2012-11-041-1/+16
| | | | | | | | This won't be as granular as it could be, since it only updates when the wakeup event trips (which may or may not happen more often than OpenAL's mix updates). A more correct method would be to query GetCurrentPadding directly, but that would require sending a message to the processing thread and waiting for a reply, since we can't guarantee COM on the calling thread.
* Rename some struct fields for DirectSoundChris Robinson2012-11-041-48/+48
|
* Avoid recreating the DSound primary bufferChris Robinson2012-11-041-1/+1
|
* Lock the device using the pulseaudio main loopChris Robinson2012-10-071-8/+15
|
* Define WIN32_LEAN_AND_MEAN when including windows.h in alMain.hChris Robinson2012-10-062-0/+6
|
* Scale and round NumUpdates when PulseAudio changes the sample rateChris Robinson2012-10-041-7/+7
|
* Reset maxlength if PulseAudio updates the playback rateChris Robinson2012-10-021-0/+1
|
* Round when calculating NumUpdates from PulseAudio's minreqChris Robinson2012-09-251-7/+8
|
* Make sure PulseAudio sets an update size that's a multiple of 4 samples with SSEChris Robinson2012-09-201-2/+5
|
* Don't include alu.h in alMain.hChris Robinson2012-09-1414-24/+23
|
* Free the global ALSA config after opening capture devices tooChris Robinson2012-09-021-1/+4
|
* alsa: Free the global config cache to remove a lot of reported leaksLauri Kasanen2012-09-021-0/+6
| | | | Signed-off-by: Lauri Kasanen <[email protected]>
* Print the error when reporting snd_pcm_delay failureChris Robinson2012-08-271-1/+1
|
* Add a macro to help make a 64-bit valueChris Robinson2012-08-191-1/+1
|
* Use a default method to provide a dummy latencyChris Robinson2012-08-1912-98/+12
|
* Hold the device lock with PulseAudio between mixing and writingChris Robinson2012-08-181-0/+2
|
* Hold the device lock with ALSA between mixing and writingChris Robinson2012-08-181-0/+4
|
* Use non-blocking access for ALSA playbackChris Robinson2012-08-181-17/+37
|
* Move the device lock into the backend function tableChris Robinson2012-08-1814-0/+28
| | | | | For backend-specific implementations: this should hold the audio mixer loop for playback devices, and provide recursive mutex behavior.
* Add a device method to retrieve the active latencyChris Robinson2012-08-1714-14/+154
| | | | | This is effectively the time until the next update will be heard by the user, or the closest approximation thereof, in nanoseconds.
* Avoid dynamic handling of libsndioChris Robinson2012-08-161-81/+0
| | | | This makes it safer and easier to handle as OpenBSD updates it
* Don't unlock the pulseaudio mainloop when mixingChris Robinson2012-08-121-2/+0
| | | | | | Lock contention could cause a lengthy delay between mixing and writing the audio. There shouldn't be any risk of dead-locking as the device lock should never be held when the mainloop gets locked.
* Add missing includeChris Robinson2012-06-191-0/+1
|
* Use a proper method to wait for a PulseAudio operationChris Robinson2012-06-191-18/+19
|
* Silence some GCC warningsChris Robinson2012-06-171-0/+4
|
* Only try float32 with DSound when specifically requestedChris Robinson2012-06-171-1/+4
| | | | | Some hardware drivers seem to have a bug where a buffer descriptor with a 32-bit float sample type ends up creating a non-float32 buffer.
* Avoid failing if ALSA can't set a buffer or period time near to our requestChris Robinson2012-06-161-21/+2
| | | | | | These functions should not fail, but there seem to be bugs that cause them to sometimes. We're flexible enough to handle almost anything it throws back at us though, so anything is better than nothing here.
* Allow PulseAudio to spawn a server by defaultChris Robinson2012-06-161-1/+1
| | | | | | | Since only one backend is used at a time now, the issues with device ownership aren't really prevelant anymore. An application that tries to open all enumerated devices won't run into the problem of spawning a server and end up preventing other backend devices from working.