David Reid
d2d13076ef
Disable automatic device switching in exclusive mode.
...
This was causing issues for me on WASAPI where it would return an error
indicating that the device was already in use: AUDCLNT_E_DEVICE_IN_USE.
If this is a bug in mini_al I'm happy to re-enable this once it's
fixed, but I've been unable to figure out what's wrong so far.
For consistency I have also disabled the generic automatic device
switching feature.
2018-08-20 20:48:42 +10:00
David Reid
cb596d5484
WASAPI: Simplify device initialization.
2018-08-20 19:04:17 +10:00
David Reid
c0105c711e
Fix C++ compilation error.
2018-08-20 18:31:30 +10:00
David Reid
325b15a013
WASAPI: Add support for hardware offloading and low-latency shared mode
2018-08-19 16:21:12 +10:00
David Reid
821abec74f
WASAPI: Experiment with hardware offloading.
2018-08-19 15:05:43 +10:00
David Reid
9862f6f193
WASAPI: Add support for compiling the UWP build as C.
2018-08-19 14:29:16 +10:00
David Reid
dd3638f5fb
Add declarations for IAudioClient2 and IAudioClient3.
2018-08-19 12:41:29 +10:00
David Reid
0b864d30c0
Core Audio: Fix runtime linking.
2018-08-19 11:08:53 +10:00
David Reid
e837b5006b
Core Audio: Extract the device name at initialization time.
2018-08-19 10:52:51 +10:00
David Reid
fb0857461b
Core Audio: Fix an error with stream routing.
2018-08-19 10:47:47 +10:00
David Reid
02af2cffea
Core Audio: Add support for stream routing.
2018-08-19 10:40:17 +10:00
David Reid
614813b2e1
WASAPI: Implement stream routing.
...
With this change, mini_al will automatically switch the internal device
to that of the new default device when the user changes it via the
operating system's sound preferences.
2018-08-18 20:14:08 +10:00
David Reid
35352cca8a
Update notes.
2018-08-16 19:58:54 +10:00
David Reid
39910dce3d
Fix a typo.
2018-08-15 17:26:15 +10:00
David Reid
337aaea321
Clean up some old code.
2018-08-15 16:40:30 +10:00
David Reid
c4b6d4042a
Initial work on default device reinitialization.
2018-08-15 16:01:26 +10:00
David Reid
b51cdd3651
Bump version.
2018-08-12 13:40:20 +10:00
David Reid
13441af622
Add mal_sine_wave_read_ex().
2018-08-12 10:03:31 +10:00
David Reid
002a37b9af
Fix a bug where it's possible for the internal channel map to be wrong.
2018-08-12 08:30:00 +10:00
David Reid
57101f618a
WASAPI and WinMM: Stop the device an internal error occurs.
2018-08-12 08:15:53 +10:00
David Reid
21e15a4ca1
Fix some errors with the previous commit.
2018-08-11 21:31:05 +10:00
David Reid
30b705ccee
Rename the audioio backend to audio(4).
2018-08-11 21:07:31 +10:00
David Reid
56a442a8ad
PulseAudio: Small tweak to the default buffer size on PulseAudio.
2018-08-11 20:59:16 +10:00
David Reid
582a87983c
Add standard channel map based on FreeBSD's sound(4) man page.
2018-08-11 19:44:46 +10:00
David Reid
b00c05366f
Update notes.
2018-08-11 19:20:51 +10:00
David Reid
f53291c890
Add support for audioio to OpenBSD.
2018-07-30 17:17:05 +10:00
David Reid
1e3c8faf4b
Clean up.
2018-08-11 13:57:45 +10:00
David Reid
d5530a4691
ALSA: Try fixing a crackling bug.
2018-08-11 03:39:41 +00:00
David Reid
8732f9aa11
Update revision history.
2018-08-11 11:41:01 +10:00
David Reid
27488061c2
Clean up.
2018-08-11 11:38:27 +10:00
David Reid
a6d777f149
audioio: Fix a bug where the buffer size is set incorrectly.
2018-08-06 12:20:58 +00:00
David Reid
931d669ff9
Add support for setting the device's buffer size in milliseconds.
...
Setting the buffer size in frames is still supported. If
bufferSizeInFrames is set to 0, bufferSizeInMilliseconds will be used
instead. If both are zero, defaults are used.
2018-08-11 11:06:49 +10:00
David Reid
d4916abdc9
Remove the experimental profiling based default buffer sizes.
...
The problem with this idea is that it complicates the buffer size
calculations in the backends. It also results in situations where
the buffer size is inconsistent which is annoying.
Future commits will be adding support for specifying the size of the
buffer in milliseconds which should offer more flexibility.
2018-08-11 08:56:59 +10:00
David Reid
176d5a3cc6
Add MAL_COINIT_VALUE.
2018-08-09 18:56:00 +10:00
David Reid
f894b83e97
Fix a sinc resampling bug where too much data is read from the client.
2018-08-08 21:39:25 +10:00
David Reid
6e606e073f
Bump version.
2018-08-06 22:07:26 +10:00
David Reid
22eee7160b
Minor tweaks to sndio.
2018-07-30 07:14:14 +10:00
David Reid
d0b8588b55
sndio: Clean up and restrict device enumeration to default devices.
2018-07-30 14:17:01 +10:00
David Reid
2b167eb199
audioio: Fix unnecessarily inefficient device enumeration.
2018-08-06 09:49:48 +00:00
David Reid
af3f01ca6f
sndio: Fix unnecessarily inefficient device enumeration.
2018-07-30 12:09:07 +10:00
David Reid
9690e3bb9e
Update revision history.
2018-08-05 19:08:31 +10:00
David Reid
07410da499
Redefine formats to be native-endian instead of little-endian.
2018-08-05 18:16:51 +10:00
David Reid
a0668a89cd
Clean up to the sndio backend.
2018-07-30 03:00:24 +10:00
David Reid
4da8834ae4
Refactor the main loop.
2018-08-05 15:08:47 +10:00
David Reid
1a6a47af41
WASAPI: Try fixing a glitching bug with capture.
2018-08-05 14:11:46 +10:00
David Reid
28002a1ddc
Prioritize s16 over f32 since it is better supported by hardware.
2018-08-05 12:30:36 +10:00
David Reid
b213f5e05d
sndio: Add some notes for future reference.
2018-07-30 03:07:38 +10:00
David Reid
68997e3b76
Restrict sndio to OpenBSD and update revision history.
2018-07-30 02:31:41 +10:00
David Reid
28d7086c24
Try fixing a few issues with sndio.
2018-07-29 22:00:00 +10:00
David Reid
15c6e48b4f
Clean up to the sndio backend.
2018-07-30 01:49:16 +10:00