Commit Graph

840 Commits

Author SHA1 Message Date
David Reid 2322d65470 Make use of EMSCRIPTEN_KEEPALIVE consistent with documentation.
Unlikely fix for https://github.com/dr-soft/miniaudio/issues/134
2020-02-21 19:17:33 +10:00
David Reid 17e5caf9bb Fix a typo. 2020-02-21 19:04:37 +10:00
David Reid ea17a0d820 Update documentation. 2020-02-19 20:32:15 +10:00
David Reid 50f97346c5 Add band-pass filter. 2020-02-19 19:17:10 +10:00
David Reid f7d7208f68 Add high pass filter. 2020-02-19 18:28:07 +10:00
David Reid 3f321db1fb Add documentation for the waveform API. 2020-02-19 18:05:39 +10:00
David Reid f98fd001de Add some APIs to allow dynamics changes to waveform parameters. 2020-02-19 17:40:07 +10:00
David Reid 8a7a65c271 API CHANGE: Replace ma_sine_wave with ma_waveform.
The ma_waveform API is a more general API supporting different waveform
including sine, square, triangle and sawtooth.
2020-02-18 20:46:36 +10:00
David Reid 415ded561c Remove more unused macros. 2020-02-16 20:50:48 +10:00
David Reid 57884cdf66 Remove unused macros. 2020-02-16 20:50:04 +10:00
David Reid d356e71a02 Fix VC6 build. 2020-02-16 14:58:38 +10:00
David Reid 336a8cbb98 API CHANGE: Rename ma_calculate_frame_count_after_src().
This has been renamed to ma_calculate_frame_count_after_resampling()
for consistency with the new ma_resampler API.
2020-02-16 12:59:31 +10:00
David Reid 18df4a80c8 Bug fix for ma_decoder_get_length_in_pcm_frames().
This previously returned the frame count based on the internal sample
rate of the underlying stream, whereas it should have instead returned
a frame count based on the output sample rate. This commit fixes this.

This commit commit also changes the implementation of
ma_calculate_frame_count_after_src() to use the ma_resampler API which
should make it a bit more robust and easier to maintain.
2020-02-16 12:46:58 +10:00
David Reid 7e5863b37b Add some comments. 2020-02-15 07:37:00 +10:00
David Reid 259d8aa2eb Core Audio: Add a comment. 2020-02-14 21:54:03 +10:00
David Reid cd66d5848c WebAudio: Add a clarification comment concerning draining. 2020-02-14 19:59:14 +10:00
David Reid 159fbf330b OpenSL: Drain buffers when stopping the device. 2020-02-14 19:47:38 +10:00
David Reid 1b8ddf5985 AAudio: Add a comment clarifying draining. 2020-02-14 18:55:31 +10:00
David Reid 386852887f sndio: Add note about draining. 2020-02-13 21:52:37 +10:00
David Reid 137ae5533f audio(4): Drain the playback device when stopping. 2020-02-13 21:39:22 +10:00
David Reid 1d2c52d5b6 WinMM: Drain the playback device when stopping. 2020-02-13 21:18:42 +10:00
David Reid adef2adfbd WASAPI: Refactoring to device enumeration.
Public issue https://github.com/dr-soft/miniaudio/issues/126
2020-02-13 20:07:27 +10:00
David Reid c67175c3ea Make volume control more thread safe.
This change makes a copy of the master volume factor before applying it
so that if another thread changes the volume it won't apply the change
part way through the processing of a period.
2020-02-13 17:29:16 +10:00
David Reid 578496e237 Minor clarification changes. 2020-02-12 21:56:43 +10:00
David Reid 45a3ad3b87 Update documentation. 2020-02-12 21:37:25 +10:00
David Reid 9ce58044dc Update documentation. 2020-02-12 21:21:43 +10:00
David Reid 4c409c824a API CHANGE: Remove ma_device_set_stop_callback().
With this change the stop callback must be set via the device config.
2020-02-12 20:50:43 +10:00
David Reid 4d34108589 Update documentation. 2020-02-12 20:47:51 +10:00
David Reid 314eb68544 Use default LPF filter count for decoders. 2020-02-12 18:34:39 +10:00
David Reid 74a1cf38b9 WASAPI: Fix WASAPI bug where the buffer size is not set correctly. 2020-02-12 18:20:26 +10:00
David Reid 53cfae9932 Update documentation. 2020-02-12 17:58:08 +10:00
David Reid 841c0b8d7e Minor restructuring in preparation for removing -lm dependency. 2020-02-11 18:54:23 +10:00
David Reid 25b21e5851 Remove unused function. 2020-02-10 21:14:11 +10:00
David Reid 54584cb4c2 Update build instructions and remove dependency on sqrt(). 2020-02-10 19:45:08 +10:00
David Reid ce98c1ed72 Update documentation. 2020-02-10 19:02:52 +10:00
David Reid 0965404db2 Clarify the PulseAudio backend is not enabled on Windows. 2020-02-09 16:00:39 +10:00
David Reid 6547d6b20d Fix a typo. 2020-02-09 15:40:05 +10:00
David Reid bb31038e16 Core Audio: Fix compilation errors. 2020-02-09 15:28:51 +10:00
David Reid 9ee6cf0d17 OSS: Bug fixes. 2020-02-09 05:07:07 +10:00
David Reid 7aac694905 API CHANGE: Remove bufferSizeInFrames and bufferSizeInMilliseconds.
These used to represent the size of the entire buffer, with the latency
defined by the the size of this buffer, divided by the period count.
This ended up being confusing because people assumed the buffer size by
itself was enough to define the latency. With this commit, these config
variables have been replaced with ones that take the size of a period
rather than the size of the entire buffer. These are called
periodSizeInFrames and periodSizeInMilliseconds. With this change, the
latency is determined by these settings alone, without needing to take
the period count into account. This should make things much easier to
understand.

This commit removes MA_BASE_BUFFER_SIZE_IN_MILLISECONDS_LOW_LATENCY and
MA_BASE_BUFFER_SIZE_IN_MILLISECONDS_CONSERVATIVE.

This commit removes ma_get_default_buffer_size_in_milliseconds() and
ma_get_default_buffer_size_in_frames().
2020-02-09 14:53:36 +10:00
David Reid 4fbe12ca19 Add examples to documentation for ma_device_init(). 2020-02-09 10:32:47 +10:00
David Reid cb11e6c000 Update documentation for ma_device_init(). 2020-02-09 10:13:02 +10:00
David Reid 943ca217aa More documentation updates. 2020-02-08 21:07:51 +10:00
David Reid b58e315c86 Fix a typo. 2020-02-08 20:58:47 +10:00
David Reid d82a1551e3 Update documentation for some APIs.
* ma_context_uninit()
  * ma_context_enumerate_devices()
  * ma_context_get_devices()
  * ma_context_get_device_info()
  * ma_context_is_loopback_supported()
2020-02-08 20:50:27 +10:00
David Reid 21c5a824db Update documentation for ma_context_init(). 2020-02-08 20:11:17 +10:00
David Reid b85e34cbb2 Update documentation. 2020-02-08 18:29:39 +10:00
David Reid 2dd4e63210 Update documentation. 2020-02-08 15:34:00 +10:00
David Reid aba41c9e4c Add release notes for version 0.10. 2020-02-06 20:06:42 +10:00
David Reid 2e1958ff94 Inline some internal static functions.
Public issue https://github.com/dr-soft/miniaudio/issues/131
2020-02-05 18:39:12 +10:00