Commit Graph

  • c1f35b583e Minor changes to OpenSL|ES backend. David Reid 2016-10-25 10:43:23 +10:00
  • d3f17c223b OpenSL|ES: Add untested work for capture support. David Reid 2016-10-25 10:09:10 +10:00
  • f540e10fd7 Fix typos. David Reid 2016-10-25 10:03:18 +10:00
  • b7b1cd6b72 OpenSL|ES: Use ANDROIDSIMPLEBUFFERQUEUE instead of BUFFERQUEUE. David Reid 2016-10-25 10:02:08 +10:00
  • 1b20f53291 Add some very basic support for playback with OpenSL|ES/Android. David Reid 2016-10-23 10:41:38 +10:00
  • 11f4e21b3a Fix a comment. David Reid 2016-10-22 11:29:58 +10:00
  • dd26ad9d45 Fix the Android build and fix a few typos. David Reid 2016-10-22 08:30:26 +10:00
  • 7fb3a30412 Clean up some whitespace. David Reid 2016-10-21 18:07:07 +10:00
  • 6881209021 Put the declaration of mal_device_set_stop_callback() in a sensible location. David Reid 2016-10-21 13:46:20 +10:00
  • ce99f62f63 Convert tabs to spaces and remove trailing spaces. David Reid 2016-10-21 13:35:21 +10:00
  • b5831564da Use C syntax highlighting for example. David Reid 2016-10-21 13:25:58 +10:00
  • f2d0fac903 Add gitignore. David Reid 2016-10-21 13:25:17 +10:00
  • 3a1072e30f Update example in readme. David Reid 2016-10-21 13:24:33 +10:00
  • 596a3ef966 Add onStop callback which is called when a device is stopped either explicitly or internally as a result of an error. David Reid 2016-10-21 12:54:14 +10:00
  • 26ccabc834 Add examples. David Reid 2016-10-21 12:53:38 +10:00
  • bfc4d3ffc5 DirectSound: Add back notifications to better handle waking up the worker thread based on periods. David Reid 2016-10-21 10:59:25 +10:00
  • 46aaa53f2c Update documentation and add support for default buffer sizes and periods. David Reid 2016-10-21 10:33:13 +10:00
  • 5cbbf0b988 Have the onSend and onRecv callbacks work on frames rather than samples. David Reid 2016-10-21 08:34:14 +10:00
  • 6ec93e902e DirectSound: Improve rewind latency. David Reid 2016-10-21 08:19:18 +10:00
  • d984e39e1b Improve the main loop for DirectSound by making better use of periods. David Reid 2016-10-21 08:08:30 +10:00
  • 3180cadb4a Fix ALSA build. David Reid 2016-10-20 21:47:30 +10:00
  • bf093f22db Remove unnecessary notifications from the DirectSound backend. David Reid 2016-10-20 21:40:08 +10:00
  • 05c85e5bd2 Fix some thread-safety issues with callbacks. David Reid 2016-10-20 21:22:11 +10:00
  • 6ed399d57b Remove the notion of fragments and use a simplified buffer size and periods concept instead. David Reid 2016-10-20 21:16:49 +10:00
  • 08db9fbda8 Rename mal_device__read_samples_from_client() to mal_device__read_frames_from_client() and mal_device__send_samples_to_client() to mal_device__send_frames_to_client(). David Reid 2016-10-20 13:18:20 +10:00
  • 7039d4c9bf Add support for rewinding to the DirectSound backend. David Reid 2016-10-20 12:58:55 +10:00
  • 59feeafc03 Add some infrastructure for better thread-safety. David Reid 2016-10-19 21:42:43 +10:00
  • 9698068d3e ALSA: Have the id of enumerated devices be returned in "hw:%d,%d" format. David Reid 2016-10-19 21:14:20 +10:00
  • 916328c550 ALSA: Add a fallback for when snd_pcm_open() fails for "default" and "pulse" devices. David Reid 2016-10-19 19:27:17 +10:00
  • 1617261be1 ALSA: Fix a bug with timers for non-Windows platforms. David Reid 2016-10-19 19:00:33 +10:00
  • f9130d74c1 ALSA: Make device initialization a bit more robust. David Reid 2016-10-19 18:16:19 +10:00
  • e2c93382f8 ALSA: Remove some old device iteration code. David Reid 2016-10-19 17:45:45 +10:00
  • a18a38f74e Add initial implementation of the null device. David Reid 2016-10-19 16:29:20 +10:00
  • 56b9101cfd Add placeholder APIs for rewinding: - mal_device_get_available_rewind_amount() - mal_device_rewind() David Reid 2016-10-19 12:00:32 +10:00
  • f7a825d9de Fix build for the DirectSound backend. David Reid 2016-10-18 12:35:26 +10:00
  • bf67d5a3f0 ALSA: Experiment with a more user-friendly device enumeration. David Reid 2016-10-18 11:11:03 +10:00
  • 4094293cdf ALSA: Add support for mal_format_s24. David Reid 2016-10-18 06:55:32 +10:00
  • 6cf9ee7cb2 Fix C++ build for GCC/ALSA. David Reid 2016-10-18 06:47:28 +10:00
  • 91fbc1b0da Fix a few typos. David Reid 2016-10-18 06:31:01 +10:00
  • 183fdd0d16 Fix platform detection for non-MSVC compilers. David Reid 2016-10-18 06:21:49 +10:00
  • f630a0153c Fix C++ build for MSVC and DirectSound. David Reid 2016-10-18 06:17:56 +10:00
  • 3c4e46bcb9 DirectSound: Add support for mal_format_s24. David Reid 2016-10-18 06:15:13 +10:00
  • 98046e0a4f ALSA: Address an issue where it was possible for some samples to get dropped when a capture device is closed. David Reid 2016-10-17 19:23:08 +10:00
  • cc98c7efff Have mal_device_init() take a callback for log message. David Reid 2016-10-17 17:42:31 +10:00
  • 2cb9a8c632 Experimental work on MMAP mode for ALSA. David Reid 2016-10-16 20:45:43 +10:00
  • fd85d5ac53 Improve the DirectSound backend by not using notifications exclusively to manage data retrieval and submission. David Reid 2016-10-16 13:56:23 +10:00
  • af5e5d4846 Properly initialize-to-zero device info for null and ALSA backends. David Reid 2016-10-16 11:04:26 +10:00
  • be2167709d Minor consistency fix. David Reid 2016-10-16 10:48:23 +10:00
  • be95c67dc6 Clean up #includes. David Reid 2016-10-16 10:34:42 +10:00
  • 44a6be1e7d Remove an unnecessary #include. David Reid 2016-10-16 10:23:55 +10:00
  • 907a8fc5dc Clean up old documentation. David Reid 2016-10-16 10:21:24 +10:00
  • 74ea3f8381 ALSA: Don't ask the client for more data when the device is closing. David Reid 2016-10-16 08:20:14 +10:00
  • 8c34bbbcb7 Clean up. David Reid 2016-10-16 08:13:04 +10:00
  • 6f11e64689 Clean up some old unused code. David Reid 2016-10-16 08:01:51 +10:00
  • 9d007e9f09 Use snd_pcm_hw/sw_params_alloca() instead of *malloc() David Reid 2016-10-16 07:53:22 +10:00
  • 0e927cf7da Fixes for GCC and ALSA David Reid 2016-10-16 07:42:53 +10:00
  • 5e9657aa60 Add basic logging and improve error reporting. David Reid 2016-10-16 07:15:32 +10:00
  • 1301af97ee Clean up. David Reid 2016-10-15 23:01:30 +10:00
  • 58989ea134 Update documentation. David Reid 2016-10-15 22:42:46 +10:00
  • 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. David Reid 2016-10-15 21:24:37 +10:00
  • 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 David Reid 2016-10-15 21:02:46 +10:00
  • d2920b1812 Initial commit. David Reid 2016-10-14 16:10:34 +10:00