Commit Graph

628 Commits

Author SHA1 Message Date
David Reid 9b4e524b3f JACK: Add support for default device detection.
Public issue https://github.com/mackron/miniaudio/issues/126
2020-11-01 18:29:14 +10:00
David Reid 7c937c491e ALSA: Add basic support for detecting default devices.
Public issue https://github.com/mackron/miniaudio/issues/126
2020-11-01 17:55:43 +10:00
David Reid edfc9bbcaf ALSA: Fix a bug in ma_context_get_device_info(). 2020-11-01 17:29:48 +10:00
David Reid c4099c86c6 PulseAudio: Add support for detecting default devices.
Public issue https://github.com/mackron/miniaudio/issues/126
2020-11-01 17:09:36 +10:00
David Reid c844455059 Fix bugs with ma_decoder_init_file*().
Public issue https://github.com/mackron/miniaudio/issues/213
2020-11-01 15:19:35 +10:00
David Reid e808a67777 Refactor to the PulseAudio backend.
* The main loop is now handled properly by pa_threaded_mainloop.
  * Rather than waiting for operations to complete inline, the main
    loop is now iterated on a separate thread.
  * Data is now written and read to and from the relevant stream via
    callbacks rather than a hacky loop.
  * Code overall has been simplified.
  * Includes a rant about bad API design in PulseAudio.

This should hopefully address these public issues:

  * https://github.com/mackron/miniaudio/issues/106
  * https://github.com/mackron/miniaudio/issues/187
2020-11-01 14:30:06 +10:00
David Reid 3018ba3ee5 Some refactoring to the PulseAudio backend.
The PulseAudio mainloop and context objects have been moved out of the
device and into the context.
2020-10-31 16:43:25 +10:00
David Reid ae88112e4f Version 0.10.21 2020-10-30 20:23:21 +10:00
David Reid 447e22e09f Update dr_libs. 2020-10-30 20:20:29 +10:00
David Reid d2a663a9aa Update revision history. 2020-10-30 20:05:08 +10:00
David Reid 25bd2576bf Core Audio: Improvements to data format selection.
Public issue https://github.com/mackron/miniaudio/issues/201
2020-10-30 19:56:36 +10:00
David Reid cd1a3decfa Reduce some stack usage. 2020-10-28 18:30:14 +10:00
David Reid 62a7c6a805 Check the result of ReadFile() to silence some static analysis warnings 2020-10-28 18:24:28 +10:00
David Reid e67953d6f2 Fix some bugs due to null pointer dereferences.
Public issue https://github.com/mackron/miniaudio/issues/209
2020-10-28 18:17:53 +10:00
David Reid 64a1941f8e Reduce some stack allocation space. 2020-10-28 18:16:23 +10:00
David Reid 11e1be7887 Use a consistently sized stack allocated buffer. 2020-10-28 18:03:43 +10:00
David Reid 069549254d Rename some APIs from previous commit.
This uses the "enabled" notion rather than "available" as I think it's
a bit clearer in terms of enabled at compile time rather than available
at run time.

Public issue https://github.com/mackron/miniaudio/issues/211
2020-10-25 09:54:58 +10:00
David Reid e59ee1e773 Add support for retrieving available backends at run-time.
The following APIs have been added:

  * ma_is_backend_available()
  * ma_get_avaialable_backends()

Public issue https://github.com/mackron/miniaudio/issues/211
2020-10-25 09:06:57 +10:00
David Reid 52e45237ac Fix some typos. 2020-10-13 17:29:31 +10:00
David Reid 7090c1b773 Core Audio: Fix an error from an earlier commit.
Public issue https://github.com/mackron/miniaudio/issues/201
2020-10-11 21:51:09 +10:00
David Reid f6beb7993c Update revision history. 2020-10-11 11:46:47 +10:00
David Reid 016eed9698 Tabs to spaces. 2020-10-11 11:38:46 +10:00
David Reid e972a03b3f Core Audio: Add notes regarding the Apple notarization process. 2020-10-11 11:36:57 +10:00
David Reid 6ecb728326 Core Audio: Fix a bug when using multiple contexts. 2020-10-11 10:56:53 +10:00
David Reid 0ae8adc1c0 Core Audio: Remove logic that forces the device's original sample rate. 2020-10-11 10:27:09 +10:00
David Reid 5a20743a03 Core Audio: Fix a compilation warning. 2020-10-11 10:08:03 +10:00
David Reid ea82457317 Update revision history. 2020-10-08 18:56:54 +10:00
Will Wong 78dab3643c Fix loopback typo 2020-10-08 13:20:12 +09:00
David Reid 634cdb028f Version 0.10.20 2020-10-06 17:43:19 +10:00
David Reid d20c3bf5a9 Fix the UWP build.
Public issue https://github.com/mackron/miniaudio/issues/199
2020-10-05 07:55:20 +10:00
David Reid 4b32673701 Update documentation to use more professional language. 2020-09-30 20:10:26 +10:00
David Reid 5b82783d19 Version 0.10.19 2020-09-22 21:43:03 +10:00
David Reid 35beabb8d7 Fix a bug in ma_decoder_seek_to_pcm_frames().
This bug is that the function is never returning MA_SUCCESS even when
successful.
2020-09-21 18:01:46 +10:00
David Reid 7a72cc3f84 WASAPI: Return an error when the native format is not supported. 2020-09-20 13:26:35 +10:00
David Reid c50d5435e1 Store the sample rate in the ma_lpf and ma_hpf structures. 2020-09-12 12:56:41 +10:00
David Reid 4203697b38 Version 0.10.18 2020-08-30 11:58:18 +10:00
David Reid ecc0cb3418 Update links to point to the new repository location. 2020-08-30 11:56:37 +10:00
David Reid 6562e6a0c8 Update FLAC decoder. 2020-08-30 11:41:37 +10:00
David Reid ecb139a791 Update revision history. 2020-08-29 16:50:58 +10:00
David Reid dde178a0ea Add a comment about a VC6 limitation. 2020-08-29 15:09:39 +10:00
David Reid 578db3c8e1 Remove an unnecessary function declaration. 2020-08-29 15:00:27 +10:00
David Reid 7adf2f3bbc Merge pull request #192 from Clownacy/dev
Fix some VC6/2003 errors
2020-08-29 14:50:17 +10:00
David Reid f0a4b4533d Use a more appropriate default format for FLAC decoders. 2020-08-29 09:31:43 +10:00
David Reid f156baafca Use a default instead of blank channel map by default.
This commit fixes an issue where the optimized mono expansion path is
never hit.
2020-08-29 09:18:50 +10:00
David Reid f6fcbc7133 Fix an overflow bug in channel conversion. 2020-08-29 09:03:39 +10:00
David Reid a8557e82da Version 0.10.17 2020-08-28 20:36:58 +10:00
David Reid 18fd90c74f Fix a bug in ma_audio_buffer_read_pcm_frames().
This was always returning the input frame count rather than the number
of frames processed.
2020-08-28 20:25:54 +10:00
David Reid 479e239e6d Core Audio: Fix a bug with full-duplex mode.
Public issue https://github.com/dr-soft/miniaudio/issues/191
2020-08-27 17:50:08 +10:00
Clownacy 145520fabc Use fallback when SetFilePointerEX unavailable
VC6 doesn't appear to have SetFilePointerEX, so fallback on
SetFilePointer instead. This matches-up with VC6 not supporting
64-bit fseek.

Visual Studio .NET 2003 supports it, however.
2020-08-26 00:27:28 +01:00
Clownacy 9f4efc258c Fix some VC6/2003 errors
For whatever reason, neither compiler likes implicit casts between
`volatile unsigned int*` and `int*`.
2020-08-26 00:16:56 +01:00