Commit Graph

3872 Commits

Author SHA1 Message Date
David Reid 640d70c307 Add deprecation notice to old libopus and libvorbis custom decoders. 2025-02-17 18:14:40 +10:00
David Reid 46788d59a8 Rework the libvorbis and libopus custom decoders.
These decoders have been moved into their own subfolders under the
extras/decoders folder:

  extras/decoders/libvorbis
  extras/decoders/libopus

In addition to being relocated, they have also been split into separate
.c/h pairs. They now work like a more conventional library. The
implementation of these libraries have also been decoupled from the
miniaudio implementation which means they depend only on the header
section of miniaudio.h now.

With this change the custom_decoder and custom_decoder_engine examples
have been updated. To compile these you now need to link in the
miniaudio_libvorbis.c and miniaudio_libopus.c files via your build
tool. For your own code, you can still include the .c files directly
into your code if you want to compile as a single translation unit.
2025-02-17 16:57:47 +10:00
David Reid 01d6297bec Fix some warnings with some more examples. 2025-02-17 16:52:54 +10:00
David Reid de5f370d09 Fix some warnings with examples. 2025-02-17 16:01:19 +10:00
David Reid 47aa3e34e0 Update gitignore. 2025-02-17 15:59:40 +10:00
David Reid 445cdcb82b AAudio: Fix a possible compilation error on older SDKs. 2025-02-17 10:28:43 +10:00
David Reid 34092dbfc8 Fix an unused parameter warning. 2025-02-17 09:44:09 +10:00
David Reid 14b986448f Minor change to ma_calculate_buffer_size_in_milliseconds_from_frames(). 2025-02-17 09:36:50 +10:00
David Reid a6ac898663 Minor adjustment to a calculation. 2025-02-17 09:30:40 +10:00
Andrew Opalach 017f8944d3 WASAPI: Release mapped buffer before stopping device 2025-02-17 09:24:59 +10:00
Andrew Opalach e15fd218be WASAPI: Fix drain on device stop 2025-02-17 09:24:59 +10:00
David Reid 4c7021e53d WASAPI: Fix an error when stopping a device. 2025-02-16 17:44:21 +10:00
David Reid 856494d253 Update docs for missing build options.
Public issue https://github.com/mackron/miniaudio/issues/942
2025-02-16 15:45:56 +10:00
David Reid a0aac6b5ec Remove reference to MA_HAS_OPUS. 2025-02-16 15:17:37 +10:00
David Reid 60c7c776b4 PulseAudio: Fix a possible race condition with device init. 2025-02-16 14:59:16 +10:00
David Reid 125e9226fb Fix an error with ma_sound processing. 2025-02-16 13:18:52 +10:00
David Reid 4deb3d4c6a Remove a stray space. 2025-02-16 13:17:52 +10:00
David Reid 3ffdbdc710 Add miniaudio.c.
This is in preparation for splitting miniaudio into a split .c/h pair,
away from a single header.

`MINIAUDIO_IMPLEMENTATION` is still supported, but will be removed in
version 0.12 and should be considered deprecated. It's recommended to
start the transition to the new .c file.
2025-02-16 10:30:00 +10:00
David Reid 9b9e71ab6c PulseAudio: Fix an error with the construction of the stream name. 2025-02-13 11:15:32 +10:00
znakeeye f39bbe2f4d Revert "Fix for NDK issue 360. dlclose() skipped pre-API 28. This fixes weird crashes during uninit."
This reverts commit 14f698fcf2.
2025-02-13 07:49:22 +10:00
znakeeye 79bb4d7a37 Improved fix for dlclose() bug on Android. Now applying fix for all backends on Android < 28. 2025-02-13 07:49:22 +10:00
znakeeye f970144a3d Fix for NDK issue 360. dlclose() skipped pre-API 28. This fixes weird crashes during uninit. 2025-02-13 07:49:22 +10:00
znakeeye afc7e17fe6 Added MA_NO_RUNTIME_LINKING support for AAudio backend. 2025-02-13 07:49:22 +10:00
znakeeye 047200eace Fixed double-free issue in AAudio backend. 2025-02-08 07:20:50 +10:00
HeroesOfBalkan 6d5efde254 Rename secondIndex variables to seekPointInSeconds 2025-01-22 09:24:38 +10:00
HeroesOfBalkan 9da8df1b9f Add explicit casts to suppress -Wfloat-conversion warnings 2025-01-22 09:24:38 +10:00
HeroesOfBalkan ed5964c9f6 Fix unused and unitialized variable warning 2025-01-22 09:24:38 +10:00
HeroesOfBalkan 7e81d3ac80 Refactor new methods to wrap around their PCM equivalents 2025-01-22 09:24:38 +10:00
HeroesOfBalkan 450dcb1af3 Fix bug returning success when NULL is passed & typo corrected in a comment 2025-01-22 09:24:38 +10:00
HeroesOfBalkan 38f7d29f6f New API methods to seek data sources using seconds 2025-01-22 09:24:38 +10:00
David Reid 1fe39f949a Fix a documentation error. 2025-01-21 13:04:24 +10:00
David Reid 3fb7027682 Update gitignore. 2025-01-18 14:30:00 +10:00
David Reid 14a455143f Version control some osaudio files. 2025-01-18 14:20:13 +10:00
David Reid 977bd616ff Add icons for website. 2025-01-18 14:19:44 +10:00
David Reid a3ae2e71ff Fix a typo. 2025-01-18 14:13:53 +10:00
David Reid 68a526a759 Update copyright date. 2025-01-18 10:48:35 +10:00
David Reid 8383893c9c Fix a bug in ma_data_source_read_pcm_frames_from_backend(). 2025-01-18 07:14:55 +10:00
David Reid 7a25af64d6 Fix a crash in ma_data_source_seek_pcm_frames(). 2025-01-17 19:11:26 +10:00
David Reid fc905ec97f Add simple_spatialization example. 2025-01-11 18:42:34 +10:00
David Reid 3081e314b7 Update change history. 2025-01-11 16:47:30 +10:00
David Reid fcddfe6204 Update ma_pcm_rb data source implementation.
The data source implementation of a ma_pcm_rb could possibly return a
frame count of 0 which would in turn result in
ma_data_source_read_pcm_frames() returning MA_AT_END which does not
make sense for a ring buffer since it has no notion of an end.
2025-01-11 16:30:15 +10:00
David Reid 547ef1c9b7 Don't return MA_AT_END from ring buffers.
There is no notion of an "end" in a ring buffer. Also, this result is
returned when the operation completed successfully which makes a result
code other than MA_SUCCESS confusing.
2025-01-11 15:57:42 +10:00
David Reid 928ed8bd85 Web Audio: Enable threading in ma_engine if compiling with -pthread.
With this commit, when targeting pthreads with the -pthread, the engine
will allow threading with it's internal resource manager.

Public issue https://github.com/mackron/miniaudio/issues/855
2025-01-11 13:00:33 +10:00
David Reid ae2cd4bea4 Web Audio: Add support for variable buffer sizes to Audio Worklets.
Support for this was added to Emscripten 3.1.70. Currently only
querying the quantum size is supported. I believe support for
configuring the quantum size is coming later in Web Audio 1.1.

Compilation with versions of Emscripten earlier than 3.1.70 is still
supported.
2025-01-11 10:17:20 +10:00
David Reid b53daca554 Clean up. 2025-01-11 09:25:43 +10:00
francois@recisio.com 1a7a9a7ed2 Fix build for emscripten before 3.1.70 2025-01-11 09:21:06 +10:00
francois@recisio.com 82ae0138f3 Improve fix, handle all outputs 2025-01-11 09:21:06 +10:00
francois@recisio.com 8d5bf8210c WebAudio: Fix a noise sound before device was started 2025-01-11 09:21:06 +10:00
David Reid ad615af1a8 Fix some warnings with GCC. 2025-01-11 08:47:29 +10:00
David Reid 3a34c049fa Merge branch 'dev' of https://github.com/mackron/miniaudio into dev 2025-01-10 13:02:37 +10:00