aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/alsa.c
Commit message (Collapse)AuthorAgeFilesLines
* Make backend factory methods static as neededChris Robinson2013-11-021-5/+5
|
* Add default handlers for reset, captureSamples, and availableSamplesChris Robinson2013-10-291-18/+5
|
* Add a macro to forward methods to a base typeChris Robinson2013-10-291-39/+23
|
* Fix capture with the new backend interfaceChris Robinson2013-10-281-7/+24
|
* Convert ALSA to the new backend interfaceChris Robinson2013-10-281-273/+386
|
* Move the device mutex to the backendChris Robinson2013-10-281-0/+1
|
* Rework threading functionsChris Robinson2013-10-271-4/+6
|
* Set a name for the mixer and recording threadsChris Robinson2013-10-271-0/+2
|
* Compile using -std=c99 when availableChris Robinson2013-10-031-1/+1
|
* Report the actual ALSA error if setting the buffer metrics failsChris Robinson2013-03-181-2/+2
|
* Lock the device before calling aluHandleDisconnectChris Robinson2012-12-021-0/+4
| | | | | | 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.
* Don't include alu.h in alMain.hChris Robinson2012-09-141-0/+1
|
* 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
|
* 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-181-0/+2
| | | | | 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-171-1/+20
| | | | | This is effectively the time until the next update will be heard by the user, or the closest approximation thereof, in nanoseconds.
* 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.
* Rename AllDevice -> AllDevicesChris Robinson2012-05-091-1/+1
|
* 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.
* Remove some more hungarian notationChris Robinson2012-04-191-25/+25
|
* Remove hungarian notation from the device and context structsChris Robinson2012-04-191-2/+2
|
* Use a separate backend callback to start playback of the deviceChris Robinson2012-03-051-10/+39
| | | | | | | | | | | | 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.
* Avoid an unnecessary doCapture checkChris Robinson2012-03-011-2/+1
|
* Fix a memory leakChris Robinson2012-03-011-0/+12
|
* Avoid enumerating when opening the default ALSA deviceChris Robinson2012-03-011-18/+18
|
* Don't define lib handles when dynamic loading is disabledChris Robinson2012-03-011-5/+3
|
* Allow reading audio from ALSA directly if the requested length is supportedChris Robinson2012-02-291-27/+142
|
* Use a switch to handle the ALSA PCM stateChris Robinson2012-02-271-10/+22
|
* Print enumerated ALSA devicesChris Robinson2012-02-261-1/+3
|
* Remove an unneeded wrapperChris Robinson2012-02-221-10/+2
|
* Set the default ALSA device name when probingChris Robinson2012-02-201-23/+20
|
* Always use "OpenAL Soft" for the short device enumeration listChris Robinson2012-02-201-4/+0
|
* Rename p -> hp for ALSA's hw paramsChris Robinson2012-02-201-36/+36
|
* Add a COUNTOF macro to get the number of entries in a static arrayChris Robinson2012-02-191-2/+2
|
* Make sure an ALSA capture device was found before accessing the mapChris Robinson2012-02-181-1/+1
|
* Simplify ALSA parameter error checkingChris Robinson2012-02-181-108/+67
|
* Rename a couple variables and fix their typesChris Robinson2012-02-181-33/+33
|
* Fix some commentsChris Robinson2012-02-181-3/+4
|
* Support signed and unsigned 32-bit int outputChris Robinson2012-02-141-0/+14
|
* Check for each ALSA prefix config option only as neededChris Robinson2012-02-131-22/+26
|
* Add config options for card- and device-specific prefixes in ALSA device namesChris Robinson2012-02-111-7/+17
|
* Format the ALSA device name when enumerating themChris Robinson2012-02-111-35/+17
|
* Improve checks for supported output formats from ALSAChris Robinson2012-02-091-19/+46
|
* Improve a couple error messages with the full ALSA device control nameChris Robinson2012-02-071-3/+3
|
* Avoid printing messages about device parameter changes in the backendsChris Robinson2012-01-171-17/+1
|
* Reset the ALSA device if the number of available samples grows too largeChris Robinson2011-11-281-2/+15
|