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
198b844d8b
Add mal_pcm_rb to the ring buffer research code.
...
This is the same as the normal ring buffer except everything is done in
terms of PCM frames instead of bytes. This is useful to simplify the
case of using the ring buffer for storing PCM audio data.
2019-02-21 17:55:35 +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
e8e4198440
A little bit of prep work for the full-duplex example.
2019-01-27 06:56:35 +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
David Reid
661115f130
API CHANGE: Simplify API for device config initialization.
...
There is now only a single API for initializing a device config which
is mal_device_config_init() and takes the device type as it's only
parameter. By default this will use the device's native configuration.
The device ID is also set in the device config. The next commits will
be changing mal_device_init() to remove the device type and ID from the
parameter list since they are now specified in the config.
2019-01-12 16:04:28 +10:00
David Reid
4980fcf3c5
Reorder parameters in the callback.
...
This swaps the order of the input and output pointers so that it's
consistent with the order used by memcpy().
2019-01-12 11:04:11 +10:00
David Reid
67db06350d
API CHANGE: Change the data callback in preparation for full-duplex.
...
This removes the two separate callbacks for sending and receiving data
to/from the device to a unified callback that's used for both input and
output. The new callback takes a pointer to both an input and output
buffer. When the device is opened in playback mode the input pointer
will be set to null. Likewise the output pointer will be set to null
for capture devices. Both input and output pointers will be non-null
for full-duplex devices.
2019-01-12 09:34:30 +10:00
David Reid
3badd55b32
Rename a parameter in mal_convert_frames/_ex().
2019-01-05 18:53:09 +10:00
David Reid
6d85a886a1
OSS: Remove some unnecessary state.
2018-07-30 10:44:01 +10:00
David Reid
f61634246c
audio(4): Work on the new blocking read/write API.
2018-08-25 04:24:06 +00:00
David Reid
0683b3990e
sndio: Work on blocking read/write API.
2018-07-30 23:46:30 +10:00
David Reid
6caa823ea2
OSS: Work on the blocking read/write API.
2018-07-30 10:34:09 +10:00
David Reid
4e6f702f55
Update test_0 and project files.
2019-01-05 13:19:28 +10:00
David Reid
a392eefb33
Add blocking API test.
2019-01-05 13:13:33 +10:00
David Reid
af39fd06a2
ALSA: Work on the blocking read/write API.
2019-01-05 13:03:38 +10:00
David Reid
036cb46db2
ALSA: Rename a function in preparation for blocking read/write.
2019-01-05 10:04:12 +10:00
David Reid
7271b20d0e
Improvements to the Null backend.
...
This change makes a device run it's own loop with a timer to better
simulate an actual device.
2019-01-04 11:00:38 +10:00
David Reid
a9af26f79f
Simplify the blocking read/write APIs.
2019-01-03 11:08:09 +10:00