Commit Graph

3340 Commits

Author SHA1 Message Date
David Reid 02e6ca8f93 Clarification to some documentation. 2022-12-18 10:44:15 +10:00
David Reid a823583386 AAudio: Improve handling of stream errors.
Public issue https://github.com/mackron/miniaudio/issues/590
2022-12-15 08:45:15 +10:00
David Reid 28cab3e952 Update dr_wav. 2022-12-15 07:55:12 +10:00
David Reid 6d46ddf51a Update build instructions for iOS. 2022-12-15 07:31:46 +10:00
David Reid 7e2390777c Remove another unnecessary volatile. 2022-12-11 21:12:31 +10:00
David Reid b000c3fbec Remove some unnecessary volatiles. 2022-12-11 21:10:42 +10:00
David Reid 4926e118bc Add an optimized rsqrt implementation for SSE-enabled builds. 2022-12-11 11:56:12 +10:00
David Reid 69f4c65bf9 Fix some atomicity errors with the spatializer. 2022-12-11 10:44:35 +10:00
David Reid 4b4c5f5d97 Fix an out of date example. 2022-12-05 10:24:45 +10:00
David Reid bfde669130 Fix a warning. 2022-12-03 11:18:43 +10:00
David Reid 9e88290aae A couple of const correctness improvements.
Public issue https://github.com/mackron/miniaudio/issues/584
2022-12-03 11:18:11 +10:00
David Reid ef08bb0dcd Fix a typo. 2022-12-03 11:11:54 +10:00
David Reid 6770ab167d Update documentation. 2022-12-03 11:10:35 +10:00
David Reid b7159b76d5 Update ma_noise_set_type() to prevent a crash.
Updating the noise type should not be supported. An oversight on my
part. Users should reinitialize a fresh `ma_noise` object instead.

This change simply returns an error and triggers an assert in debug
mode.

Public issue: https://github.com/mackron/miniaudio/issues/585
2022-12-03 11:07:34 +10:00
David Reid bd1c156e5f Update change history. 2022-12-01 10:35:39 +10:00
David Reid fc424d9ffa Some minor code cleanup. 2022-12-01 10:33:50 +10:00
Patrick Stewart c3aae67b84 Add fallthrough attribute to fix build with Wimplicit-fallthrough on mac 2022-12-01 11:20:42 +11:00
David Reid 58219ed84c Add some hand-written SSE2 code. 2022-11-24 16:45:41 +10:00
David Reid 8db30c3673 Optimized paths for stereo and 5.1 for mono expansion. 2022-11-24 15:52:03 +10:00
David Reid c99cb2b901 Channel conversion optimization for mono expansion. 2022-11-24 14:48:45 +10:00
David Reid 72f1fe386b Optimize sounds by applying volume via the gainer.
By using the gainer to apply the master volume, we can essentially get
master volume control for free by premultiplying the per-channel
volumes by the master volume before processing.
2022-11-24 14:17:16 +10:00
David Reid 50f3e12e52 Add the notion of master volume to the spatializer. 2022-11-24 13:53:32 +10:00
David Reid c2a4c036c7 Add support for master volume to ma_gainer. 2022-11-24 13:44:37 +10:00
David Reid ab90dc0b55 Remove MA_PREFERRED_SIMD.
If you were previously using this, it will no longer have any effect.
SSE2 and NEON will be used if supported, but can be disabled with
`MA_NO_SSE2` and `MA_NO_NEON`.
2022-11-24 13:08:17 +10:00
David Reid 0a788f7965 Remove placeholders for hand-written AVX2 code.
Maintaining AVX2 optimizations by hand is not worth the effort. The use
of AVX2 is now dependent on the compiler's auto-vectorization function.
2022-11-24 13:04:43 +10:00
David Reid da5c5c2eaa Code clean up for ma_gainer. 2022-11-24 12:40:22 +10:00
David Reid 7fd1246dec Add some hand written SSE2 code to ma_gainer. 2022-11-24 11:38:27 +10:00
David Reid 90bbfa2c09 Remove an attribute from ma_gainer_process_pcm_frames_internal() 2022-11-23 21:31:09 +10:00
David Reid 43374b19a9 More improvements to vectorization. 2022-11-23 21:30:08 +10:00
David Reid 5c358a75f3 Some vectorization improvements to ma_gainer. 2022-11-23 19:54:28 +10:00
David Reid 89cc773cf1 Experimental optimizations for channel mapping. 2022-11-23 16:52:13 +10:00
David Reid 33854acc8e Implement optimized paths for 6 and 8 channels to the gainer. 2022-11-23 15:12:14 +10:00
David Reid f3c36e4947 Fix a bounds check in ma_get_backend_name(). 2022-11-22 22:05:05 +10:00
David Reid 596f23c181 Add ma_get_backend_from_name(). 2022-11-22 21:52:43 +10:00
David Reid ff75eb0a4b Update c89atomic. 2022-11-22 21:39:11 +10:00
David Reid f4d8a537e9 Check the return value when data is read from a libvorbis file. 2022-11-22 21:34:09 +10:00
David Reid 593897f146 Add an assert to ma_zero_memory_default(). 2022-11-22 21:27:50 +10:00
David Reid d16e6e4d37 Fix a formatting warning. 2022-11-22 21:25:00 +10:00
David Reid 1e1d76687c Don't try returning a value in ma_pcm_f32_to_s16__neon(). 2022-11-22 21:22:15 +10:00
David Reid 6a09fb9cb9 Fix non-Windows builds. 2022-11-22 18:11:53 +10:00
David Reid a6ec466efa WASAPI: Don't stop the device while in the middle of rerouting.
Public issue https://github.com/mackron/miniaudio/issues/582
2022-11-22 16:48:32 +10:00
David Reid 0ef02e01ee Update change history. 2022-11-22 16:37:30 +10:00
David Reid ec262595f9 Fix a bug where sounds are not resampled when NO_PITCH is used. 2022-11-22 16:34:35 +10:00
David Reid 248fa5c9f6 WASAPI: Fix a crash when starting a device while rerouting.
Public issue https://github.com/mackron/miniaudio/issues/582
2022-11-22 14:49:36 +10:00
David Reid 169a75e1de WASAPI: Abandon rerouting when the device is in the middle of starting. 2022-11-22 13:23:01 +10:00
thedmd 0f392b8b8b Compile cleanly on Switch. 2022-11-21 13:03:09 +11:00
David Reid 239a6138db Merge branch 'dev' of https://github.com/mackron/miniaudio into dev 2022-11-20 20:45:31 +10:00
David Reid a1024dde49 Don't treat some platforms as Unix. 2022-11-20 21:45:02 +11:00
David Reid 8eec6da491 Unify the MA_NO_DLOPEN and MA_NO_RUNTIME_LINKING options. 2022-11-20 21:45:02 +11:00
thedmd bf64bc79db Add MA_NO_DLOPEN to disable ma_dlopen implementation. 2022-11-20 21:45:02 +11:00