3188 Commits

Author SHA1 Message Date
Chris Robinson
df3c54a4bf Use al_string for ALSA's device map 2014-04-21 20:53:27 -07:00
Chris Robinson
ad71565e45 Trace the device name being opened in ALSA and PulseAudio 2014-04-21 20:26:29 -07:00
Chris Robinson
ca1008571e Use the althrd methods in winmm 2014-04-21 09:35:17 -07:00
Chris Robinson
d856183c4b Only declare backend options when the backend is available 2014-04-20 22:42:53 -07:00
Chris Robinson
dbe0897c7f Use the stored format block align instead of calculating it 2014-04-20 22:29:54 -07:00
Chris Robinson
5215b9cad2 Use a vector for the PulseAudio DevMaps 2014-04-20 06:29:36 -07:00
Chris Robinson
b435a8e01b Use an al_string in the PulseAudio backend instead of char* 2014-04-20 05:55:52 -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
043e25b602 Don't link with libwinmm unless WinMM is enabled
We don't use timeGetTime for timing anymore, so winmm only needs to be linked
when the winmm backend is enabled.
2014-04-19 08:50:41 -07:00
Chris Robinson
96c559fbef Use a find module to look for DirectSound 2014-04-19 07:49:27 -07:00
Chris Robinson
887763e41c Use find cmake modules for more backends 2014-04-19 06:35:14 -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
8badd3740e Dont bother trying _alloca
We prefer C99 variable-length arrays, and other systems (including MSVC9) don't
have an issue with alloca.
2014-04-19 01:10:12 -07:00
Chris Robinson
1d69ec9ce1 Set -D_GNU_SOURCE=1 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 earlier 2014-04-19 01:02:36 -07:00
Chris Robinson
9b685bace5 Use FindALSA.cmake to look for ALSA
Also, only provide the ALSA_BACKEND_ALSA option if it's available
2014-04-19 00:52:19 -07:00
Chris Robinson
2eda15fc77 Only define SSE, Neon, and FluidSynth options if they're available 2014-04-18 23:20:27 -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
cb3315f9d3 Remove unnecessary includes 2014-04-18 02:35:16 -07:00
Chris Robinson
b979a8005f Alter the al_fopen macro to not directly take parameters 2014-04-18 02:25:07 -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
20e5ec18e1 Handle the lib name as UTF-8 2014-04-17 21:17:48 -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
528c8c5e77 Check explicitly for pthread_mutexattr_setkind_np before use 2014-04-17 19:01:12 -07:00
Chris Robinson
8a00c24012 Fix SetThreadName for 64-bit MSVC builds 2014-04-17 09:22:57 -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
47f5c436c8 Fix a signed-unsigned comparison warning and clarify a comment 2014-04-17 01:24:03 -07:00
Chris Robinson
fbb4cbbe01 Keep TlsDestructors within threads.c
This basically makes the threads implementation self-contained in threads.c and
threads.h, except for the UIntMap/RWLock implementations.
2014-04-17 01:09:25 -07:00
Chris Robinson
e5d39a5f4c Don't use DllMain to call altss destructors 2014-04-17 00:56:02 -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
c6dd479229 Make sure the duration given to althrd_sleep is valid 2014-04-16 07:52:43 -07:00
Chris Robinson
8a51995cfa Bump _WIN32_WINNT to 0x0502 (XP SP2) for GetThreadId 2014-04-16 07:30:18 -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
184cf30cf7 Use althrd_yield instead of alsched_yield 2014-04-16 06:18:24 -07:00
Chris Robinson
d124aee4d7 Remove the old thread wrappers for the new ones 2014-04-16 06:11:40 -07:00
Chris Robinson
505ef82246 Move the threads and mutex wrappers to threads.c 2014-04-16 05:40:40 -07:00
Chris Robinson
e8517d8600 Fix Windows' almtx_timedlock 2014-04-16 05:32:55 -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
7bc08bb08c Ensure VECTOR_ITER_BEGIN gives a pointer-to-type instead of an array-of-type 2014-04-14 00:58:45 -07:00