Commit Graph

1537 Commits

Author SHA1 Message Date
David Reid 3c614c7b67 Add some ALSA specific debugging. 2019-08-24 22:49:05 +00:00
David Reid ada7f6c8c6 Work on improvements to the ALSA backend. 2019-08-25 07:26:23 +10:00
David Reid 8b57a09fbb Update revision history. 2019-08-24 07:44:18 +10:00
David Reid 0fdbb01ae2 WASAPI: Fix a bug with automatic stream routing with loopback devices. 2019-08-24 07:29:15 +10:00
David Reid ea3f4f3ffd Add APIs for checking for loopback support. 2019-08-24 07:12:51 +10:00
David Reid 3c68046fd3 Remove a debugging line from the loopback example. 2019-08-21 11:03:30 +10:00
David Reid 4edc39acd0 Add loopback example. 2019-08-21 11:00:06 +10:00
David Reid af1edfa844 Initial implementation of loopback mode for WASAPI. 2019-08-21 10:59:45 +10:00
David Reid 060a030fb5 Add some loopback validation checks. 2019-08-21 08:40:10 +10:00
David Reid 2bd9726f64 Fix crash when an error occurs in ma_device_init(). 2019-08-21 08:38:54 +10:00
David Reid 25f723ba9c Merge branch 'dev' into loopback 2019-08-20 17:38:39 +10:00
David Reid 25dc16d09b Merge branch 'dev' of https://github.com/dr-soft/miniaudio into dev 2019-08-20 17:38:06 +10:00
David Reid 337838f701 Merge pull request #91 from raysan5/master
Corrected minor issue
2019-08-20 17:37:19 +10:00
Ray 39123f867a Corrected minor issue 2019-08-19 13:22:36 +02:00
David Reid 6a8ff78b63 Add some infrastructure for loopback mode. 2019-08-17 12:45:49 +10:00
David Reid 3e825396c1 Random resampler work. 2019-08-17 11:01:53 +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