Commit Graph

2908 Commits

Author SHA1 Message Date
David Reid 21736d59b0 Fix a stale comment. 2017-11-13 20:37:40 +10:00
David Reid 3ede2b1f88 API CHANGE: Expose and improve mutex APIs. 2017-11-13 20:35:14 +10:00
David Reid c8cd85ebde Merge pull request #4 from gen2brain/master
Add macOS library names
2017-11-13 18:38:56 +10:00
Milan Nikolic 1f78b7979d Add macOS library names 2017-11-12 15:15:25 +01:00
David Reid c519430bfa Update change log. 2017-11-12 14:15:54 +10:00
David Reid 87efb75c94 Expose mutex APIs. 2017-11-12 12:52:43 +10:00
David Reid 409eab0f28 Add mal_convert_frames().
This API is a helper for doing a bulk format conversion in one go.
2017-11-12 11:39:40 +10:00
David Reid 975b8ee393 Bump version. 2017-11-11 09:52:06 +10:00
David Reid 15da6a79c7 Stop trying to silence a non-warning. 2017-11-11 09:51:02 +10:00
David Reid 847392496a Add a note to the readme to make it clear mini_al does not load files. 2017-11-11 09:46:47 +10:00
David Reid 8c53756cac Clean up some GCC warnings for the BSD build. 2017-11-11 18:21:36 +10:00
David Reid 49b0104329 OSS: Fix a bug when starting a playback device. 2017-11-11 18:15:41 +10:00
David Reid 375cdd68df Fix subtle errors with device enumeration on most backends. 2017-11-11 18:02:05 +10:00
David Reid 5c7bb0dc98 Update the advanced config example with backend selection. 2017-11-11 17:58:40 +10:00
David Reid 5b24501a28 WASAPI/UWP: Fix errors with device enumeration.
This is the same issue as the earlier commit that fixes the non-UWP
enumeration for WASAPI.
2017-11-11 17:10:37 +10:00
David Reid 8fdb156d57 Add advanced config example. 2017-11-11 17:01:49 +10:00
David Reid 91822633c3 Simplify the simple playback example. 2017-11-11 17:01:27 +10:00
David Reid acef567220 WASAPI: Fix an error with device enumeration.
There are two problems with this:

 * The pInfo buffer is being accessed when set to NULL
 * The count is not getting set correctly when pInfo = NULL
2017-11-11 16:59:17 +10:00
David Reid e3e1ab19ed API CHANGE: Remove alsa.preferPlugHW config.
This config doesn't really make sense any more because we are now using
dmix/dsnoop for shared mode, and hw for exclusive mode. Format
conversion is now done via mini_al itself which makes plughw pretty
much useless for us at this point.
2017-11-11 15:03:27 +10:00
David Reid 330c5fe9d9 ALSA: Don't exclude the null device by default.
Having thought about this, it feels like a bad idea to exclude devices
by default because it might get a bit confusing for the end user. The
option to exclude the null device has been swapped around, so now the
config is called "excludeNullDevice" rather than "includeNullDevice".
2017-11-11 07:03:13 +10:00
David Reid 67f1f29b7b Change log. 2017-11-11 06:38:30 +10:00
David Reid 77751bd077 ALSA: Fix an error with channel mapping. 2017-11-11 09:03:42 +10:00
David Reid 5aadfef82b ALSA: Fix the returned device count when enumerating devices. 2017-11-11 08:11:14 +10:00
David Reid 3dbaa4725a ALSA: Fix a bug with hardware params.
The buffer size should be set before periods.
2017-11-10 22:37:14 +10:00
David Reid eb0e94fced Clean up and fix an incorrect error message. 2017-11-10 20:03:00 +10:00
David Reid 6348588787 Merge branch 'issue_1' into 0.5 2017-11-09 21:25:15 +10:00
David Reid d736d65465 ALSA: Fix a hardware parameter issue with dmix devices.
Relates to issue #1.
2017-11-09 21:14:07 +10:00
David Reid 4fec172178 Typo. 2017-11-08 21:52:48 +10:00
David Reid 7b3e89d459 ALSA: Improvements to device enumeration.
* By default, device enumeration will now only enumerate over unique
   card/device pairs. Applications can enable verbose device
   enumeration by setting the alsa.useVerboseDeviceInteration context
   config variable.
 * By default, the "null" device is excluded from enumeration. This can
   be changed by setting the alsa.includeNullDevice context config
   variable.

Relates to issue #2.
2017-11-08 21:48:37 +10:00
David Reid 56ea28881f ALSA: Don't set a start threshold when using mmap mode.
Possibly related to issue #1.
2017-11-08 07:54:02 +10:00
David Reid 60a8e3fdb5 API CHANGE: Add support for context configuration.
This adds the mal_context_config structure and changes the
mal_context_init() API to take a pointer to a config object.
2017-11-07 21:49:50 +10:00
David Reid 9f4a9e4280 ALSA: Bug fixes for the new device iteration system. 2017-11-07 21:18:51 +10:00
David Reid 4c434f1591 ALSA: Another attempt at fixing mmap mode. 2017-11-07 19:39:47 +10:00
David Reid 8f932b3c22 ALSA: Simplify device enumeration. 2017-11-06 21:58:52 +10:00
David Reid 3a603b586e Remove unnecessary #include from the enumeration example. 2017-11-06 21:58:24 +10:00
David Reid 11a7731372 ALSA: Try fixing a failed assertion with MMAP mode.
It appears snd_pcm_mmap_begin() is returning a frame count of 0 (which
according to the documentation is apparently possible) which mini_al is
not handling properly.
2017-11-06 19:05:20 +10:00
David Reid cbe8a7e280 Update documentation and prep version 0.4 release. 2017-11-05 21:15:17 +10:00
David Reid 6ac0a701ff ALSA: Bug fix with "hw" to "plughw" conversion.
Thanks for that one, Clang!
2017-11-05 20:08:12 +10:00
David Reid 45eecb92b8 Update features list. 2017-11-05 20:00:24 +10:00
David Reid 9f97cc6943 Whitespace. 2017-11-05 19:59:52 +10:00
David Reid cec3da05e8 Improve compiler support for DirectSound. 2017-11-05 18:54:03 +10:00
David Reid b783bc2857 Improve compiler support.
* Fix link errors with Clang
  * Add support for VC++ 6. Note that WASAPI and DirectSound are currently
    disabled for this compiler.
2017-11-05 16:43:31 +10:00
David Reid 21c3f3ad6f Prep work for improving channel mixing. 2017-11-05 10:42:16 +10:00
David Reid a0e5997b15 Update documentation to accurately reflect backend priorities. 2017-11-04 22:12:38 +10:00
David Reid d0aa632127 Remove a TODO. 2017-11-04 22:07:52 +10:00
David Reid 80c1a63008 Clean up TODOs. 2017-11-04 21:46:17 +10:00
David Reid b9fcacdbfd Fix an overflow bug with f32 to s32 conversion. 2017-11-04 21:30:32 +10:00
David Reid ccd9e736cc ALSA: Miscellaneous improvements:
* Generally improve latency.
  * Get MMAP mode working with playback devices.
    * This can be disabled with the alsa.noMMap config.
  * No longer default to using "plughw" devices and instead just use "hw"
    devices where appropriate.
    * This can be disabled with the alsa.preferPlugHW config.
2017-11-04 21:19:09 +10:00
David Reid be65f148f6 Update dr_wav. 2017-11-04 17:54:52 +10:00
David Reid b00009584d Whitespace. 2017-11-04 17:02:09 +10:00