aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/oss.c
Commit message (Collapse)AuthorAgeFilesLines
* Make the Connected state atomicChris Robinson2018-02-041-1/+2
| | | | Also don't send the Disconnected event more than once.
* Provide more descriptive messages to disconnection eventsChris Robinson2018-02-031-4/+5
|
* Don't bother with an explicit stop backend methodChris Robinson2018-01-291-21/+13
|
* Call the backend close method in the destructorChris Robinson2018-01-281-4/+18
|
* Move the ringbuffer declarations to a separate headerChris Robinson2018-01-111-0/+1
| | | | And rename alcRing.c to ringbuffer.c for consistency.
* Move the config function declarations to their own headerChris Robinson2018-01-111-0/+1
| | | | And rename alcConfig.c to alconfig.c for consistency.
* 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
|
* Use separate atomic macros for pointersChris Robinson2017-04-141-2/+2
|
* Store the ambisonic order separate from the channel enumChris Robinson2017-04-121-7/+9
|
* Rename al_string_* functions to alstr_*Chris Robinson2017-04-041-2/+2
|
* Don't remove a period from the OSS bufferChris Robinson2017-02-221-11/+4
| | | | | Since we're now waiting for space to be available before mixing, the mixing buffer isn't adding another period.
* Use select() to wait for audio with OSS and SolarisChris Robinson2017-02-181-58/+88
|
* Use proper atomics in the OSS backendChris Robinson2017-01-101-17/+17
|
* Add missing macros for OSS3/Free compatibilityChris Robinson2016-12-211-0/+2
|
* Warn when a given device name isn't found for OSSChris Robinson2016-12-011-4/+10
|
* Minor cleanup for ALCossListPopulateChris Robinson2016-12-011-22/+18
|
* Ensure OSS devices are enumerated when a name is requested.Chris Robinson2016-12-011-2/+12
|
* Change the backend getLatency method to return the clock time tooChris Robinson2016-05-281-2/+2
| | | | | | This will also allow backends to better synchronize the tracked clock time with the device output latency, without necessarily needing to lock if the backend API can allow for it.
* Convert remaining ringbuffers to the lockless variantChris Robinson2016-03-291-25/+26
|
* Fix for systems that don't have strnlenChris Robinson2016-01-211-4/+14
|
* Improve the OSS enumeration codeChris Robinson2016-01-211-63/+71
|
* Added a check for an empty pathKeegan Drake H.P2015-12-171-2/+2
|
* Add device enumeration support for OSSv4Keegan Drake H.P2015-12-171-27/+206
|
* Add includes to work around broken GNU headers and POSIX-2001Chris Robinson2015-12-111-0/+1
|
* Allow for device-specific config valuesChris Robinson2015-08-281-2/+2
|
* Add a macro to simplify allocating and constructing an objectChris Robinson2015-05-181-12/+2
|
* Use a macro for the record thread nameChris Robinson2014-12-211-1/+1
|
* Only pass nano seconds to al_nssleepChris Robinson2014-09-081-2/+2
|
* Update COPYING to the latest ↵François Cami2014-08-181-2/+2
| | | | https://www.gnu.org/licenses/old-licenses/lgpl-2.0.txt to fix the FSF' address Fix the FSF' address in the source
* Rename SetThreadName to althrd_setnameChris Robinson2014-04-171-2/+2
|
* Avoid using a Sleep() wrapperChris Robinson2014-04-161-2/+2
|
* Remove the old thread wrappers for the new onesChris Robinson2014-04-161-14/+17
|
* Use an al_string for the device nameChris Robinson2014-03-281-2/+2
|
* Use a void* for the backend Delete method paramChris Robinson2014-03-221-15/+6
|
* Make backend factory methods static as neededChris Robinson2013-11-021-5/+5
|
* Convert the OSS backend to the new interfaceChris Robinson2013-11-021-178/+276
|
* Move the device mutex to the backendChris Robinson2013-10-281-0/+1
|
* Rework threading functionsChris Robinson2013-10-271-6/+6
|
* Set a name for the mixer and recording threadsChris Robinson2013-10-271-0/+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-2/+2
|
* Use a default method to provide a dummy latencyChris Robinson2012-08-191-8/+1
|
* 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/+9
| | | | | This is effectively the time until the next update will be heard by the user, or the closest approximation thereof, in nanoseconds.
* Rename AllDevice -> AllDevicesChris Robinson2012-05-091-1/+1
|
* Check the right playback device file with OSSChris Robinson2012-04-221-1/+1
|
* Remove some more hungarian notationChris Robinson2012-04-191-18/+18
|
* 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-3/+11
| | | | | | | | | | | | 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.