Commit Graph

3948 Commits

Author SHA1 Message Date
David Reid ddabf406a4 Update example code in documentation. 2016-11-14 20:19:30 +10:00
David Reid d80651e110 Update change log. 2016-11-14 20:14:50 +10:00
David Reid 08d46c27a8 Remove a todo. 2016-11-14 20:06:41 +10:00
David Reid dd7c706ea0 Update example in readme. 2016-11-14 20:03:59 +10:00
David Reid 1d9ccdec51 Update examples. 2016-11-14 20:02:41 +10:00
David Reid 262452139f Add a todo. 2016-11-14 19:56:35 +10:00
David Reid 6d84abec2e Fix a copy/paste error. 2016-11-14 19:50:50 +10:00
David Reid 4e05d6d88c Remove unneeded property from mal_device. 2016-11-14 19:50:18 +10:00
David Reid d1d265b74d API CHANGE: Change parameters of mal_device_init().
These changes add a mal_context parameter and moves the output device
to the last parameter for consistency with mal_context_init().
2016-11-14 19:44:48 +10:00
David Reid 3982453b6b API CHANGE: Have mal_enumerate_devices() take a context object. 2016-11-14 13:56:12 +10:00
David Reid 982791b377 Add some infrastructure for the new context system. 2016-11-14 13:29:09 +10:00
David Reid 80c8f7d843 Prioritize WASAPI over DirectSound. 2016-11-13 23:43:46 +10:00
David Reid fb4cc86624 WASAPI: Add initial support for capture. 2016-11-13 23:33:32 +10:00
David Reid 16c3856dba WASAPI: Add initial support for playback. 2016-11-13 22:36:39 +10:00
David Reid ff8ef78480 WASAPI: Add support for device enumeration. 2016-11-13 17:21:51 +10:00
David Reid a03ed3259d Prep work for WASAPI. 2016-11-13 14:48:35 +10:00
David Reid 85ce6df27f Prep work for better handling non-desktop UWP builds. 2016-11-13 14:46:23 +10:00
David Reid 2fae24ff04 Disable DirectSound for UWP. 2016-11-13 11:24:20 +10:00
David Reid 9be149f6fe Clean up whitespace. 2016-11-06 09:24:00 +10:00
David Reid 6498df3fa1 Rename an assert to mal_assert and memset to mal_zero_object. 2016-11-06 07:45:00 +10:00
David Reid 84bb6f86bc Add a simple logo for the website and readme. 2016-10-28 10:47:34 +10:00
David Reid 38d9a34f7d Bump version. 2016-10-28 08:16:16 +10:00
David Reid 6c911783b4 Add a TODO. 2016-10-27 20:28:26 +10:00
David Reid 9d336be542 Fix compilation warning. 2016-10-27 00:17:37 +10:00
David Reid 1b34736831 Move #include's for OpenSL|ES to a more appropriate spot. 2016-10-26 22:40:17 +10:00
David Reid d4c0a07c40 Move some #define's out of the public section. 2016-10-26 22:38:51 +10:00
David Reid 7afcede3bd API CHANGE: Add device callbacks to mal_device_config.
Rationale:
1) It allows the callbacks to be set at initialization time which feels
   a bit more intuitive to me.
2) It avoids the need to call mal_device_set_send_callback(), etc.
3) It's a bit more consistent with the onLog callback. Previously,
   onLog would be passed to mal_device_init(), whereas onSend, etc were
   set with mal_device_set_send_callback(), etc. which feels needlessly
   inconsistent.
2016-10-26 22:20:16 +10:00
David Reid 4e2e48d29e DirectSound: Fix compilation error with MSVC when compiling as C++. 2016-10-26 15:36:22 +10:00
David Reid ca53ff1053 Drop support for f64, A-law and Mu-law formats.
Rationale:
1) These formats just aren't common enough to justify the added
   maintenance cost.
2) It makes software format conversion a lot simpler since it reduces
   the number of permutations.
2016-10-26 15:22:22 +10:00
David Reid 8774f70d6f OpenSL|ES: Explicitly fail for known unsupported formats. 2016-10-26 12:40:37 +10:00
David Reid 6901b5caa1 OpenSL|ES: Call the onStop callback when the device is stopped. 2016-10-26 11:20:52 +10:00
David Reid 91ae8801ac Add support for backend-specific default buffer size and periods.
Previously, there was only a single default buffer size and period
count. This forces the library to use a lowest common denominator for
every backend which forces higher quality backends to suffer because
of the lesser quality ones.

This change adds basic infrastructure for future work to tweak these
properties for each individual backend to try and get the best out
them.
2016-10-26 11:07:47 +10:00
David Reid cba66e9bae API CHANGE: Pass config properties to mal_device_init() via a structure.
Rationale:
1) The number of parameters is just getting too much.
2) It makes it a bit easier to add new configuration properties in the
   future. In particular, there's a chance there will be support added
   for backend-specific properties.
2016-10-26 10:40:27 +10:00
David Reid 2fad235932 API CHANGE: Add user data pointer as the last parameter for mal_device_init().
The rationale for this change is to ensure the user data is available for
the logging callback during initialization.
2016-10-26 09:32:34 +10:00
David Reid 8cf6036345 Start revision history for v0.2. 2016-10-25 11:24:42 +10:00
David Reid d3669e3177 Add a note that the OpenSL|ES / Android backend is unstable. 2016-10-25 10:47:45 +10:00
David Reid c1f35b583e Minor changes to OpenSL|ES backend. 2016-10-25 10:43:23 +10:00
David Reid d3f17c223b OpenSL|ES: Add untested work for capture support. 2016-10-25 10:09:10 +10:00
David Reid f540e10fd7 Fix typos. 2016-10-25 10:03:18 +10:00
David Reid b7b1cd6b72 OpenSL|ES: Use ANDROIDSIMPLEBUFFERQUEUE instead of BUFFERQUEUE. 2016-10-25 10:02:08 +10:00
David Reid 1b20f53291 Add some very basic support for playback with OpenSL|ES/Android. 2016-10-23 10:41:38 +10:00
David Reid 11f4e21b3a Fix a comment. 2016-10-22 11:29:58 +10:00
David Reid dd26ad9d45 Fix the Android build and fix a few typos. 2016-10-22 08:30:26 +10:00
David Reid 7fb3a30412 Clean up some whitespace. 2016-10-21 18:07:07 +10:00
David Reid 6881209021 Put the declaration of mal_device_set_stop_callback() in a sensible location. 2016-10-21 13:46:20 +10:00
David Reid ce99f62f63 Convert tabs to spaces and remove trailing spaces. 2016-10-21 13:35:21 +10:00
David Reid b5831564da Use C syntax highlighting for example. 2016-10-21 13:25:58 +10:00
David Reid f2d0fac903 Add gitignore. 2016-10-21 13:25:17 +10:00
David Reid 3a1072e30f Update example in readme. 2016-10-21 13:24:33 +10:00
David Reid 596a3ef966 Add onStop callback which is called when a device is stopped either explicitly or internally as a result of an error. 2016-10-21 12:54:14 +10:00