3464 Commits

Author SHA1 Message Date
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
thedmd 9beb89c1e3 Detect MA_ORBIS and MA_PROSPERO before MA_BSD.
Checking for __ORBIS__ and __PROSPERO__ first avoid identifying PS4/PS5 as BSD systems.
2022-11-20 21:45:02 +11:00
thedmd 53bbca81b9 Remove trailing spaces. 2022-11-20 21:45:02 +11:00
David Reid 31f4a6c5b2 Update some documentation. 2022-11-20 17:13:55 +10:00
David Reid e531dd255e Remove the old runtime linking system for pthread. 2022-11-20 10:53:46 +10:00
David Reid 0b6e80b030 Update c89atomic. 2022-11-20 10:50:15 +10:00
David Reid 44e58d6038 Fix some bugs with initialization of POSIX threads. 2022-11-20 10:39:15 +10:00
David Reid d28c1ebee2 Show a more appropriate log when a backend fails due to being disabled. 2022-11-19 20:07:31 +10:00
David Reid 9ba72fa2f6 Fix a bug in ma_gainer. 2022-11-19 14:34:47 +10:00
David Reid 1c4fc2743c Minor restructuring and fix the C++ build. 2022-11-19 14:00:10 +10:00
David Reid b1967397dd Optimization pass on ma_gainer. 2022-11-19 13:20:25 +10:00
David Reid 45d6d5a2c3 Optimization for stereo sounds in the engine.
In a stereo scenario, the listener will use a channel map of
{SIDE_LEFT, SIDE_RIGHT}, but sounds will default to
{FRONT_LEFT, FRONT_RIGHT}. As a result, channel mapping will be
performed to do the conversion. By instead defaulting stereo sounds
to be consistent with the listener, a passthrough path can be used
instead, improving efficiency.
2022-11-18 21:20:05 +10:00
David Reid 9bea9fd309 Have ma_sound_init_from_file() return error when no file path is given. 2022-11-18 20:44:12 +10:00
David Reid 055918830f Remove a reference to an unused function. 2022-11-18 17:04:23 +10:00
David Reid d33a866c33 Remove an unnecessary atomic. 2022-11-18 17:03:43 +10:00
David Reid 54ff8266ea Add an assert. 2022-11-18 13:30:48 +10:00
David Reid c919bba095 Update change history. 2022-11-18 12:40:49 +10:00
David Reid ec2bc0ce79 Remove some whitespace for style consistency. 2022-11-18 12:10:40 +10:00
David Reid 2aa98c1df6 Clean up some logic relating to playback data conversion cache. 2022-11-18 12:09:31 +10:00
Jeffrey Poore 4514a71bab fixed a little problem with changing devices when initialized our device config as duplex; fixed typos 2022-11-18 12:31:01 +11:00
David Reid 4f8e8de301 Migrate atomics from ma_device to new atomics system. 2022-11-14 16:43:16 +10:00
David Reid 84e911726c Introduce new safe atomic types.
The idea behind this is to avoid subtle bugs that are a result of
accidentally not using atomic operations to reference variables that
must always be used atomically.

This commit does not convert every atomic variable to the new system,
however going forward this will need to be adopted over time.
2022-11-13 12:05:32 +10:00
David Reid 4f7f00d76a Fix a crash due to a race condition in the resource manager. 2022-11-13 11:23:27 +10:00
David Reid 08472e45d7 Fix a copy paste error in some of the nodes in the extras folder. 2022-11-11 08:53:06 +10:00
David Reid 1fe10429e1 Update c89atomic. 2022-11-09 12:32:59 +10:00
David Reid cbae25fca3 Update c89atomic in preparation for some changes to atomics. 2022-11-09 10:59:09 +10:00
David Reid c153a94791 Update website with link to Mastodon. 2022-11-06 13:31:07 +10:00