aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
Commit message (Collapse)AuthorAgeFilesLines
* 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-1913-98/+17
|
* 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-1816-11/+48
| | | | | For backend-specific implementations: this should hold the audio mixer loop for playback devices, and provide recursive mutex behavior.
* Keep the backend device open until the last reference is releasedChris Robinson2012-08-181-4/+5
| | | | | | This should generally happen with the next ALCdevice_DecRef call unless the device is in the middle of being used in another thread, in which case it's probably best to not remove the resources.
* Add the start of AL_SOFT_source_latencyChris Robinson2012-08-181-0/+3
| | | | | This extension will provide a way for apps to get accurate latency and playback position information
* Add a device method to retrieve the active latencyChris Robinson2012-08-1715-15/+155
| | | | | This is effectively the time until the next update will be heard by the user, or the closest approximation thereof, in nanoseconds.
* Place the alignment attribute before the variable declarationChris Robinson2012-08-161-1/+1
|
* Fix aligned allocator fallbackChris Robinson2012-08-161-3/+2
|
* Avoid dynamic handling of libsndioChris Robinson2012-08-161-81/+0
| | | | This makes it safer and easier to handle as OpenBSD updates it
* Apply HRTF mixer coefficients with stepping using SSEChris Robinson2012-08-154-11/+65
|
* Check the max CPUID functions before calling themChris Robinson2012-08-151-4/+11
|
* Add wrapper methods to ensure aligned allocationsChris Robinson2012-08-151-0/+48
|
* Make sure the working coefficients are aligned for the SSE mixerChris Robinson2012-08-152-6/+2
|
* Check the correct macro for ARM Neon supportChris Robinson2012-08-151-1/+1
|
* Don't bother handling MMX since we don't use itChris Robinson2012-08-151-8/+3
|
* Add cmake options to disable or require support for CPU extensionsChris Robinson2012-08-152-7/+13
|
* Move mixers into separate source filesChris Robinson2012-08-156-415/+590
|
* Add an SSE-enhanced HRTF mixer using intrinsicsChris Robinson2012-08-142-1/+51
| | | | Not as good as it could be, but it's something
* Add a config option to disable use of CPU extensionsChris Robinson2012-08-132-9/+42
|
* Allow building multiple types of mixers, selecting based on CPU capsChris Robinson2012-08-131-47/+64
|
* Check for some CPU extensionsChris Robinson2012-08-132-0/+56
|
* 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.
* Handle the scalar values a bit betterChris Robinson2012-08-112-6/+6
|
* Use a more efficient method to blend HRTF delays and coefficientsChris Robinson2012-08-111-26/+42
|
* Add an option for wide stereo sourcesChris Robinson2012-08-092-2/+18
| | | | Replaces the old stereodup option
* Use a more efficient method to offset the speaker angles when computing gainsChris Robinson2012-08-091-29/+35
|
* Interpolate between HRTF delay samples using the delay fractionChris Robinson2012-07-202-12/+20
|
* Increase the directional change sensitivity for the HRTF deltaChris Robinson2012-07-201-1/+1
|
* Use wrappers for float-typed math functionsChris Robinson2012-06-298-59/+59
|
* Don't use all caps for enum value namesChris Robinson2012-06-288-172/+172
|
* Clamp the Y position before trying to get the elevationChris Robinson2012-06-281-2/+3
|
* Add some includesChris Robinson2012-06-201-0/+9
|
* Add missing includeChris Robinson2012-06-191-0/+1
|
* Use a proper method to wait for a PulseAudio operationChris Robinson2012-06-191-18/+19
|
* Don't needlessly verify a deviceChris Robinson2012-06-191-5/+6
|
* 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-0914-32/+32
|
* 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
|
* Use 2 chained one-pole filters for the wet pathChris Robinson2012-04-302-9/+8
|
* Use ComputeAngleGains for multi-channel sources and remove the unused lookup ↵Chris Robinson2012-04-292-80/+4
| | | | table stuff