Commit Graph

1015 Commits

Author SHA1 Message Date
David Reid 27202300ae Version 0.10.11 2020-06-28 11:31:06 +10:00
David Reid 2316696432 Version 0.10.11 2020-06-28 11:18:37 +10:00
David Reid 80e4528af0 Core Audio: Add a data race bug with automatic stream routing. 2020-06-28 11:09:48 +10:00
David Reid b65221cf3f Add a spinlock implementation.
This is private at the moment, but may be made public later.
2020-06-28 10:49:09 +10:00
David Reid 8d19c235bf Merge branch 'dev' of https://github.com/dr-soft/miniaudio into dev 2020-06-28 10:26:53 +10:00
David Reid 526fa796d6 Core Audio: Fix a bug with device tracking for auto stream routing. 2020-06-28 10:18:42 +10:00
David Reid dd6a81b01d Update documentation in preparation for some documentation generation. 2020-06-27 12:06:40 +10:00
David Reid 2bb6426ac8 Move release notes down to the bottom of the file.
This is done in preparation for some documentation generation and also
to get it out of the way of the part of the documentation that explains
how to use the library.
2020-06-27 10:57:46 +10:00
David Reid 516a24549a Version 0.10.10 2020-06-26 06:50:34 +10:00
David Reid 1dc176df2b Add support for disabling the threading API.
This is useful for those only using miniaudio for data conversion,
decoding and/or encoding.

Public issue https://github.com/dr-soft/miniaudio/issues/171
2020-06-25 15:06:57 +10:00
David Reid 83298a44d7 Fix compilation errors on POSIX systems and MA_NO_DEVICE_IO.
Public issue https://github.com/dr-soft/miniaudio/issues/171
2020-06-25 07:17:33 +10:00
David Reid cdde2bb3af Add include guard for the implementation section. 2020-06-25 07:13:49 +10:00
David Reid 5b5c3a74e0 Fix build with MA_NO_DEVICE_IO.
Public issue https://github.com/dr-soft/miniaudio/issues/171
2020-06-25 07:00:02 +10:00
David Reid 82a1410ec5 Fix compilation errors with MA_NO_DECODING and MA_NO_ENCODING. 2020-06-25 06:54:28 +10:00
David Reid 013f7fa979 Mark ma_device_sink_info_callback() as static.
Public issue https://github.com/dr-soft/miniaudio/issues/172
2020-06-25 06:41:36 +10:00
David Reid bfd35ee11c Version 0.10.9 2020-06-24 20:29:50 +10:00
David Reid 471dd44a4d Update revision history. 2020-06-24 20:15:40 +10:00
David Reid 0e3fe5390d Fix CoreAudio build. 2020-06-24 20:14:30 +10:00
David Reid b2782d27f0 Add a clarifying note to the revision history. 2020-06-24 20:05:01 +10:00
David Reid 5e09a28a7a Update c89atomic to fix a warning on GCC and Clang. 2020-06-24 20:00:57 +10:00
David Reid fc8360d0cd Fix an error with -std=c89. 2020-06-24 19:56:33 +10:00
David Reid e45882d2a9 Update revision history. 2020-06-24 19:41:01 +10:00
David Reid 05526fb098 Fix the UWP build. 2020-06-24 19:37:07 +10:00
David Reid db61a91a4e Clean up some old atomic stuff.
I've noticed that a lot of this doesn't actually require atomic
operations so this may be reviewed again later.
2020-06-24 19:30:37 +10:00
David Reid 39252d7b9f Update revision history. 2020-06-24 19:14:50 +10:00
David Reid a64d3f65b0 Amalgamate dr_wav, dr_flac and dr_mp3. 2020-06-24 19:12:45 +10:00
David Reid d3c42fbf24 Add documentation in preparation for WAV, FLAC and MP3 amalgamation. 2020-06-24 19:02:57 +10:00
David Reid a37e8a7e58 Add some endif comments. 2020-06-24 19:00:05 +10:00
David Reid 73ed0205dc Remove comments and empty lines from c89atomic integration. 2020-06-24 18:48:06 +10:00
David Reid 34c826ba06 Remove some premature validation checks. 2020-06-23 21:43:59 +10:00
David Reid bfbc76f891 Try fixing a memory leak when initializing a decoder fails. 2020-06-23 21:10:40 +10:00
David Reid f189280766 Add some basic validation for decoders.
This fixes an issue where a decoding backend can report configurations
outside of miniaudio's limits.

Public issues:
  * https://github.com/dr-soft/miniaudio/issues/166
  * https://github.com/dr-soft/miniaudio/issues/167
2020-06-23 20:18:21 +10:00
David Reid 715abd641b Add some placeholder tags for dr_libs amalgamation. 2020-06-23 18:57:52 +10:00
David Reid 9467152730 Integrate c89atomic to replace the old atomics API.
This is an internal change and does not affect any public APIs. This
change is in preparation for future lock-free high level APIs.
2020-06-23 17:39:06 +10:00
David Reid 5cd8c3be34 Add placeholder tags for c89atomic amalgamation. 2020-06-23 16:53:55 +10:00
David Reid 080623d3ee Minor formatting change. 2020-06-23 13:30:55 +10:00
David Reid a98c40bcef Version 0.10.8 2020-06-22 21:03:22 +10:00
David Reid 97d1f445fd Update revision history. 2020-06-19 11:53:01 +10:00
David Reid 966aeb07a0 Update linear resampler expected output frame count calculations.
This updates ma_linear_resampler_get_expected_output_frame_count() to
calculate the expected output frame count in constant time rather than
linear time. This should improve performances of anything using
ma_calculate_frame_count_after_resampling() which includes
ma_decoder_get_length_in_pcm_frames().
2020-06-19 09:12:46 +10:00
David Reid f9b7c64c05 Add ma_compare_and_swap_16(). 2020-06-15 21:14:23 +10:00
David Reid 0ae21d0415 Update revision history. 2020-06-14 20:10:56 +10:00
David Reid cd4e5314ed Make the ma_event API public in preparation for some future work. 2020-06-14 19:45:54 +10:00
David Reid 318f4500f4 Optimization to file type specific loading routines.
When a decoding backend is not present, initialization should abort
immediately with MA_NO_BACKEND, however it is including code for no
reason. This commit excludes that useless code from the build.
2020-06-14 19:43:21 +10:00
David Reid 4b6c8f555b Add support for configuring thread stack sizes and fix GCC errors.
The thread priority can be set via ma_thread_create() and can be set in
the context config along side the thread priority for configuring the
size of the stack for the audio thread.
2020-06-14 19:27:02 +10:00
David Reid 50eb67f946 Update revision history. 2020-06-14 16:39:34 +10:00
David Reid 8bc153069a Clean up some formatting warnings with GCC and -Wall and -Wpedantic. 2020-06-14 15:29:30 +10:00
David Reid 3a54f2b6a4 Add a Win32 specific VFS.
This addresses some 64-bit issues with stdio with older versions of VC.
2020-06-14 15:20:00 +10:00
David Reid 18a70db5a9 Make MA_MAX_CHANNELS configurable.
This needs to be #define-d before the header *and* implementation
because it affects the size of publicly visible structures.
2020-06-14 13:33:14 +10:00
David Reid dedb843814 Fix ma_compare_and_swap_*() on non-MSVC builds. 2020-06-14 13:02:50 +10:00
David Reid 78aeabfa41 Update ma_yield(). 2020-06-14 12:30:14 +10:00