1502 Commits

Author SHA1 Message Date
Chris Robinson
82dd2d875e Apply high-pass source filters as needed 2014-05-17 07:54:25 -07:00
Chris Robinson
3a26ebef0b Implementing handling high-pass filter properties 2014-05-17 07:29:50 -07:00
Chris Robinson
0b5b39d5e6 Add a flag to specify when the low-pass filter needs to apply 2014-05-17 07:17:48 -07:00
Chris Robinson
1efddac3db Document the different filter types, and combine some split lines 2014-05-17 02:09:43 -07:00
Chris Robinson
c5b25ba2a7 Rename freq_scale parameter to freq_mult 2014-05-17 01:32:55 -07:00
Chris Robinson
f0797e27f3 Initialize newformat to AL_NONE instead of a valid format 2014-05-15 01:11:38 -07:00
Chris Robinson
debd5346fb Add a couple asserts to ensure a proper buffer
It should not be possible for a playing or paused source to not have a
valid buffer, but Clang's static analyzer doesn't know that. Hopefully
an assert will convince it.
2014-05-14 03:40:01 -07:00
Chris Robinson
1d2504d12e Make RefCount a non-integer type
It should only be accessed through the appropriate functions to ensure proper
atomicity.
2014-05-14 02:47:07 -07:00
Chris Robinson
4454ae25c7 Add HF Reference as a filter property 2014-05-14 01:24:18 -07:00
Chris Robinson
3582a44dff Make LOWPASSFREQREF a float value 2014-05-11 10:09:52 -07:00
Chris Robinson
343200d229 Store the filter reference frequency in the source 2014-05-11 10:07:17 -07:00
Chris Robinson
b89cc3417b Avoid locking the mixer when unqueueing buffers 2014-05-11 03:52:22 -07:00
Chris Robinson
9f8615c670 Avoid accessing the source's buffer queue head multiple times 2014-05-11 03:11:35 -07:00
Chris Robinson
851a917b03 Use a struct to store the source's direct gain/gainhf properties 2014-05-11 01:40:44 -07:00
Chris Robinson
ddd1550a8b Avoid locking the mixer while queueing buffers onto a source. 2014-05-10 08:55:28 -07:00
Chris Robinson
e9297d9744 Mark the buffer queue pointers volatile 2014-05-10 08:03:53 -07:00
Chris Robinson
3e28fb33a3 Add a missing pointer init 2014-05-10 07:57:35 -07:00
Chris Robinson
9642bf637d Explicit init the source queue and current_buffer pointers 2014-05-10 06:32:39 -07:00
Chris Robinson
a455704148 Use a RWLock to help protect the source's buffer queue
In some instances this allows to to remove the device/mixer lock, or reduce how
long it's held.
2014-05-10 05:07:13 -07:00
Chris Robinson
eebde08e65 Don't explicitly store the BuffersInQueue 2014-05-10 03:33:41 -07:00
Chris Robinson
c4383b65e2 Store the current buffer queue item, rather than played buffer count 2014-05-10 03:21:40 -07:00
Chris Robinson
1c01e94237 Move the static_assert definition to its own header 2014-05-07 02:28:25 -07:00
Chris Robinson
0ea979a262 Move some headers to include/
Note, these are not installed. Only headers in include/AL/ are installed.
2014-05-06 18:29:53 -07:00
Chris Robinson
d066c7b124 Better pack HRTF mixing properties 2014-05-03 18:59:26 -07:00
Chris Robinson
b2e533fbfc Clamp the current and target gain lower bound to epsilon
Should give a bit more wiggle room for the gain stepping to get lower than the
silence threshold.
2014-05-03 17:51:06 -07:00
Chris Robinson
149df6d4db Convert the mmdevapi backend to the new backend API 2014-04-25 09:26:53 -07:00
Chris Robinson
32a2f95885 Convert the DSound backend to the new API 2014-04-19 22:54:21 -07:00
Chris Robinson
bb969c3ccc Add a SZFMT macro for a size_t string formatter 2014-04-19 09:42:03 -07:00
Chris Robinson
1d266aa834 Add a GCC-specific STATIC_UPCAST macro that checks the object type
The check is compile time, and is functionally identical to the old/alternate
version.
2014-04-19 03:11:23 -07:00
Chris Robinson
59fc9aac0e Use C11 alignas when available 2014-04-19 02:11:04 -07:00
Chris Robinson
c041a99f72 Simplify some error checking 2014-04-18 06:54:18 -07:00
Chris Robinson
b8d56190d1 Check pthread_mutex_unlock for errors 2014-04-18 06:39:46 -07:00
Chris Robinson
1353cb0d88 Rename AL_ONCE_INIT to AL_ONCE_FLAG_INIT 2014-04-18 02:21:58 -07:00
Chris Robinson
579e7c10c2 Check TlsSetValue for error 2014-04-17 22:57:16 -07:00
Chris Robinson
6c8bf9ec42 Rename althread_once to be more C11-like 2014-04-17 21:39:51 -07:00
Chris Robinson
5abefaed0a Use the thread ID for althrd_t on Windows 2014-04-17 21:01:54 -07:00
Chris Robinson
36df67f546 Rename SetThreadName to althrd_setname 2014-04-17 20:41:32 -07:00
Chris Robinson
4b5e8b8c40 Don't inline al_nssleep 2014-04-17 09:14:03 -07:00
Chris Robinson
d1f1a1d056 Make and use a C11-like altimespec_get wrapper function 2014-04-17 09:03:57 -07:00
Chris Robinson
c3b1c31d9b Rename althread_key_ wrappers to altss_ and move it to threads.h/c 2014-04-17 00:11:12 -07:00
Chris Robinson
8cc3d05949 Fix some almtx_ return values 2014-04-16 08:21:45 -07:00
Chris Robinson
2149ccd985 Remove almtx_normal and almtx_errorcheck 2014-04-16 08:00:54 -07:00
Chris Robinson
959d75edc8 Fix althrd_sleep return value 2014-04-16 07:18:28 -07:00
Chris Robinson
b020dd13fd Avoid using a Sleep() wrapper 2014-04-16 06:59:44 -07:00
Chris Robinson
d124aee4d7 Remove the old thread wrappers for the new ones 2014-04-16 06:11:40 -07:00
Chris Robinson
18ab9cbbdd Implement a C11-like thread wrapper and use it in mmdevapi and pulseaudio 2014-04-16 05:19:34 -07:00
Chris Robinson
29cb5058c0 Use a C11-like mutex wrapper instead of CRITICAL_SECTIONs 2014-04-16 01:39:11 -07:00
Chris Robinson
9c70ca9da6 Avoid memory leak if preset ID lookup fails 2014-04-14 01:33:31 -07:00
Chris Robinson
e76bc53d37 Insert all new effect slots into the active effect slots at once 2014-04-10 20:49:01 -07:00
Chris Robinson
c6821e5dd1 Use C11's static_assert when available 2014-04-07 11:48:28 -07:00