Commit graph

35 commits

Author SHA1 Message Date
Andrew Kelley c62c2e4661 macos: avoid allocation when getting time 2015-09-11 10:20:46 -07:00
Andrew Kelley e444b8823b JACK: pass the latency test
See #2
2015-09-02 15:23:41 -07:00
Andrew Kelley adb3cd88ee PulseAudio: pass the latency test
See #2
2015-09-02 14:46:36 -07:00
Andrew Kelley e5cd076e2e dummy: pass the latency test
See #2
2015-09-02 13:31:50 -07:00
Andrew Kelley 59fca8cb75 latency test emits periodic pulses
See #2
2015-09-02 12:22:06 -07:00
Andrew Kelley 5ce24c5382 WASAPI: not expected to pass overflow test 2015-08-27 21:03:42 -07:00
Andrew Kelley 0deb6242b4 CoreAudio: not expected to pass overflow test 2015-08-27 21:02:11 -07:00
Andrew Kelley 16437bd357 various code adjustments
* doc clarifications
 * examples compile with c99 not c11
 * fix pulseaudio on_backend_disconnected not firing only during
   flush events
 * make wait events more efficient
 * fix alsa devices race condition
 * fix backend disconnected code handling
 * add overflow test
 * fix on_events_signal not called at correct times
 * refactor pulseaudio device scanning
 * fix SoundIoErrorNoSuchDevice string value
2015-08-27 20:57:53 -07:00
Andrew Kelley d6e41672f7 add test for recovering from backend disconnecting 2015-08-26 17:45:59 -07:00
Andrew Kelley c96405a091 rt prio warning behavior is overridable 2015-08-26 12:54:13 -07:00
Andrew Kelley 90fa377c99 WASAPI: sine wave example works with raw device 2015-08-21 17:11:46 -07:00
Andrew Kelley 3b49292897 use hidden visibility by default and explicitly export
Also don't expose os functions.
And do the dllexport/dllimport thing.
2015-08-20 14:48:19 -07:00
Andrew Kelley fbc7318268 remove the concept of period duration from the API
also more progress on WASAPI
2015-08-13 22:54:15 -07:00
Andrew Kelley c381526205 callbacks supply min and max frame count parameters
This changes the semantics of the callbacks so that instead of
a single `requested_frame_count` or `available_frame_count`,
the callbacks get a minimum frame count and maximum frame count.

The callback must write at least the minimum or get an underflow.
The minimum will be 0 on ALSA, PulseAudio, and Dummy, and will
equal the maximum on CoreAudio and JACK.

This ensures optimal behavior regardless of buffer size.
2015-08-04 21:57:46 -07:00
Andrew Kelley f87961275d write and read functions no longer allow setting frame count
CoreAudio and JACK both have this limitation
2015-08-04 00:56:03 -07:00
Andrew Kelley c52e76928f fix build on linux 2015-08-01 22:40:55 -07:00
Andrew Kelley 860370d859 rename examples, install them, and correct #include path 2015-07-30 14:16:22 -07:00
Andrew Kelley 2a70bdb745 add a test for underflow handling and expose os API 2015-07-30 12:07:58 -07:00
Andrew Kelley 34039b4858 microphone example working with ALSA 2015-07-23 20:55:36 -07:00
Andrew Kelley eca4bc6074 ALSA: poll instead of async handler 2015-07-21 21:21:00 -07:00
Andrew Kelley 7045cb3988 ALSA sine example is making noise 2015-07-15 20:57:00 -07:00
Andrew Kelley 1e4d87e608 ALSA: open output device with parameters 2015-07-13 21:30:37 -07:00
Andrew Kelley 5b3fd175f8 stream API update; expose multiple channel layouts 2015-07-13 09:17:20 -07:00
Andrew Kelley 6c2226a6d7 list_devices example: more detailed output 2015-07-10 03:00:29 -07:00
Andrew Kelley 7d45b15036 rename SoundIoOutputDevice to SoundIoOutStream
and SoundIoInputDevice to SoundIoInStream
2015-07-10 02:42:29 -07:00
Andrew Kelley 3b8d896c8e ALSA backend determines what formats a device supports 2015-07-10 02:21:47 -07:00
Andrew Kelley 8887a528ef sample formats: take into account ALSA 2015-07-10 00:46:03 -07:00
Andrew Kelley c760bc4df7 default sample rate is not as important as I thought 2015-07-08 00:42:17 -07:00
Andrew Kelley fe61322b23 beginning of ALSA support - list_devices works 2015-07-07 02:55:32 -07:00
Andrew Kelley 5048d7aa57 ring buffer works on windows 2015-07-06 16:02:20 -07:00
Andrew Kelley a69ff6025c add and export a ring buffer implementation 2015-07-06 01:05:22 -07:00
Andrew Kelley a35a2b7e0a add a couple unit tests, fix a couple bugs 2015-07-04 02:57:06 -07:00
Andrew Kelley 6a5db549f5 list_devices example works with dummy backend 2015-07-01 02:37:51 -07:00
Andrew Kelley c40ef12ec6 compile success 2015-06-30 14:13:02 -07:00
Andrew Kelley c2fa8b4b4d skeleton 2015-06-30 14:04:45 -07:00