Commit Graph

54 Commits

Author SHA1 Message Date
David Reid d2ca42edd7 Work on removing unnecessary attributes from mal_device. 2019-02-10 08:55:41 +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 24167ba3c2 API CHANGE: Remove the device type and ID from mal_device_init/_ex(). 2019-01-13 09:31:08 +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 4e6f702f55 Update test_0 and project files. 2019-01-05 13:19:28 +10:00
David Reid cdc49541a2 API CHANGE: Move pUserData from device_init() to device_config_init().
This change makes it consistent with mal_pcm_converter, mal_src, etc.
2018-12-30 17:29:03 +10:00
David Reid a19a858351 Update test_0. 2018-12-30 13:33:17 +10:00
David Reid 1acb96ed22 Update test_0 for changes to the log callback. 2018-12-30 11:02:20 +10:00
David Reid f223ea498b Update test_0. 2018-12-30 09:23:12 +10:00
David Reid 2aa05be5c6 Disable SDL on Emscripten to avoid compiler errors. 2018-12-29 16:24:40 +10:00
David Reid 8fe0cf9a75 Fix a typo. 2018-12-28 21:27:29 +10:00
David Reid eb4ee0b1d7 Update test program. 2018-12-28 21:25:26 +10:00
David Reid 2eb6b39a4f Fix build of the test_0. 2018-12-26 17:42:24 +10:00
David Reid ad935b8108 Disable SDL on Linux for test_0. 2018-11-18 09:39:32 +10:00
David Reid 21e15a4ca1 Fix some errors with the previous commit. 2018-08-11 21:31:05 +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 f57e03c574 Fix deadlock in example when a device is closed unexpectedly. 2018-07-30 07:13:51 +10:00
David Reid 4ced551df8 Merge branch 'dev' of https://github.com/dr-soft/mini_al into dev 2018-08-05 12:17:46 +10:00
David Reid 8d15aa278c Update external libraries and fix C++ on older versions of GCC. 2018-08-05 12:16:56 +10:00
David Reid 7057f845c6 Initial work on sndio backend. 2018-07-29 23:15:04 +10:00
David Reid 13675cc121 Work on the audioio backend. 2018-07-28 11:42:37 +00:00
David Reid 1eaf97d061 Update test to show a message when a device is stopped. 2018-06-30 20:47:48 +10:00
David Reid f612438f00 Add some basic infrastructure for Core Audio. 2018-06-23 15:44:48 +10:00
David Reid da4e05aee2 Fix build for main test program. 2018-05-29 19:30:50 +10:00
David Reid 59726df2c2 MAL_IMPLEMENTATION to MINI_AL_IMPLEMENTATION 2018-05-21 20:03:11 +10:00
David Reid 244db693e0 WASAPI: Start using experimental default buffer size system. 2018-05-03 18:48:20 +10:00
David Reid b73b27ad0e Update test. 2018-05-01 21:49:36 +10:00
David Reid 5041adcdf2 Add Digital Mars C++ detection to tests. 2018-04-30 18:17:03 +10:00
David Reid 9b5b777cab Improve compiler support. 2018-04-29 21:20:53 +10:00
David Reid b6e8fcb5f7 Update tests. 2018-04-29 16:24:17 +10:00
David Reid d9d9901e69 Add tests for Emscripten. 2018-04-25 18:47:10 +10:00
David Reid 8e38deb7cc Update tests. 2018-04-22 11:52:03 +10:00
David Reid 87f079d982 Update tests to always use the reference implementation. 2018-04-21 15:46:48 +10:00
David Reid 7701dc4e30 Update test and build files. 2018-04-21 12:25:55 +10:00
David Reid 9245dce668 Prep work for some SIMD optimizations. 2018-04-08 14:05:06 +10:00
David Reid 165350e7c5 Make mal_dsp API consistent. 2018-04-01 11:52:55 +10:00
David Reid ac4c1109f8 Make channel router API consistent with format converter. 2018-04-01 11:13:17 +10:00
David Reid 96815f4351 Simplify the format converter API. 2018-04-01 11:00:36 +10:00
David Reid d5549b371a Rename some functions from "read_frames" to "read". 2018-04-01 10:44:41 +10:00
David Reid 1ef58d540a Add a pUserData parameter to read functions for data conversion. 2018-04-01 10:39:22 +10:00
David Reid 81ae390c0a Use the term "deinterleaved" instead of "separated". 2018-03-31 17:08:08 +10:00
David Reid 7272a09242 Fix warnings in tests. 2018-03-31 16:56:35 +10:00
David Reid 223727cff5 Add some channel routing tests. 2018-03-31 16:36:55 +10:00
David Reid 322688d73e Fix a bad input validation check. 2018-03-31 15:46:42 +10:00
David Reid 4558800991 Improvements to blended channel mixing. 2018-03-31 14:40:47 +10:00
David Reid a4063aeb49 Add another test case for the format converter. 2018-03-25 16:37:55 +10:00
David Reid a4ddf17998 Format converter bug fixes. 2018-03-25 16:28:01 +10:00
David Reid 19f4630c92 Rename mal_get_sample_size_in_bytes() to mal_get_bytes_per_sample(). 2018-03-25 13:57:14 +10:00
David Reid 0a3d077c04 Fix warnings. 2018-03-25 11:33:44 +10:00