aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Add an option to allow PulseAudio to move streamsChris Robinson2012-06-161-3/+28
| | | | | This could be made the default, if there's a safe way to update the AL device specifier.
* Add DEVPKEY_Device_FriendlyName declaration for mingw-w64 compatibilityChris Robinson2012-06-141-0/+3
|
* Rename AllDevice -> AllDevicesChris Robinson2012-05-0913-13/+13
|
* Clamp the ALSA period time between min and max if setting near failsChris Robinson2012-05-081-1/+17
|
* Clamp the ALSA buffer time between min and max if setting near failsChris Robinson2012-05-071-1/+18
| | | | | | It seems there's some bugs with snd_pcm_hw_params_set_buffer_time_near that cause it to return "invalid argument" despite a valid nearby buffer time being available. Clamping the buffer time seems to mitigate the issue a bit.
* Look for libsndio.so.2 instead of libsndio.soChris Robinson2012-05-051-1/+1
|
* Check the right playback device file with OSSChris Robinson2012-04-221-1/+1
|
* Remove hungarian notation from dsound and mmdevapiChris Robinson2012-04-192-151/+150
|
* Remove hungarian notation from the winmm backendChris Robinson2012-04-191-212/+207
|
* Remove some more hungarian notationChris Robinson2012-04-196-127/+127
|
* Remove hungarian notation from the device and context structsChris Robinson2012-04-1914-22/+22
|
* Avoid modifying the ALCdevice in portaudio's open methodChris Robinson2012-03-131-25/+31
|
* Store the portaudio stream parameters with the deviceChris Robinson2012-03-131-32/+33
|
* Minor coreaudio fix, and make sure to set the device nameChris Robinson2012-03-131-4/+3
|
* Try to ensure the full mmdevapi buffer is usedChris Robinson2012-03-131-4/+12
|
* Try to ensure at least 2 mmdevapi updatesChris Robinson2012-03-131-1/+2
|
* Try to find a multiple of mmdevapi's period size nearest to the wanted ↵Chris Robinson2012-03-131-0/+3
| | | | update size
* Attempted fix for the coreaudio backendChris Robinson2012-03-121-16/+40
|
* Store a duplicate of the mmdevapi device IDChris Robinson2012-03-061-5/+9
|
* Add a comment explaining the pulseaudio prop_filterChris Robinson2012-03-061-0/+4
|
* Update the ALCdevice in winmm's reset method instead of openChris Robinson2012-03-061-64/+80
|
* Filter out a couple pulseaudio stream properties by setting them to 0-length ↵Chris Robinson2012-03-051-7/+25
| | | | | | | | | data It seems Qt/Phonon will globally set media.role and phonon.streamid properties, causing them to apply even to our streams if they happen to be loaded in the same process. This is particularly a problem because media.role gets set to "event", preventing the streams from showing in pavucontrol.
* Returned pa_operations can be NULLChris Robinson2012-03-051-31/+21
|
* Use a separate backend callback to start playback of the deviceChris Robinson2012-03-0513-106/+262
| | | | | | | | | | | | This allows us to properly update the ALCdevice and its resources with the new parameters before starting playback, instead of expecting the mixer to block and wait after it has begun. This also lets us avoid holding the device lock while resetting and starting the device, which helps prevent lock inversion on some backends (ie, one thread locking A then B, and another thread locking B then A), ultimately allowing certain backends to asynchronously update the ALCdevice without risk of lockup. Capture still has issues here, however.
* Print and handle errors from pa_stream_readable_sizeChris Robinson2012-03-051-1/+6
|
* Set prebuf to 0 since we're handling the stream start manuallyChris Robinson2012-03-041-1/+2
|
* Make sure the pulse stream is properly started and better handle buffer size ↵Chris Robinson2012-03-041-3/+22
| | | | changes
* Slight correction for handling the wave writer backend's timer wrappingChris Robinson2012-03-031-3/+3
|
* Slight correction for handling the null backend's timer wrappingChris Robinson2012-03-031-3/+3
|
* Remove some unneeded pulseaudio callsChris Robinson2012-03-021-3/+0
|