Commit Graph

4116 Commits

Author SHA1 Message Date
David Reid 4598d72a33 Fix a typo. 2024-09-13 08:20:09 +10:00
Tero Parviainen 4f5106ec77 Add a missing pDevice handle to the Web Audio device index when using worklets
This matches the handle added for script processor node devices in #771
2024-08-22 06:58:38 +10:00
David Reid a611cf5f26 Add ma_device_id_equal(). 2024-08-06 12:07:55 +10:00
David Reid d726e85313 Fix an error with the engine's node graph processing.
Public issue https://github.com/mackron/miniaudio/issues/850
2024-08-06 09:19:54 +10:00
Nishi efa270af91 adjust comparison a bit 2024-08-06 08:18:49 +10:00
Nishi 98f6e923cc check __NetBSD_Version__ 2024-08-06 08:18:49 +10:00
Nishi 427bdc1d2a use AUDIO_GETFORMAT instead of AUDIO_GETINFO for NetBSD 2024-08-06 08:18:49 +10:00
David Reid 61586de203 PulseAudio: Default to a blocking main loop. 2024-08-05 10:34:01 +10:00
David Reid d46e19fb47 PulseAudio: Attempt to fix a deadlock.
Public issues
  https://github.com/mackron/miniaudio/issues/877
  https://github.com/mackron/miniaudio/issues/881
2024-08-05 09:21:23 +10:00
David Reid dc423daa41 Silence some GCC warnings.
This is from c89atomic which has been fixed upstream.
2024-08-04 09:08:27 +10:00
David Reid 5d827878f2 Rename a variable for consistency. 2024-08-04 08:35:05 +10:00
Timo Schwarzer d87230b4bd Allow setting the channel map that is requested from PulseAudio 2024-08-04 08:35:05 +10:00
raduetsya e1328d9d8a Fix an always-false warning 2024-07-27 10:51:44 +10:00
David Reid 8036ac3781 WASAPI: Fix a crash when changing devices. 2024-07-14 07:16:43 +10:00
Matthieu Bouron fc45d8ca06 AAudio: Fix ma_device_get_info() implementation 2024-06-08 12:51:59 +10:00
Matthieu Bouron 35215b266c CHANGES.md: add missing newline at EOF 2024-06-08 12:51:59 +10:00
David Reid 1c15cf6502 WASAPI: Fix a regression where incorrect device info is retrieved. 2024-05-14 07:48:53 +10:00
David Reid 196289592a WASAPI: Fix a bug with loopback device info retrieval. 2024-05-12 08:40:19 +10:00
David Reid 1b35118e31 AAudio: Potential fix for a failed assertion.
Public issue https://github.com/mackron/miniaudio/issues/833
2024-04-29 08:52:12 +10:00
RainRat 88436b25ef Update miniaudio.h
fix typos
2024-04-28 15:17:11 +10:00
RainRat 3db49afa5b revert unneeded changes per request 2024-04-28 15:17:11 +10:00
RainRat aa98e1c493 fix typos 2024-04-28 15:17:11 +10:00
David Reid afb121e2ce Update c89atomic. 2024-04-28 15:12:08 +10:00
David Reid 855628f15f Update dr_wav. 2024-04-28 14:55:42 +10:00
David Reid 9091cbd016 Core Audio: Try fixing a compilation error.
Public issue https://github.com/mackron/miniaudio/issues/841
2024-04-28 13:58:11 +10:00
David Reid e82703482b Fix a minor declaration inconsistency. 2024-04-28 12:59:52 +10:00
Sergey Fedorov 6700c7ecc7 miniaudio.h: fix for macOS 2024-04-26 07:23:10 +10:00
RainRat 3ba0595c6a fix typos 2024-04-11 12:40:39 +10:00
RainRat 4bc18bba5a revert unneeded changes per request 2024-04-11 12:40:39 +10:00
RainRat 26ce355703 fix typos 2024-04-11 12:40:39 +10:00
David Reid f7ad7772d1 ALSA: Try making the handling of poll() a bit more robust.
Public issue https://github.com/mackron/miniaudio/issues/836.
2024-04-07 14:38:09 +10:00
David Reid f760d05c51 API CHANGE: Rename a variable.
This renames `defaultVolumeSmoothTimeInPCMFrames` in `ma_engine_config`
to `defaultVolumeSmoothTimeInFrames` in order to make it consistent
with other variables in the same structure.
2024-03-01 10:56:28 +10:00
David Reid ff9225a878 API CHANGE: Rename a variable.
This renames `gainSmoothTimeInFrames` in `ma_engine_config` to
`spatializationVolumeSmoothTimeInFrames` in order to make it more clear
that it specifically affects spatialization.
2024-03-01 10:49:40 +10:00
David Reid 2c59b302e5 Merge branch 'dev' into dev-0.12 2024-03-01 10:13:29 +10:00
David Reid 0eb86ea1da Fix a bug where sounds loaded with MA_SOUND_FLAG_DECODE do not loop. 2024-03-01 09:59:44 +10:00
David Reid 0262d89ea9 Changes to ma_audio_buffer_ref and ma_audio_buffer.
This updates read_pcm_frames() to return a result code, and to output
the number of frames read through an output parameter.
2024-03-01 09:36:17 +10:00
David Reid f581a23f30 Fix a comment. 2024-03-01 09:35:01 +10:00
David Reid 5a0d1ad433 Merge branch 'dev' into dev-0.12 2024-03-01 08:37:16 +10:00
RainRat 2618c21415 revert unneeded changes per request 2024-03-01 08:35:45 +10:00
RainRat 030b9554c2 fix typos 2024-03-01 08:35:45 +10:00
David Reid c0be89b016 Remove a deprecated config variable.
This removes `isLooping` from these configs:

  * ma_sound_config
  * ma_resource_manager_data_source_config

The new way to set the initial looping state for these objects is to
use a flag:

  * MA_SOUND_FLAG_LOOPING or
  * MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_LOOPING

The motivation for this change is that it allows the initial looping
state to be set without needing `ma_sound_init_ex()` and
`ma_sound_config`.
2024-03-01 08:33:24 +10:00
David Reid 7c90311f5d Fix some const errors and add ma_decoder_get_encoding_format(). 2024-03-01 07:57:13 +10:00
David Reid f07c4cd3a1 Update engine_custom_decoder example. 2024-03-01 07:55:41 +10:00
David Reid d10a287f23 Rename custom_decoder_engine example to engine_custom_decoder.
This just makes it easier to find engine related examples in the
example list.
2024-03-01 07:30:08 +10:00
David Reid 61ec4b17c6 Update docs and add support for backend-specific userdata for decoders. 2024-03-01 07:06:54 +10:00
David Reid 2eb6f4eda2 Clean up. 2024-02-29 21:13:45 +10:00
David Reid 4fc86eb190 Add helper functions for retrieving encoding format from an extension.
This adds the following functions:

  * ma_encoding_format_from_path()
  * ma_encoding_format_from_path_w()

You can use these to pass into ma_decoder_config to skip over decoding
backends that don't support the given file extension.
2024-02-29 21:07:35 +10:00
David Reid ff0a53fa6f Implement onGetEncodingFormat for libvorbis and libopus decoders. 2024-02-29 20:45:19 +10:00
David Reid 991ae301e4 Remove some unused functions. 2024-02-29 20:35:56 +10:00
David Reid 99c5a9c629 Big simplification decoder initialization.
With this change, there are now new prioritization rules when deciding
which backend to attempt to load from.

  * Backends are iterated in the order they are defined in the config.

  * If the encoding format is set to ma_encoding_format_unknown, all
    backends will be attempted in regular prioritization order.

  * If the encoding format is set to something other than
    ma_encoding_format_unknown, that is a specific format is being
    requested, only backends that report support for that format or
    ma_encoding_format_unknown will attempted.

  * File extensions are no longer used as a hint for prioritization.
    The encoding format in ma_decoder_config should be used to
    accelerate backend selection instead.
2024-02-29 20:29:42 +10:00