Chris Robinson
779eb4b82b
Convert the PulseAudio backend to the new interface
2013-10-29 14:44:07 -07:00
Chris Robinson
d4aa4e16a0
Add a macro to forward methods to a base type
2013-10-29 11:22:18 -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
7a424ab4bf
Don't return a void
2013-10-28 20:23:41 -07:00
Chris Robinson
321644de7c
Add a missing compat.h include for portaudio
2013-10-28 17:48:03 -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
0617df9b5f
Fix a couple casts
2013-10-28 12:12:26 -07:00
Chris Robinson
f24cb44781
Move the device mutex to the backend
2013-10-28 12:05:33 -07:00
Chris Robinson
2912d130c2
Separate compatibility declarations
2013-10-28 11:26:26 -07:00
Chris Robinson
c1cdd3095b
Convert the Null backend to the ALCbackend style
2013-10-28 08:29:19 -07:00
Chris Robinson
dc7ed39fa7
Add a backend factory base type
2013-10-28 07:27:35 -07:00
Chris Robinson
c8603092d3
Add a default getLatency to ALCbackend
...
And make sure the backend is properly deleted.
2013-10-28 05:57:07 -07:00
Chris Robinson
f065700ef9
Move the lock/unlock methods to the backend
2013-10-28 05:10:28 -07:00
Chris Robinson
e54983694b
Add missing header to git
2013-10-27 16:37:40 -07:00
Chris Robinson
8ceb800def
Rework threading functions
2013-10-27 08:14:13 -07:00
Chris Robinson
f93bfab824
Set a name for the mixer and recording threads
2013-10-27 07:00:44 -07:00
Chris Robinson
32e85d469b
Use the UNUSED macro in the backends
2013-10-07 08:00:18 -07:00
Chris Robinson
9ee3d01f6e
Use a simpler U64 macro to make 64-bit constants
2013-10-06 04:21:03 -07:00
Chris Robinson
43c375716a
Only rest as long as needed in the Null renderer
2013-10-05 00:33:56 -07:00
Chris Robinson
01a5946a2e
Compile using -std=c99 when available
2013-10-03 05:45:12 -07:00
Chris Robinson
a371de080b
Silence some clang warnings
2013-06-05 01:52:49 -07:00
Chris Robinson
a6fa4a8bc2
Recognize DSSPEAKER_5POINT1_SURROUND (and 7POINT1) with DSound
2013-05-22 14:25:33 -07:00
Chris Robinson
c693e649e6
Fix a potential leak when mmdevapi fails to open
2013-05-19 03:19:19 -07:00
Chris Robinson
6bf8f01af5
Report the actual ALSA error if setting the buffer metrics fails
2013-03-18 05:21:41 -07:00
Chris Robinson
eb1080910e
Use force_align_arg_pointer for QSA
2013-03-15 04:32:46 -07:00
Chris Robinson
d237410d1d
Add a QSA backend for QNX
2013-03-14 01:29:20 -07:00
Chris Robinson
f1b0f67553
Build an appropriate channel map for PulseAudio
2013-02-08 18:59:48 -08:00
Chris Robinson
e358882f14
Destroy the ring buffer when closing down a portaudio device
2013-02-01 18:38:44 -08:00
Chris Robinson
9cd086a707
Filter unneeded thread messages with MMDevApi
2012-12-24 05:37:53 -08:00
Chris Robinson
be25e6802d
Add support for OpenSL ES 1.0.1 on Android
2012-12-12 14:36:58 -08:00
Chris Robinson
4621a7b426
Add support for float32 output to CoreAudio
2012-12-03 11:50:02 -08:00
Chris Robinson
4808313e70
Use the correct multiplier for int32 output with CoreAudio
2012-12-03 10:44:02 -08:00
Chris Robinson
1fb9311d82
Lock the device before calling aluHandleDisconnect
...
PulseAudio causes an assert if being relocked inside a callback on the worker
thread, where aluHandleDisconnect is called. We can assume it's already locked
there, so just make sure the device is locked before being calling it.
2012-12-02 11:30:23 -08:00
Chris Robinson
209d09ae13
Avoid locking PulseAudio's mainloop when starting and stopping capture
...
The mainloop is already locked by the caller, and double-locking interferes
with the subsequent wait.
2012-11-19 16:50:03 -08:00
Chris Robinson
3da1b540fd
Use the stored buffer metrics for the mmdevapi buffer size
2012-11-04 22:35:35 -08:00
Chris Robinson
92dde81296
Add rudimentary latency tracking for mmdevapi
...
This won't be as granular as it could be, since it only updates when the wakeup
event trips (which may or may not happen more often than OpenAL's mix updates).
A more correct method would be to query GetCurrentPadding directly, but that
would require sending a message to the processing thread and waiting for a
reply, since we can't guarantee COM on the calling thread.
2012-11-04 08:35:39 -08:00
Chris Robinson
3e71a7cb94
Rename some struct fields for DirectSound
2012-11-04 01:18:39 -08:00
Chris Robinson
b92ad830ef
Avoid recreating the DSound primary buffer
2012-11-04 00:37:31 -07:00
Chris Robinson
84f4afa5f2
Lock the device using the pulseaudio main loop
2012-10-07 02:25:59 -07:00
Chris Robinson
9501f1cb9e
Define WIN32_LEAN_AND_MEAN when including windows.h in alMain.h
2012-10-06 21:36:15 -07:00
Chris Robinson
468759e6ab
Scale and round NumUpdates when PulseAudio changes the sample rate
2012-10-04 23:36:59 -07:00
Chris Robinson
b5d9d8e005
Reset maxlength if PulseAudio updates the playback rate
2012-10-02 17:01:35 -07:00
Chris Robinson
012e61b105
Round when calculating NumUpdates from PulseAudio's minreq
2012-09-25 11:32:49 -07:00
Chris Robinson
52d403b0d1
Make sure PulseAudio sets an update size that's a multiple of 4 samples with SSE
2012-09-20 15:01:49 -07:00