Chris Robinson
9af8e10c20
Avoid using superfluous LP* types
2014-04-23 10:08:33 -07:00
Chris Robinson
0b527621a5
Use a RefCount for counting committed winmm buffers
2014-04-23 05:08:17 -07:00
Chris Robinson
8fd224f841
Avoid forward-declaring backend vtables
2014-04-23 03:52:05 -07:00
Chris Robinson
420599f8e3
Avoid using assert() in createBackend
2014-04-23 02:18:07 -07:00
Chris Robinson
ada4868d86
Properly handle HAVE_DYNLOAD in the dsound backend
2014-04-22 08:55:17 -07:00
Chris Robinson
a4fbe158d4
Avoid some superfluous types
2014-04-22 08:44:06 -07:00
Chris Robinson
f6ad3ef221
Use a helper to return mmdevapi message thread responses
2014-04-22 06:13:49 -07:00
Chris Robinson
0d2521e30e
Use a vector to store the ALSA device lists
2014-04-21 23:01:50 -07:00
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
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
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
36df67f546
Rename SetThreadName to althrd_setname
2014-04-17 20:41:32 -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
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
1290f37750
Silence an MSVC warning about -1u
2014-04-07 13:55:22 -07:00
Chris Robinson
4f1104125b
Use an al_string vector for winmm device names
...
Also now gets wchar device names, to properly convert to UTF-8
2014-04-07 12:43:19 -07:00
Chris Robinson
48b472abb7
Use vectors for the dsound device lists
2014-03-31 02:48:01 -07:00
Chris Robinson
7b93e10f7a
Use an al_string for the device name
2014-03-28 22:11:34 -07:00
Chris Robinson
d997be67fd
Use al_string to handle mmdevapi and dsound device names
2014-03-28 07:59:47 -07:00
Chris Robinson
20886059fd
Wrap fopen calls under Windows
...
The idea is that all filenames we deal with are encoded as UTF-8, but the
Windows functions that take a char string interpret it using the ANSI codepage.
So instead, we convert the UTF-8 string to a wchar string, and then use the
wchar functions for proper extended character filename support.
2014-03-28 00:37:42 -07:00
Chris Robinson
4f3e71e5b7
Reactivate the mmdevapi audio client and set the event handle on reset
2014-03-27 17:17:35 -07:00
Chris Robinson
d8bfd12d31
Use a void* for the backend Delete method param
2014-03-22 00:28:55 -07:00
Chris Robinson
be2aeeb2fb
Remove some unneeded code and unnecessary macros in the OpenSL backend
2014-03-17 15:17:56 -07:00
Chris Robinson
dc74473025
Store the old-style backend funcs in the wrapper
2014-03-17 10:54:27 -07:00
Chris Robinson
cf066fd306
Don't assume the default mmdevapi device is in the collection
2014-03-17 09:40:56 -07:00
Chris Robinson
ea8a85b19c
Move PATH_MAX fallback definitions to alMain.h
2014-02-27 18:17:20 -08:00
Chris Robinson
29e0af5ef0
Fix a race condition in the mmdevapi message queue thread
2014-02-09 18:55:51 -08:00
Chris Robinson
09d1319e82
Add some extra traces to the mmdevapi backend
...
Trying to track down the cause of some reported errors.
2014-02-09 10:52:12 -08:00
Chris Robinson
49baa9128d
bufferQueue's Clear method doesn't take any parameters
2014-01-19 17:26:51 -08:00
Chris Robinson
f193b539ce
Clear the OpenSL buffer queue when stopping
2014-01-19 02:45:51 -08:00
Chris Robinson
5fdc3c093e
Don't use the same buffer segment for enqueueing in OpenSL
2014-01-15 15:27:38 -08:00
Chris Robinson
1739998045
Stop the OpenSL buffer queue when stopping the device
2014-01-15 15:14:25 -08:00
Chris Robinson
80ea801204
Add a macro for GCC to ensure stack alignment
2013-11-25 17:29:39 -08:00
Chris Robinson
191e8172f0
Use a macro to help condense some repeated code
2013-11-24 18:11:45 -08:00
Chris Robinson
b029b77784
Add some missing 'static's
2013-11-24 17:43:20 -08:00
Chris Robinson
10dbb1bc9b
Remove the Lock and Unlock methods from BackendFuncs
...
All backends that still use the old interface use the default locking methods,
which is also used by the ALCbackend base.
2013-11-04 23:34:18 -08:00
Chris Robinson
ca83629e4e
Forward some wrapper functions to the base method
2013-11-04 23:19:30 -08:00
Chris Robinson
94aeb5f52e
Use a unique backend type for loopback
2013-11-04 10:51:22 -08:00
Chris Robinson
f868d881d9
Constify some function pointers
2013-11-02 16:58:26 -07:00
Chris Robinson
3d921e0e6f
Make backend factory methods static as needed
2013-11-02 16:35:05 -07:00
Chris Robinson
a1a3f51be2
Convert the OSS backend to the new interface
2013-11-02 15:42:45 -07:00
Chris Robinson
c851e2c611
Set vtables in the constructor
2013-11-02 13:23:20 -07:00