Commit Graph

3946 Commits

Author SHA1 Message Date
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
David Reid 6d30ac7992 Remove some debugging code. 2017-11-04 14:30:22 +10:00
David Reid 80cebeb6a3 Fix a bug with sample rate conversion. 2017-11-04 12:20:51 +10:00
David Reid 5c31a4b6d1 Move dr_wav.h into the extras folder. 2017-11-01 19:19:15 +10:00
David Reid d5f009c851 Bug fixes for ALSA. 2017-10-29 20:39:19 +10:00
David Reid 8d4575741d Bug fix. 2017-10-29 18:17:34 +10:00
David Reid 123471d303 Fix a warning with the UWP build. 2017-10-29 17:53:47 +10:00
David Reid 327af170ba Improvements and fixes to the ALSA and WinMM backends. 2017-10-29 17:47:54 +10:00
David Reid 7ed2a284ab [DirectSound] Try using exclusive mode when requested. 2017-10-29 14:16:08 +10:00
David Reid 0c5968f039 WASAPI: Add early support for exclusive mode. 2017-10-29 12:52:18 +10:00
David Reid f2898fec7f ALSA: Make format selection more robust. 2017-10-29 09:47:53 +10:00
David Reid 03c75b9907 [ALSA] Use runtime linking for libasound.
This removes the need to the -lasound linker option.
2017-10-28 19:21:23 +10:00
David Reid 8cbf8023ca Small documentation updates. 2017-10-28 17:38:27 +10:00