Commit Graph

749 Commits

Author SHA1 Message Date
David Reid d46409c4b5 Remove unnecessary statics. 2018-03-18 12:01:46 +10:00
David Reid a27a97f8c8 Add some thread safety to the ALSA backend. 2018-03-18 11:44:20 +10:00
David Reid 5f0f7eb2bb Simplify mal_context_get_device_info(). 2018-03-18 11:35:27 +10:00
David Reid 44ba584c28 Replace some instances of mal_strcpy_s() with mal_strncpy_s(). 2018-03-18 10:56:42 +10:00
David Reid 2c01858f3a SDL: Implement the new device enumeration APIs. 2018-03-18 10:29:36 +10:00
David Reid 59f01c5be0 OpenAL: Implement the new device enumeration APIs. 2018-03-18 10:02:12 +10:00
David Reid b8638f2c46 Use mal_strncpy_s() instead of mal_strcpy_s() in a few places. 2018-03-18 07:50:58 +10:00
David Reid 40aad047a1 OpenSL: Implement the new device enumeration APIs. 2018-03-18 07:44:39 +10:00
David Reid 789bd23246 JACK: Implement the new device enumeration APIs. 2018-03-18 06:47:19 +10:00
David Reid 90269f6c1a Fix some memory leaks. 2018-03-17 21:20:44 +10:00
David Reid 678ec058a1 PulseAudio: Implement the new device enumeration API. 2018-03-17 20:27:28 +10:00
David Reid 614d3e014b ALSA: Implement the new device enumeration API. 2018-03-17 19:11:07 +10:00
David Reid 79a95bc1b5 Stop disabling WASAPI on older compilers. 2018-03-17 11:45:02 +10:00
David Reid 4ea47b62a7 Implement the new device enumeration API for the null backend. 2018-03-17 09:47:49 +10:00
David Reid 25e0e7f0f6 Fix some undefined behaviour.
Addresses issue #17.
2018-03-17 09:13:02 +10:00
David Reid b4bcb3132a WinMM: Implement the new device enumeration APIs. 2018-03-17 09:10:37 +10:00
David Reid 52e03ff5b5 DirectSound: Implement the new device enumeration API. 2018-03-16 19:11:39 +10:00
David Reid d0762a0410 API CHANGE: Replace preferExclusiveMode with shareMode. 2018-03-15 20:16:27 +10:00
David Reid 9d599d7791 WASAPI: Implement the new enumeration APIs. 2018-03-15 19:59:58 +10:00
David Reid 627969d266 Reword some documentation for the new device enumeration APIs. 2018-03-13 21:46:27 +10:00
David Reid 5abd93b39d Initial untested work on an improved device enumeration API. 2018-03-13 21:36:43 +10:00
David Reid 5492b87085 Update readme. 2018-03-11 21:39:27 +10:00
David Reid 5921d0e229 WASAPI: Remove dependency on audioclient.h
What a nightmare!
2018-03-11 21:14:47 +10:00
David Reid 1e981c6453 Update dr_mp3. 2018-03-11 21:04:12 +10:00
David Reid 0f9ec78ebe Update dr_mp3. 2018-03-11 21:01:01 +10:00
David Reid dcf78ded75 Update change log. 2018-03-11 16:18:14 +10:00
David Reid e9e18f40df DirectSound: Remove dependency on dsound.h 2018-03-11 15:58:43 +10:00
David Reid 8d95a22b0e Fix compilation error on the Windows build. 2018-03-11 12:00:43 +10:00
David Reid dd920bb7f5 Remove backend-specific result codes. 2018-03-11 11:27:39 +10:00
David Reid 4c2e0101b7 Change the default channel mapping to the standard Microsoft mapping. 2018-03-11 10:55:31 +10:00
David Reid 164dbd5b76 Make the mono channel position it's own entity.
MAL_CHANNEL_MONO was previously an alias of MAL_CHANNEL_FRONT_CENTER.
2018-03-11 10:44:46 +10:00
David Reid 35fe3ae5cf Introduce the notion of standard channel maps. 2018-03-11 10:26:51 +10:00
David Reid 1d310ff0ea Clean up. 2018-03-11 07:58:51 +10:00
David Reid b2b20ee149 Fix a few bugs found through static analysis. 2018-03-11 07:50:05 +10:00
David Reid afb0029da0 Update the advanced config example. 2018-03-11 07:21:07 +10:00
David Reid f455c4b05c PulseAudio: Don't try auto-starting the daemon by default.
This reason for this change is that it does not suit the trial and
error architecture of mini_al's backend initialization.

mal_context.pulse.tryAutoSpawn can be used to enable auto-starting.
2018-03-11 07:09:52 +10:00
David Reid 4d6a0ecbc7 Update documentation and clean up a few things with OpenSL. 2018-03-11 06:59:31 +10:00
David Reid a1e8830d96 Add more information about the decoding API to the readme. 2018-03-11 06:21:10 +10:00
David Reid adeda6ea95 Add mal_decoder_init_file_wav/flac/vorbis/mp3().
This commit also fixes a bad bug where initialization will always fail
when initializing from memory.
2018-03-11 06:20:47 +10:00
David Reid 03ccc5b8b7 Lower the priority of JACK to below OSS.
The reason for this change is to ensure OSS is chosen over JACK by
default on BSD platforms.
2018-03-10 22:26:00 +10:00
David Reid f91d922253 Clean up. 2018-03-10 22:21:16 +10:00
David Reid 34a2294f12 Add support for configuring the priority of the worker thread. 2018-03-10 22:10:32 +10:00
David Reid 93fe66b7e3 Give PulseAudio priority over ALSA by default. 2018-03-10 20:12:17 +10:00
David Reid 5b41483af0 ALSA: Minor tweaks to the open mode used with snd_pcm_open(). 2018-03-10 19:18:58 +10:00
David Reid 9d85ea6dd2 PulseAudio: Properly handle default format/channels/rate. 2018-03-10 18:03:11 +10:00
David Reid 9af027d488 Fix non-Windows builds. 2018-03-10 16:02:46 +10:00
David Reid ad130c35d4 WinMM: Simplify format selection. 2018-03-10 15:01:27 +10:00
David Reid fa8b090481 DirectSound: Improve the way APIs are loaded.
APIs are now per-context rather then per-device. This is leftover from
the no-context-API days.
2018-03-10 14:41:27 +10:00
David Reid f4daf07770 DirectSound: Properly handle default format/channels/rate. 2018-03-10 14:22:46 +10:00
David Reid eeb1024adf WASAPI: Store the name of the device during initialization. 2018-03-09 21:39:38 +10:00