François Cami
3c13e1e333
Update COPYING to the latest https://www.gnu.org/licenses/old-licenses/lgpl-2.0.txt to fix the FSF' address Fix the FSF' address in the source
2014-08-18 11:34:29 -07:00
Chris Robinson
f173a67870
Use VECTOR_FIND_IF and VECTOR_FOR_EACH instead of manual loops
2014-08-09 06:15:11 -07:00
Chris Robinson
d0a64fe191
Don't require pre-declaring vector types
2014-07-06 03:27:39 -07:00
Chris Robinson
f150676873
Add a helper VECTOR_FOR_EACH macro
2014-04-30 12:30:02 -07:00
Chris Robinson
83970369e0
More device list cleanup cleanup
2014-04-24 02:33:54 -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
32a2f95885
Convert the DSound backend to the new API
2014-04-19 22:54:21 -07:00
Chris Robinson
36df67f546
Rename SetThreadName to althrd_setname
2014-04-17 20:41:32 -07:00
Chris Robinson
d124aee4d7
Remove the old thread wrappers for the new ones
2014-04-16 06:11:40 -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
80ea801204
Add a macro for GCC to ensure stack alignment
2013-11-25 17:29:39 -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
f24cb44781
Move the device mutex to the backend
2013-10-28 12:05:33 -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
a6fa4a8bc2
Recognize DSSPEAKER_5POINT1_SURROUND (and 7POINT1) with DSound
2013-05-22 14:25:33 -07: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
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
0f3a575a09
Don't include alu.h in alMain.h
2012-09-14 02:14:29 -07:00
Chris Robinson
37924887e8
Use a default method to provide a dummy latency
2012-08-19 12:31:59 -07:00
Chris Robinson
0865db564f
Move the device lock into the backend function table
...
For backend-specific implementations: this should hold the audio mixer loop for
playback devices, and provide recursive mutex behavior.
2012-08-18 15:58:04 -07:00
Chris Robinson
ac4fc4026c
Add a device method to retrieve the active latency
...
This is effectively the time until the next update will be heard by the user,
or the closest approximation thereof, in nanoseconds.
2012-08-17 13:38:52 -07:00
Chris Robinson
785f52aa29
Only try float32 with DSound when specifically requested
...
Some hardware drivers seem to have a bug where a buffer descriptor with a
32-bit float sample type ends up creating a non-float32 buffer.
2012-06-17 04:13:01 -07:00
Chris Robinson
259e4f5b38
Rename AllDevice -> AllDevices
2012-05-09 16:28:16 -07:00
Chris Robinson
511b4790d0
Remove hungarian notation from dsound and mmdevapi
2012-04-19 23:42:02 -07:00
Chris Robinson
5418519637
Remove some more hungarian notation
2012-04-19 23:00:58 -07:00
Chris Robinson
b023dbe7b8
Remove hungarian notation from the device and context structs
2012-04-19 22:50:11 -07:00
Chris Robinson
fe6e532c87
Use a separate backend callback to start playback of the device
...
This allows us to properly update the ALCdevice and its resources with the new
parameters before starting playback, instead of expecting the mixer to block
and wait after it has begun.
This also lets us avoid holding the device lock while resetting and starting
the device, which helps prevent lock inversion on some backends (ie, one thread
locking A then B, and another thread locking B then A), ultimately allowing
certain backends to asynchronously update the ALCdevice without risk of lockup.
Capture still has issues here, however.
2012-03-05 07:11:09 -08:00
Chris Robinson
233acff3c4
Print enumerated dsound devices
2012-02-26 22:55:50 -08:00
Chris Robinson
5e625c9a68
Watch for unsupported sample types for dsound capture
2012-02-26 22:03:27 -08:00
Chris Robinson
14912229b1
Avoid default names for winmm and dsound
2012-02-20 22:03:08 -08:00
Chris Robinson
e2ccc6f98e
Always use "OpenAL Soft" for the short device enumeration list
2012-02-20 20:45:22 -08:00
Chris Robinson
1140b3ae83
Support signed and unsigned 32-bit int output
2012-02-14 11:44:57 -08:00
Chris Robinson
15a8e58225
Implement capture for the DirectSound backend
...
Based on a patch by Jeffrey Knockel <jeff250.at.gmail.com>
2012-01-31 01:47:59 -08:00
Chris Robinson
66a700729b
Retry opening the DSound device with 16-bit short if 32-bit float output fails
2012-01-17 12:38:47 -08:00
Chris Robinson
390d94ec97
Define _WIN32_WINNT on the command line with _WIN32
2011-09-20 14:59:01 -07:00
Chris Robinson
c696d4dbb2
Return an ALC error enum from the OpenPlayback backend method
2011-08-24 14:24:48 -07:00
Chris Robinson
529ff3197a
Don't expose "DirectSound Default" in the ALL_DEVICES list
...
This is under the assumption that one of the devices in ALL_DEVICES corresponds
to the default. This is not true for all backends (eg, ALSA).
2011-08-20 02:49:15 -07:00
Chris Robinson
9989f33fc2
Move backend sources to a separate sub-directory
2011-08-20 00:41:47 -07:00