Commit Graph

3942 Commits

Author SHA1 Message Date
Taiko2k 1696031633 Tweak pulseaudio stream flags 2023-07-30 08:17:21 +10:00
David Reid 90bdda29ae Fix a typo. 2023-07-30 08:14:38 +10:00
David Reid ba1b349a5a Merge branch 'dev' into dev-0.12 2023-07-22 16:39:45 +10:00
David Reid 69bc820ae8 Fix an error when loading WAV files.
The sample format of a WAV file is not always being set which results
in get_data_format() returning ma_format_unknown.
2023-07-22 16:39:17 +10:00
David Reid 052d8bd857 Merge branch 'dev' into dev-0.12 2023-07-22 16:22:25 +10:00
David Reid 98a39ded77 Fix compilation error with previous commit. 2023-07-21 18:19:49 +10:00
David Reid 4c7e3218e3 Improvements to decoder initialization.
This change makes use of the onInitFile, onInitFileW and onInitMemory
backend callbacks which enables decoding backends to have optimized
implementations for reading from a file or a block of memory without
having to go through an abstraction layer on the miniaudio side.

Public issue https://github.com/mackron/miniaudio/issues/696
2023-07-21 18:18:15 +10:00
David Reid b2ed26cf76 Fix an error with setting of the cursor when seeking a Vorbis file.
Public issue https://github.com/mackron/miniaudio/issues/707
2023-07-21 07:39:07 +10:00
David Reid 7f0a92a08f Don't call CoUninialize() when CoInitializeEx() fails. 2023-07-09 09:49:01 +10:00
David Reid ab87375257 Add ma_engine_get_volume().
Public issue https://github.com/mackron/miniaudio/issues/700
2023-07-08 09:18:41 +10:00
David Reid 0eadb0f30e Make ma_linear_resampler_set_rate_ratio() more accurate. 2023-07-07 16:47:24 +10:00
David Reid 6117016102 Fix some minor linting warnings. 2023-06-17 08:15:02 +10:00
David Reid dcd432bc84 Update data converter to use the default LPF order for resampling.
This ensures the data converter has the same defaults as the resampler
so things work a bit more consistently.
2023-06-17 08:11:10 +10:00
David Reid 22724a9156 Merge branch 'dev' into dev-0.12 2023-06-17 08:06:45 +10:00
David Reid a6eb7d6a6f Update change history. 2023-06-17 08:06:22 +10:00
Jay Baird e9ba163490 Fix issue where duty cycle of a pulsewave was not correctly set at init time 2023-06-10 08:42:27 +10:00
David Reid f9076ef327 Update dr_wav with more AIFF improvements. 2023-06-08 09:10:07 +10:00
David Reid eabc776898 Fix erroneous output with the resampler when in/out rates are the same. 2023-06-08 08:34:04 +10:00
David Reid 4c49c49596 Update change history. 2023-06-07 21:14:58 +10:00
David Reid 34b40bdc17 Update dr_wav with improved AIFF compatibility. 2023-06-07 13:58:46 +10:00
David Reid d30b3a76a5 Merge branch 'dev' into dev-0.12 2023-06-05 16:06:03 +10:00
David Reid e1bfeb212a AAudio: Reverse some incorrect logic when setting up streams. 2023-06-05 15:44:27 +10:00
David Reid db8e77cad4 Fix a compilation error with the C++ build. 2023-06-05 15:19:28 +10:00
David Reid 4548242b96 Merge branch 'dev' into dev-0.12 2023-06-05 09:01:47 +10:00
David Reid 1177997599 Add support for supplying a custom device data callback to ma_engine.
When this is used, the data callback should at some point call
ma_engine_read_pcm_frames() in order to do some processing.
2023-06-05 09:01:30 +10:00
David Reid 7a804e77c2 Merge branch 'dev' into dev-0.12 2023-06-03 16:27:51 +10:00
David Reid 5f32336a34 Use float* instead of void* for the engine processing callback. 2023-06-03 16:27:39 +10:00
David Reid 780e607210 Make per-sound processing consistent with per-engine. 2023-06-03 16:26:04 +10:00
David Reid f625d7abd8 Merge branch 'dev' into dev-0.12 2023-06-03 16:20:27 +10:00
David Reid a0b952eea6 Add support for setting a processing callback for ma_engine.
This is optional and is fired at the end of each call to
ma_engine_read_process_pcm_frames(). The callback will be passed the
processed audio data so they can do their own processing such as
outputting to a file or whatnot.

The callback is configured via the engine config.
2023-06-03 16:20:16 +10:00
David Reid 16db85081f Merge branch 'dev' into dev-0.12 2023-06-03 13:39:09 +10:00
David Reid e7912fa242 Add ma_sound_get_time_in_milliseconds(). 2023-06-03 13:38:55 +10:00
David Reid 0c1c4c7ddc Update dr_wav. 2023-05-29 08:33:31 +10:00
David Reid 04ab2a2d7b Merge branch 'dev' into dev-0.12 2023-05-27 15:45:00 +10:00
David Reid d76b9a1ac4 Version 0.11.17 0.11.17 2023-05-27 12:49:48 +10:00
David Reid e9b6559be1 Very minor code reorganisation. 2023-05-26 13:41:41 +10:00
Jay Baird 1bd7713e85 swap parameters for better compatibility with ma_data_source 2023-05-26 13:38:45 +10:00
Jay Baird e7e666d827 Add ma_pulsewave generator type 2023-05-26 13:38:45 +10:00
David Reid 8c59e9b736 Update change history. 2023-05-23 19:10:59 +10:00
David Reid a2698a0048 Fix compilation error relating to dlopen() and family. 2023-05-23 14:04:40 +10:00
David Reid ea42e16a79 Fix the C++ build. 2023-05-22 18:27:38 +10:00
David Reid 14be2bd394 Fix some long out of date tests. 2023-05-22 18:20:21 +10:00
David Reid a8f3cb857e Fix compilation errors with MA_NO_DEVICE_IO. 2023-05-22 18:09:04 +10:00
David Reid 563e1c52cb Update change history. 2023-05-22 17:51:08 +10:00
David Reid 4520faa1d2 Update dr_flac amalgamation again to remove redundant error codes. 2023-05-22 17:50:41 +10:00
David Reid 8dec4e0b9b Update amalgamation of dr_flac. 2023-05-22 17:43:27 +10:00
David Reid 69f4a19ef5 Fix a copy/paste error. 2023-05-22 17:41:20 +10:00
David Reid 9374f5e8d2 Update dr_mp3 amalgamation. 2023-05-22 17:25:01 +10:00
David Reid b98acd2422 Update amalgamation of dr_wav.
With this change, dr_wav is now namespaced with "ma" which means dr_wav
can now be used alongside miniaudio.

In addition, some duplicate code has been removed, such as sized types,
result codes, allocation callbacks, etc. which reduces the size of the
file slightly.

This should address the following public issue:
  https://github.com/mackron/miniaudio/issues/673
2023-05-22 16:52:16 +10:00
David Reid 5c099791ee Clean up decoding documentation.
miniaudio is updating it's amalgamation of dr_wav, etc. so that it's
all namespaced with "ma" which will make the amalgamated versions of
dr_libs entirely independent. There's no longer any need to mention
the decoding backends.

Documentation regarding stb_vorbis is removed so as to discourage
new users from using it. Support will not be removed until a
replacement Vorbis decoder can be amalgamated, but new users should
instead be guided to the libvorbis custom decoder in the extras folder.
2023-05-22 16:06:13 +10:00