aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Move the device lock into the backend function tableChris Robinson2012-08-1818-22/+62
| | | | | 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-183-0/+116
| | | | | 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-1717-15/+165
| | | | | 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-162-5/+5
|
* Remove extra parenthesis used in the aligned attribute declarationChris Robinson2012-08-161-2/+2
|
* Fix aligned allocator fallbackChris Robinson2012-08-161-3/+2
|
* MSVC wants __declspec(align), not __declspec(aligned)Chris Robinson2012-08-161-1/+1
|
* Avoid dynamic handling of libsndioChris Robinson2012-08-162-88/+3
| | | | 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
|
* Make sure sources are 16-byte alignedChris Robinson2012-08-151-4/+4
| | | | | They contain fields that require 16-byte alignment for SSE (and Neon?) acceleration.
* Add wrapper methods to ensure aligned allocationsChris Robinson2012-08-154-0/+65
|
* Ensure some HRTF-related parameters are alignedChris Robinson2012-08-151-4/+4
|
* Make sure the working coefficients are aligned for the SSE mixerChris Robinson2012-08-154-6/+12
|
* Remove unused filter functionsChris Robinson2012-08-151-21/+0
|
* Check for and use the -msse switch when dealing with SSE intrinsicsChris Robinson2012-08-151-1/+11
|
* 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-152-13/+5
|
* Add cmake options to disable or require support for CPU extensionsChris Robinson2012-08-154-15/+48
|
* Move mixers into separate source filesChris Robinson2012-08-157-419/+617
|
* Add an SSE-enhanced HRTF mixer using intrinsicsChris Robinson2012-08-145-3/+57
| | | | Not as good as it could be, but it's something
* Fix a typoChris Robinson2012-08-131-1/+1
|
* Add a config option to disable use of CPU extensionsChris Robinson2012-08-134-10/+52
|
* Allow building multiple types of mixers, selecting based on CPU capsChris Robinson2012-08-131-47/+64
|
* Check for some CPU extensionsChris Robinson2012-08-135-0/+71
|
* 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-094-2/+29
| | | | 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-203-12/+23
|
* Increase the directional change sensitivity for the HRTF deltaChris Robinson2012-07-201-1/+1
|
* Fix an inadvertent change in the HRTF coefficient stepping value array sizeChris Robinson2012-07-191-1/+1
|
* Use wrappers for float-typed math functionsChris Robinson2012-06-2910-105/+94
|
* Test the squared length of a vector before normalizingChris Robinson2012-06-281-8/+6
|
* Minor typo fixesChris Robinson2012-06-281-2/+2
|
* Don't use all caps for enum value namesChris Robinson2012-06-2815-205/+205
|
* Don't try to set FE_TOWARDZERO when it's not availableChris Robinson2012-06-281-0/+2
|
* 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
|
* Remove an unused includeChris Robinson2012-06-191-3/+0
|
* Don't needlessly verify a deviceChris Robinson2012-06-191-5/+6
|
* Remove an outdated comment about _REENTRANTChris Robinson2012-06-181-2/+1
|
* 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-162-6/+4
| | | | | | | 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.