David Reid
f35b705fd8
WASAPI: Add a missing "if" statement.
2019-02-26 19:37:00 +10:00
David Reid
c7a17d65d5
Tweaks to the WASAPI backend.
...
This commit attempts to address a crackling issue in full-duplex mode.
* When the capture buffer becomes over-filled it will discard some
frames to prevent it from straddling the capacity of the internal
buffer and causing excessive overruns.
* A fix has been implemented to the function that retrieves the number
of available frames in the device's internal buffer.
* Low-latency shared mode (IAudioClient3) forces small buffer sizes so
a change has been implemented which bypasses low-latency shared mode
when a large buffer is specified.
2019-02-26 19:33:38 +10:00
David Reid
cf59525ef3
Experimental fix for full-duplex on WASAPI.
2019-02-25 18:25:19 +10:00
David Reid
008cb41617
API CHANGE: Reorder parameters for some APIs.
...
The APIs that have changed are those that take an output pointer and an
input count in the format of "some_read_function(handle, pBuf, count)".
The updated APIs include:
* mal_decoder_read_pcm_frames()
* mal_pcm_converter_read()
Some APIs are scheduled to be replaced in a future version so I have
decided not to replace this at this time since it will be a waste of
time to do so.
2019-02-25 18:15:00 +10:00
David Reid
9ed608a452
Update simple playback example.
2019-02-24 21:01:53 +10:00
David Reid
08e21aae05
Add LICENSE file.
2019-02-24 20:40:34 +10:00
David Reid
8f67ba93cf
Simplify Win32 #include's.
2019-02-24 20:31:29 +10:00
David Reid
125383e9ea
Fix some warnings.
2019-02-24 20:07:09 +10:00
David Reid
01f04b249e
More full-duplex bug fixes.
2019-02-24 20:03:50 +10:00
David Reid
26a218c1af
Fix some full-duplex errors.
2019-02-24 19:04:49 +10:00
David Reid
433b7e8ed6
Fix a bug in the ring buffer.
2019-02-24 17:47:08 +10:00
David Reid
bd689c560e
Fix Core Audio build.
2019-02-24 17:39:07 +10:00
David Reid
0cc126245e
Work on full-duplex with Core Audio.
2019-02-24 16:43:37 +10:00
David Reid
a9ac84dde2
Work on full-duplex for JACK.
2019-02-24 16:11:27 +10:00
David Reid
1e1e8c0ba1
More full-duplex work on OpenSL and AAudio.
2019-02-24 15:53:20 +10:00
David Reid
5b4b7fa266
More work on full-duplex with WebAudio.
2019-02-24 13:26:18 +10:00
David Reid
51ebb048be
Work in progress for full-duplex for WebAudio.
2019-02-23 15:09:39 +10:00
David Reid
212cee5982
Integrate the ring buffer into mini_al.h
2019-02-21 18:06:32 +10:00
David Reid
c78aadff9c
Fix device initialization with audio(4) on OpenBSD.
2019-02-20 20:01:16 +10:00
David Reid
d1f26b4d3b
Fix bugs with sndio.
2019-02-19 20:40:22 +10:00
David Reid
7fba7e5c13
Fix OpenBSD build.
2019-02-19 20:08:23 +10:00
David Reid
9f8a4b9a8a
Bug fixes for audio(4).
2018-08-25 05:12:25 +00:00
David Reid
5f85f42b92
Fix NetBSD build.
2018-08-25 05:06:50 +00:00
David Reid
581b90d2d3
Fix OSS build.
2019-02-19 08:15:18 +10:00
David Reid
79e833135c
Work in progress on full-duplex for sndio.
2019-02-17 15:22:33 +10:00
David Reid
a311b9068d
Work in progress on full-duplex for audio(4).
2019-02-17 13:59:22 +10:00
David Reid
9f294cf81e
Work in progress on full-duplex support for OSS.
2019-02-16 15:41:22 +10:00
David Reid
31329a65eb
Work on full-duplex support for OpenSL.
2019-02-16 08:47:31 +10:00
David Reid
fc9cee7697
Work in progress on full-duplex for AAudio.
2019-02-14 18:32:18 +10:00
David Reid
79c46d2771
Work on full-duplex for ALSA.
2019-02-14 17:51:20 +10:00
David Reid
d0dfd37c6d
Work on full-duplex for PulseAudio.
2019-02-10 19:33:48 +10:00
David Reid
d2ca42edd7
Work on removing unnecessary attributes from mal_device.
2019-02-10 08:55:41 +10:00
David Reid
574c1adccd
Get full-duplex working with DirectSound.
2019-02-10 06:38:33 +10:00
David Reid
f37df9a814
Remove some unused properties from device and config structures.
2019-02-09 20:33:01 +10:00
David Reid
32c64703dd
Initial working implementation of full-duplex on WASAPI.
2019-02-09 17:39:49 +10:00
David Reid
934c7d5e63
WinMM: Prep work for full-duplex.
2019-02-06 18:19:08 +10:00
David Reid
b525fc8005
DirectSound: Prep work full-duplex.
2019-02-03 20:45:02 +10:00
David Reid
8986a410cc
Fix compiler errors on the Windows build.
2019-02-03 18:50:08 +10:00
David Reid
8adce03d72
Core Audio: Refactoring in preparation for full-duplex.
2019-02-03 12:35:23 +10:00
David Reid
d59b08d4b8
Begin work on rearranging mal_config in preparation for full-duplex.
2019-02-03 06:44:20 +10:00
David Reid
8c276c07d3
Remove the redundant "name" parameter from mal_device.
...
This is now stored separately for playback can capture in the playback
and capture sub-objects respectively.
2019-02-02 19:15:55 +10:00
David Reid
fd3a7e2595
WASAPI: Infrastructure work in preparation for full-duplex.
2019-02-02 17:35:58 +10:00
David Reid
6548f4e2f1
Set up some infrastructure for separate in/out device IDs.
2019-01-27 12:45:09 +10:00
David Reid
97c7c0a72d
API CHANGE: Remove the onLog parameter from mal_context_config_init().
...
This commit also renames the onLog member of mal_context_config to
logCallback for consistency with mal_device_config callback naming
convention.
2019-01-27 06:53:48 +10:00
David Reid
88b75fdbc1
Typos.
2019-01-14 20:10:17 +10:00
David Reid
2dd522b62e
Update documentation for mal_device_init().
2019-01-13 10:51:16 +10:00
David Reid
4d03928b74
Remove some unused backend functions.
2019-01-13 10:38:54 +10:00
David Reid
23c917516d
Rename more variables for consistency.
2019-01-13 10:26:22 +10:00
David Reid
54e82c74d0
Rename some variables for consistency.
2019-01-13 10:20:12 +10:00
David Reid
24167ba3c2
API CHANGE: Remove the device type and ID from mal_device_init/_ex().
2019-01-13 09:31:08 +10:00