Commit Graph

2970 Commits

Author SHA1 Message Date
David Reid 93fe77a0d5 Merge branch 'dev' into dev-0.11 2021-07-31 10:07:23 +10:00
David Reid e40373a083 Update dr_libs and fix platform detection for ARM64. 2021-07-31 10:06:44 +10:00
David Reid 4e2e371b26 Fix a merge error. 2021-07-31 09:25:02 +10:00
David Reid 50bba9fa36 Merge branch 'dev' into dev-0.11 2021-07-31 09:20:09 +10:00
David Reid cb56bb6c64 Update revision history. 2021-07-31 09:20:00 +10:00
David Reid a369f2a604 Merge branch 'dev' into dev-0.11 2021-07-31 09:17:43 +10:00
David Reid e358e72f67 Core Audio: Fix a possible deadlock when uninitializing a device. 2021-07-31 09:16:52 +10:00
Steven Noonan 43f2e28c20 coreaudio: don't allow g_DeviceTrackingInitCounter_CoreAudio to go negative
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2021-07-31 09:08:02 +10:00
Steven Noonan 4be3cc597a coreaudio: ensure we increment the tracking counter properly
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2021-07-31 09:03:48 +10:00
David Reid 68543c8d2e More atomic experiments. 2021-07-29 17:59:29 +10:00
David Reid a528d25803 Experiment with some atomic loads. 2021-07-28 21:25:24 +10:00
David Reid 421acd33d9 Fix a bug with acquiring a data buffer node. 2021-07-28 21:06:25 +10:00
David Reid ab20c9e696 Fix a bug introduced with a recent commit. 2021-07-28 20:59:29 +10:00
David Reid 772e75fe5e Fix a bug with the lock-free job queue. 2021-07-28 20:35:20 +10:00
David Reid 7ea38278f4 Fix a bug with the slot allocator when the cap is not a multiple of 32. 2021-07-28 18:40:29 +10:00
David Reid 6cdeaacee6 Fix some bugs when acquiring a data buffer node. 2021-07-28 18:21:39 +10:00
David Reid ce86d63181 Update simple_loopback example. 2021-07-28 17:34:54 +10:00
David Reid af8cc1c3da Add support for heap preallocation to ma_linear_resampler. 2021-07-25 22:25:36 +10:00
David Reid dc68382a94 Add support for preallocation to ma_hpf. 2021-07-25 20:54:55 +10:00
David Reid 20f88531c9 Add support for preallocation to ma_lpf. 2021-07-25 20:44:24 +10:00
David Reid f6f2c442f0 Adjust some assumptions. 2021-07-25 19:45:23 +10:00
David Reid e6da1c52de Add support for heap preallocation to ma_lpf1 and ma_hpf1. 2021-07-25 19:23:15 +10:00
David Reid ebbeebc857 Add support for preallocation for biquad filters. 2021-07-25 09:26:16 +10:00
David Reid ccc01563ba Clean up a typo.
Public issue https://github.com/mackron/miniaudio/issues/349
2021-07-25 08:50:18 +10:00
David Reid 729f298fa9 API CHANGE: Remove dependency on MA_MAX_CHANNELS from filters.
This no longer stores per-channel data within the object. Instead it is
now allocated on the heap.
2021-07-24 11:51:07 +10:00
David Reid a9a2fc661f Merge branch 'master' into dev-0.11 2021-07-23 19:34:42 +10:00
David Reid 37fe1343f0 Version 0.10.40 2021-07-23 19:33:39 +10:00
David Reid 3622dbea39 Update revision history. 2021-07-23 18:36:27 +10:00
David Reid 05e99c880b PulseAudio: Fix a glitch when pausing and resuming a device.
Public issue https://github.com/mackron/miniaudio/issues/348
2021-07-22 19:28:38 +10:00
David Reid 88f8574197 Fix a bug when converting from stereo to mono.
Public issue https://github.com/mackron/miniaudio/issues/347
2021-07-21 20:37:42 +10:00
David Reid 5fe2e6e565 Merge branch 'master' into dev-0.11 2021-07-20 19:28:59 +10:00
David Reid 8bf157f10e Version 0.10.39 2021-07-20 19:27:24 +10:00
Steven Noonan 92f3644011 denormals: fix inverted logic in ma_device_{disable,restore}_denormals
It was only disabling denormals when "noDisableDenormals" was set, which
is the opposite of what was intended.

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2021-07-20 19:18:15 +10:00
Steven Noonan 9bafb7fc2c denormals: enable denormal flushing on non-x86 Windows architectures as well
We can use _controlfp_s instead of _mm_getcsr/_mm_setcsr for
architecture-agnostic control of denormal behavior on Windows.

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2021-07-20 19:17:49 +10:00
Steven Noonan d67eefdfe4 ma_yield: use __yield on ARM64 Windows
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2021-07-20 19:17:01 +10:00
Steven Noonan 02486fe78f miniaudio_libvorbis.h: only define OV_EXCLUDE_STATIC_CALLBACKS if not already defined
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2021-07-20 19:17:01 +10:00
David Reid 14a7f719b6 PulseAudio: Fix a null pointer dereference. 2021-07-20 19:04:46 +10:00
David Reid d7b68ff0c8 Fix a formatting bug. 2021-07-20 17:27:07 +10:00
David Reid bc4650b826 Add documentation for resource management and node graphs. 2021-07-19 20:39:37 +10:00
David Reid 79aca688de Make documentation narrower. 2021-07-19 19:39:37 +10:00
David Reid 3181b0c23e Fix a bug when decoding from memory. 2021-07-18 14:35:01 +10:00
David Reid 244ef260f2 Fix a bug where decoding would try to read 0 frames and throw an error. 2021-07-18 14:32:35 +10:00
David Reid 3ea1706194 Fix warnings on the 32-bit build. 2021-07-18 13:59:05 +10:00
David Reid 5f20002ad1 Bug fix for the previous commit. 2021-07-18 13:53:04 +10:00
David Reid a188eaae26 Add a safety net to catch EOF scenarios to the VFS.
This catches the case when backends do not return MA_AT_END when no
data is read.
2021-07-18 13:51:56 +10:00
David Reid c45afa011e Add a pedantic fread() compatibility check to the vorbis decoder. 2021-07-18 13:50:04 +10:00
David Reid 22965c2fc1 API CHANGE: Update ma_waveform_read_pcm_frames(). 2021-07-18 11:26:33 +10:00
David Reid 4eab967905 API CHANGE: Update ma_noise_read_pcm_frames(). 2021-07-18 11:14:09 +10:00
David Reid 02bf2a9e5a API CHANGE: Update ma_encoder_write_pcm_frames().
This updates ma_encoder_write_pcm_frames() to be consistent with
reading, where a result code is returned, and the number of frames
written is returned via an output parameter.
2021-07-18 10:41:04 +10:00
David Reid 7b65f3748a Add some safety checks to data sources.
With this change, an error is now returned when the requested frame
count is zero. Two reasons for this:

  1) It usually means there's an error in the higher level logic if
     something is trying to read zero frames.

  2) When no frames are read, MA_AT_END should be returned. However, if
     the input frame count is also zero, it creates ambiguity as to
     whether or not the data source is truly at the end.
2021-07-18 10:35:34 +10:00