aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends
Commit message (Collapse)AuthorAgeFilesLines
* Ensure the mmdevapi capture buffer is at least 100msChris Robinson2017-06-261-0/+4
|
* Improve traces for the mmdevapi capture conversionsChris Robinson2017-06-231-10/+8
|
* Trace the capture converter formats for mmdevapiChris Robinson2017-06-221-0/+6
|
* "Convert" the QSA backend to the new APIChris Robinson2017-06-183-173/+169
| | | | | | | | | | I say "convert" because it takes the lazy way and essentially just embeds the wrappers into the backend. It's done this way because I lack the means to check any changes, even syntactically. This also means the device's ExtraData field is still needed. However, this does mean all the backends are now using the new API. Code related to the old interface can now be removed.
* Limit device buffer based on PulseAudio's tlengthChris Robinson2017-06-151-10/+9
| | | | | | Unfortunately PulseAudio has a habit of limiting tlength, and trying to calculate the device's buffer length to write regardless of tlength could result in some amount always being writable.
* Add a config option to specify custom ALSA devicesChris Robinson2017-05-231-5/+40
|
* Add an env var to specify a default pulse deviceChris Robinson2017-05-161-0/+7
| | | | | Some apps don't allow selecting an audio device, and due to problems with KDE, PulseAudio isn't allowed to move the stream after being created by default.
* Remove unnecessary functions in the JACK backendChris Robinson2017-04-171-19/+8
|
* Implement capture support in the OpenSL backendChris Robinson2017-04-151-1/+379
|
* Use separate atomic macros for pointersChris Robinson2017-04-143-5/+5
|
* Store the ambisonic order separate from the channel enumChris Robinson2017-04-1214-167/+202
|
* Use the converters to enable mmdevapi captureChris Robinson2017-04-111-42/+171
|
* Convert the CoreAudio backend to the updated backend APIChris Robinson2017-04-092-178/+283
|
* Clean up some formattingChris Robinson2017-04-081-5/+5
|
* Try to write the full configured buffer length with PulseAudioChris Robinson2017-04-081-15/+37
| | | | | This basically ignores tlength even if it's smaller than what was requested. It keeps up-to-date with minreq changes too now, in case that happens.
* Rename al_string_* functions to alstr_*Chris Robinson2017-04-0416-133/+133
|
* Don't use the mutex in the base getClockLatency implementationChris Robinson2017-02-281-3/+8
|
* Use separate enums for the ambisonic channel order and normalizationChris Robinson2017-02-271-1/+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.
* Fix OpenSL latency calculationChris Robinson2017-02-221-2/+2
|
* Print warnings about missing libraries and functionsChris Robinson2017-02-213-2/+24
|
* Always lock the device backend before calling aluMixDataChris Robinson2017-02-189-48/+59
|
* Return some device latency by defaultChris Robinson2017-02-181-2/+7
| | | | | | | A device will never have 0 latency. OpenAL Soft itself uses a sample buffer length of UpdateSize*NumUpdates, and during playback will have about (NumUpdates-1) periods filled, more or less. Without a more accurate measurement from the playback system, this is better than reporting 0.
* Use select() to wait for audio with OSS and SolarisChris Robinson2017-02-182-85/+137
|
* Use the correct IID for the opensl buffer queueChris Robinson2017-02-071-2/+3
|
* Convert the OpenSL backend to the new backend APIChris Robinson2017-02-072-176/+433
| | | | | This also removes the buffer queue callback's call to aluMixData, which could potentially block on a mutex.
* Fix for NULL JNIEnvChris Robinson2017-02-051-5/+3
| | | | Which can happen with native-only apps
* Call getSystemService as a non-static functionChris Robinson2017-02-031-4/+4
|
* Android's AudioManager.getProperty(String) returns a StringChris Robinson2017-02-021-1/+1
|
* Add more traces for the Java calls being madeChris Robinson2017-01-271-7/+22
|
* Round and clamp the scaled update count with openslChris Robinson2017-01-271-1/+4
|
* Try to use the system sample rate with AndroidChris Robinson2017-01-261-6/+56
|
* Use ALsizei in more placesChris Robinson2017-01-181-3/+3
|
* Avoid using some LP typesChris Robinson2017-01-101-5/+5
|
* Use proper atomics in the OSS backendChris Robinson2017-01-101-17/+17
|
* Hold Pulse's mainloop lock while calling capture functionsChris Robinson2017-01-101-2/+10
| | | | | | | Since commit c837484015e, the backend's lock is no longer implicitly held when calling capture functions. A separate mutex is used to ensure serial access, and its up to the backend to protect against races and reentrancy with the audio API.
* Convert the SndIO backend to the updated APIChris Robinson2016-12-212-78/+127
|
* 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
|
* Include the full JACK ringbuffer size for the device period countChris Robinson2016-11-031-3/+8
|
* Include wtypes.h for defining Windows' property keysChris Robinson2016-10-041-0/+1
|
* Recognize Headset formfactors as headphonesChris Robinson2016-09-211-1/+3
|
* Simplify mmdevapi's device name searchChris Robinson2016-09-071-17/+33
| | | | | Avoids converting each enumerated devid from WSTR to UTF-8, and instead just converts the device name from UTF-8 to WSTR once if needed.
* mmdevapi: Allow specifying output device by it's audio endpoint GUID or by ↵Dmytry Lavrov2016-09-061-8/+45
| | | | the device id string (Oculus VR api requires you to play back on a specific device).
* Set a JACK error message handler when initializing the backendChris Robinson2016-08-111-0/+10
| | | | | | | | | | | | | | JACK2 will print error messages to stderr if it fails to connect to a server. Users who don't normally use JACK but have the client lib installed will get those messages even though OpenAL Soft will continue on to find a working backend without trouble. So to avoid it, set an error message handler that'll log them as warnings. This isn't that great because there's no way to tell whether the error messages are due to the server not running, or some other problem. And it resets the callback to the default afterward even if it may have been set to something else before. JACK2, which is what needs this workaround in the first place, doesn't export the jack_error_callback pointer to properly save and restore it.
* Modify NumUpdates for different sample rates instead of UpdateSizeChris Robinson2016-08-041-1/+1
| | | | | | | Not that this really changes anything since the CoreAudio backend doesn't honor the ALCdevice's buffer metrics, nor accurately report the device's actual metrics. But it clears up warnings from a non-multiple-of-four update size if the sample rate causes it to change.
* Look for the correct DLL for JACK on WindowsChris Robinson2016-08-031-1/+6
|
* Remove DevFmtBFormat3D, which is covered by DevFmtAmbi1Chris Robinson2016-07-317-12/+3
|