Commit Graph

2250 Commits

Author SHA1 Message Date
David Reid 8d734e9a08 Fix a glitching bug with ma_waveform.
Public issue https://github.com/mackron/miniaudio/issues/222
2020-11-16 18:08:26 +10:00
David Reid 464d1bd47b Migrate the JACK backend over to the new callback system. 2020-11-15 22:22:40 +10:00
David Reid 140bf99065 Version 0.10.25 2020-11-15 21:21:01 +10:00
David Reid b94249b010 Update dr_wav and dr_mp3. 2020-11-15 21:19:26 +10:00
David Reid 672cdf462d Migrate the WinMM backend over to the new callback system. 2020-11-15 21:10:29 +10:00
David Reid eb694c4498 Fix a bug in some compatibility code. 2020-11-15 20:04:30 +10:00
David Reid 2bed2caf46 Migrate the DirectSound backend to the new callback system.
This commit also fixes some bugs in the WASAPI backend.
2020-11-15 20:00:42 +10:00
David Reid db0442fb78 Migrate the WASAPI backend over to the new callback system.
This includes changes to callbacks used by custom backends. It adds a
`pConfig` parameter to both onContextInit and onDeviceInit. This allows
custom backends to specify custom config properties.
2020-11-15 15:41:15 +10:00
David Reid 561e21face Set up some infrastructure for transitioning to the new callbacks.
With the introduction of custom backends, it became necessary to
simplify the backend callbacks. For backwards compatibility, all
built-in backends are still using the old callbacks. Future commits are
going to be transitioning built-in backends to the new system. This
commit is designed to help with this migration so that we can migrate
backends one at a time while still keeping compatibility with this old
system, thereby allowing backends that haven't yet transitioned to keep
working.
2020-11-15 10:54:00 +10:00
David Reid 17769e88ba Experiment with adding support for multiple input streams to effects. 2020-11-14 18:43:33 +10:00
David Reid f80d1dd8f7 Fix a bug in ma_effect_process_pcm_frames_with_conversion(). 2020-11-14 16:41:48 +10:00
David Reid 75401a5487 Remove effect chaining from the main ma_effect API.
This is adding too much complexity, is less efficient than doing it
manually, and is not compatible with some future changes for supporting
effects that require multiple input streams.
2020-11-14 15:46:55 +10:00
David Reid ea545bc356 Rename ma_effect_process_pcm_frames_ex().
This is in preparation for some future work.
2020-11-14 15:33:09 +10:00
David Reid 3c5f1e1c76 Remove dual fader.
This has been replaced with a simpler fading system.
2020-11-14 13:13:41 +10:00
David Reid 9dece3c89f Core Audio: Try fixing a bug in capture mode for iOS. 2020-11-14 12:27:47 +10:00
David Reid 0b3d462875 Update revision history. 2020-11-14 10:01:30 +10:00
David Reid e7ba6a1512 PulseAudio: Fix a bug where the stop callback isn't fired.
Public issue https://github.com/mackron/miniaudio/issues/221
2020-11-14 09:49:09 +10:00
David Reid 05357d9f54 Merge pull request #219 from HiberWorld/bugfix/intermediary-buffer-ref
Fix intermediaryBufferView losing reference to wasm memory after heap resize
2020-11-13 20:25:50 +10:00
Thehink 56d22ae3da Recreate intermediaryBufferView if we lost ref 2020-11-12 16:39:12 +01:00
David Reid 244182b3c8 Update revision history. 2020-11-11 21:09:44 +10:00
David Reid 3d5bfe1b5e Merge pull request #217 from ccawley2011/gcc-4.7
Fix compiler warnings with GCC 4.7
2020-11-11 21:08:41 +10:00
Cameron Cawley 231399ce9a Fix compiler warnings with GCC 4.7 2020-11-10 16:13:50 +00:00
David Reid 2e1e2ff8af Version 0.10.24 2020-11-10 19:55:33 +10:00
David Reid 06ac6b8565 Fix a context initialization bug. 2020-11-10 19:21:11 +10:00
David Reid 35fd4fbf66 Version 0.10.23 2020-11-09 20:05:01 +10:00
David Reid 84f8acf47a Update website. 2020-11-09 18:01:24 +10:00
David Reid 81a3c9d041 Update readme. 2020-11-09 18:00:12 +10:00
David Reid 346b1989e3 AAudio: Add support for configuring a playback stream's usage. 2020-11-09 17:52:46 +10:00
David Reid a2e76b00cd Merge pull request #216 from claudeha/bugfix-215-void-pointer-casts
Fix C++ compilation errors with the PulseAudio backend.
2020-11-09 17:27:52 +10:00
Claude Heiland-Allen 01c582ff6f Fix C++ compilation errors with the PulseAudio backend.
C++ does not allow implicit casts from void*, so add explict casts.

Issue: https://github.com/mackron/miniaudio/issues/215
2020-11-08 13:40:26 +00:00
David Reid d37ff4aa1d Fix compilation error. 2020-11-08 19:54:07 +10:00
David Reid 48690cf4d4 Version 0.10.22 2020-11-08 19:46:11 +10:00
David Reid 03794d9143 Clean up the deviceio test. 2020-11-08 19:26:04 +10:00
David Reid 645bb3b029 Fix compilation errors with the ALSA backend. 2020-11-08 19:25:49 +10:00
David Reid a5bd015936 Explicitly set native data format flags in custom backend example. 2020-11-08 19:15:45 +10:00
David Reid d2fb0ae853 Update revision history. 2020-11-08 17:35:26 +10:00
David Reid b24ba7d602 AAudio: Add support for configuring content type and input preset. 2020-11-08 17:33:08 +10:00
David Reid 8dd8c04a23 OpenSL: Add support for setting stream types and recording presets. 2020-11-08 17:04:24 +10:00
David Reid dd8f6c4c66 Fix warnings on the Emscripten build. 2020-11-08 14:37:40 +10:00
David Reid 8451af8a11 Fix a compilation warning. 2020-11-08 14:37:22 +10:00
David Reid 887bbeeeee Add support for custom backends.
This commit includes a few changes required for better supporting this:

  * Extra members have been added to ma_device_info which are going to
    eventually replace the min and max channels and sample rates. The
    new system is going to provide a list of supported data formats,
    groups by format/channels/rate and some flags. The only flag used
    at the moment is whether or not the format is usable in exclusive
    mode. The custom backend is the only backend currently using these
    new device info properties, and a backwards-compatibility layer has
    been implemented to fill out the old properties. Built-in backends
    will be migrated over to the new system in time.

  * A new set of backend callbacks have been implemented. Only the
    custom backend is using these at the moment. Built-in backends will
    be migrated over to these new backends soon.

  * A new public API called ma_device_get_state() has been added which
    returns the current state of the device (whether or not it's
    started or stopped). This is necessary for some custom backends.

  * A new public API called ma_device_handle_backend_data_callback()
    has been added. This is required for custom backends who use the
    callback paradigm for data delivery.

  * A new type of ring buffer has been created called ma_duplex_rb.
    This is used as an intermediary buffer for duplex devices running
    on backends that use the callback paradigm. It's used internally by
    ma_device_handle_backend_data_callback(). In the future it's
    planned to expand ma_duplex_rb to handle desyncs by dynamically
    resampling to get both sides back in sync. This is not implemented
    as of this commit.

Future work will involve converting existing built-in backends to be
consistent with the new ideas introduced with custom backend support.
2020-11-08 14:25:55 +10:00
David Reid 63aab33265 Minor cleanup. 2020-11-07 10:09:28 +10:00
David Reid 362ecfce0c Fix a compilation error with ma_vfs_or_default_open(). 2020-11-07 07:18:57 +10:00
David Reid b9667f022f Core Audio: Improvements to sample rate selection on desktop. 2020-11-06 22:20:24 +10:00
David Reid 9d1aee1a4d Core Audio: Fix a warning on the iOS build. 2020-11-06 21:12:48 +10:00
David Reid 96e8b37d1a Core Audio: Fix some issues with capture mode. 2020-11-06 19:47:41 +10:00
David Reid a9ee8cf843 Merge branch 'dev' of https://github.com/dr-soft/mini_al into dev 2020-11-05 20:20:25 +10:00
David Reid 11811d29f3 Core Audio: Fix some bugs with capture mode. 2020-11-05 20:19:25 +10:00
David Reid e13be3335c Update revision history. 2020-11-04 22:03:18 +10:00
David Reid baf6a222e5 Make the isDefault property of ma_device_info public.
Public issue https://github.com/mackron/miniaudio/issues/126
2020-11-04 21:56:32 +10:00