Commit Graph

2024 Commits

Author SHA1 Message Date
David Reid 91fbc1b0da Fix a few typos. 2016-10-18 06:31:01 +10:00
David Reid 183fdd0d16 Fix platform detection for non-MSVC compilers. 2016-10-18 06:23:22 +10:00
David Reid f630a0153c Fix C++ build for MSVC and DirectSound. 2016-10-18 06:17:56 +10:00
David Reid 3c4e46bcb9 DirectSound: Add support for mal_format_s24. 2016-10-18 06:15:13 +10:00
David Reid 98046e0a4f ALSA: Address an issue where it was possible for some samples to get dropped when a capture device is closed. 2016-10-17 19:23:08 +10:00
David Reid cc98c7efff Have mal_device_init() take a callback for log message. 2016-10-17 17:42:31 +10:00
David Reid 2cb9a8c632 Experimental work on MMAP mode for ALSA. 2016-10-16 20:45:43 +10:00
David Reid fd85d5ac53 Improve the DirectSound backend by not using notifications exclusively to manage data retrieval and submission. 2016-10-16 13:56:23 +10:00
David Reid af5e5d4846 Properly initialize-to-zero device info for null and ALSA backends. 2016-10-16 11:04:26 +10:00
David Reid be2167709d Minor consistency fix. 2016-10-16 10:48:23 +10:00
David Reid be95c67dc6 Clean up #includes. 2016-10-16 10:36:10 +10:00
David Reid 44a6be1e7d Remove an unnecessary #include. 2016-10-16 10:23:55 +10:00
David Reid 907a8fc5dc Clean up old documentation. 2016-10-16 10:21:24 +10:00
David Reid 74ea3f8381 ALSA: Don't ask the client for more data when the device is closing. 2016-10-16 08:20:14 +10:00
David Reid 8c34bbbcb7 Clean up. 2016-10-16 08:13:04 +10:00
David Reid 6f11e64689 Clean up some old unused code. 2016-10-16 08:01:51 +10:00
David Reid 9d007e9f09 Use snd_pcm_hw/sw_params_alloca() instead of *malloc() 2016-10-16 07:53:22 +10:00
David Reid 0e927cf7da Fixes for GCC and ALSA
- Fix error with usleep() being undefined.
 - Add support for 64-bit floating point formats for ALSA.
2016-10-16 07:47:24 +10:00
David Reid 5e9657aa60 Add basic logging and improve error reporting. 2016-10-16 07:23:57 +10:00
David Reid 1301af97ee Clean up. 2016-10-15 23:03:25 +10:00
David Reid 58989ea134 Update documentation. 2016-10-15 22:42:46 +10:00
David Reid a752a49cdb Fix an issue with the DirectSound backend where there'd be some leftover samples that are not sent to the application when a capture device is stopped. 2016-10-15 21:24:37 +10:00
David Reid aab6cde982 Lots of work on improving synchronization and thread-safety:
- Use binary semaphores as the synchronization primitive for the worker thread
  - Generalize the worker thread so as to avoid having different worker thread
    for each backend.
  - Make state changes atomic

General improvements bug fixing:
  - Fix an error where the DirectSound backend would immediately send the
    application a bunch of invalid audio data.
  - Have the ALSA backend request more audio data only immediately before it's
    ready to write it to the device.
  - General improvements on documentation.
  - Update readme.
2016-10-15 21:02:46 +10:00
David Reid d2920b1812 Initial commit. 2016-10-14 16:10:34 +10:00