Chris Robinson
84f0f74d07
Use standard types for the device clock times
2018-11-22 12:53:16 -08:00
Chris Robinson
ce370be52b
Remove some unneeded includes
2018-11-16 08:09:56 -08:00
Chris Robinson
a727978eb9
Remove unused declarations and definitions
2018-11-15 23:55:23 -08:00
Chris Robinson
b1fb2e9e14
Convert the WASAPI backend factory
2018-11-15 21:14:20 -08:00
Chris Robinson
4311c609e4
Update the loopback backend
2018-11-15 19:42:13 -08:00
Chris Robinson
49d8ac2537
Start a new backend factory API
...
Using proper class inheritance. Be aware this breaks all backends except null
(and loopback). They will be restored individually in due time.
2018-11-15 19:15:14 -08:00
Chris Robinson
1971d0f5c6
Use std::string instead of al_string for enumerating
2018-11-15 04:24:33 -08:00
Chris Robinson
d4f64b9e29
Use a C++ mutex with the device backend base
2018-11-15 03:49:59 -08:00
Chris Robinson
27e7168ad4
Only declare the device backend stuff with C++
2018-11-15 02:36:05 -08:00
Chris Robinson
5867c7b8c2
Don't bother inlining some functions
2018-11-13 19:45:26 -08:00
Chris Robinson
79314c4461
Include the limiter's lookAhead delay in the device latency
2018-09-25 23:05:27 -07:00
Chris Robinson
46cfedb117
Pass the device name list to the backend probe method
2018-09-07 22:02:37 -07:00
Chris Robinson
7394dd512d
Rename ALCsndioBackend
2018-09-07 18:45:24 -07:00
Chris Robinson
a6ddeaf5f1
Rename the mmdevapi backend to wasapi
2018-03-09 18:56:24 -08:00
Chris Robinson
30821e978b
Add extern "C" to some headers
2018-03-09 17:24:03 -08:00
Jan Niklas Hasse
86319127e3
Add SDL2 backend for playback, fix #173
2018-03-07 20:57:53 +01:00
Chris Robinson
e7217760f3
Don't bother with an explicit stop backend method
2018-01-29 01:00:53 -08:00
Chris Robinson
e634564b26
Make a couple functions inline
2018-01-12 02:37:48 -08:00
Chris Robinson
0a361fa9e2
"Convert" the QSA backend to the new API
...
I say "convert" because it takes the lazy way and essentially just embeds the
wrappers into the backend. It's done this way because I lack the means to check
any changes, even syntactically. This also means the device's ExtraData field
is still needed.
However, this does mean all the backends are now using the new API. Code
related to the old interface can now be removed.
2017-06-18 03:07:02 -07:00
Chris Robinson
81527cdbdd
Convert the CoreAudio backend to the updated backend API
2017-04-09 11:21:02 -07:00
Chris Robinson
9f10ae466c
Convert the OpenSL backend to the new backend API
...
This also removes the buffer queue callback's call to aluMixData, which could
potentially block on a mutex.
2017-02-07 07:06:41 -08:00
Chris Robinson
315bd556ac
Convert the SndIO backend to the updated API
2016-12-21 17:28:22 -08:00
Chris Robinson
6d4380a48c
Change the backend getLatency method to return the clock time too
...
This will also allow backends to better synchronize the tracked clock time with
the device output latency, without necessarily needing to lock if the backend
API can allow for it.
2016-05-28 00:43:14 -07:00
Chris Robinson
6fc8cd3b29
Convert the PortAudio backend to the new backend API
2015-10-22 10:46:36 -07:00
Chris Robinson
9479ea656b
Convert the solaris backend to the new API
2015-05-17 04:18:38 -07:00
Chris Robinson
23197ddbc3
Add a skeleton backend for JACK
2014-12-21 15:51:16 -08:00
Chris Robinson
9dacd89a02
Convert the winmm backend to the new backend API
2014-09-08 06:46:20 -07:00
Chris Robinson
a3bba200c0
Convert the wave writer backend to the new API
2014-08-24 22:20:02 -07:00
Chris Robinson
149df6d4db
Convert the mmdevapi backend to the new backend API
2014-04-25 09:26:53 -07:00
Chris Robinson
8fd224f841
Avoid forward-declaring backend vtables
2014-04-23 03:52:05 -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
29cb5058c0
Use a C11-like mutex wrapper instead of CRITICAL_SECTIONs
2014-04-16 01:39:11 -07:00
Chris Robinson
d8bfd12d31
Use a void* for the backend Delete method param
2014-03-22 00:28:55 -07:00
Chris Robinson
dc74473025
Store the old-style backend funcs in the wrapper
2014-03-17 10:54:27 -07: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
a1a3f51be2
Convert the OSS backend to the new interface
2013-11-02 15:42:45 -07:00
Chris Robinson
bc9c3de969
Use a helper macro for making vtable thunks
2013-10-29 20:13:42 -07:00
Chris Robinson
9f0e49917d
Add default handlers for reset, captureSamples, and availableSamples
2013-10-29 15:07:13 -07:00
Chris Robinson
779eb4b82b
Convert the PulseAudio backend to the new interface
2013-10-29 14:44:07 -07:00
Chris Robinson
d2b3615943
Convert the loopback backend to the new interface
2013-10-29 10:38:55 -07:00
Chris Robinson
3437769ba0
Remove a couple unnecessary (and incorrect) parameter names
2013-10-28 22:29:59 -07:00
Chris Robinson
3c65c946d4
Fix capture with the new backend interface
2013-10-28 22:03:54 -07:00
Chris Robinson
16d5d5760c
Convert ALSA to the new backend interface
2013-10-28 21:56:14 -07:00
Chris Robinson
a407d57639
Rename the support method to querySupport
2013-10-28 17:23:19 -07:00
Chris Robinson
21f1e54cb9
Create and use a backend wrapper for capture
2013-10-28 14:38:55 -07:00
Chris Robinson
f8c95f1e90
Add audio capture methods to ALCbackend
2013-10-28 13:51:55 -07:00
Chris Robinson
20bcb68ad6
Move ALCbackend base stuff to a separate file
2013-10-28 12:30:57 -07:00
Chris Robinson
f24cb44781
Move the device mutex to the backend
2013-10-28 12:05:33 -07:00