Commit graph

197 commits

Author SHA1 Message Date
Andrew Kelley 2f14aa569e ALSA: use period size to calculate buffer size
determining the buffer size before the period size sometimes results
in EINVAL.

closes #33
2015-10-13 00:47:18 -07:00
Andrew Kelley db0e3d136c fix double clean up corruption when opening stream fails
affects ALSA, CoreAudio, JACK, WASAPI, and Dummy.
2015-10-08 17:10:21 -07:00
Andrew Kelley 277bb3106b dummy: fix deadlock when pause called from write_callback 2015-10-06 19:36:57 -07:00
Andrew Kelley a3c4f85489 ALSA: fix deadlock under some circumstances
If the write_callback came upon an error during the prepare
phase, and never wrote any frames to the hardware buffer,
and another thread tried to soundio_outstream_destroy, this
would cause a deadlock.

This is now fixed.
2015-10-06 18:50:56 -07:00
Andrew Kelley 0a0715eb72 architecture independent header files
Do endian detection in the header file instead of cmake.
2015-09-24 09:26:17 -07:00
Andrew Kelley be6e654098 fix and add test for soundio_device_nearest_sample_rate 2015-09-18 22:08:36 -07:00
Andrew Kelley 71e31b88fe os: fix crash when creating non high priority thread fails 2015-09-17 15:04:34 -07:00
Andrew Kelley dbed33abd2 os: remove superfluous condition on init
remove superfluous #include math.h
2015-09-17 13:55:47 -07:00
Andrew Kelley f52080a1fd fix mirrored memory not working on linux
add mirrored memory unit test
2015-09-14 14:56:13 -07:00
Andrew Kelley 7e95d9f9c0 PulseAudio: fix soundio_outstream_pause triggering assertion
when called from within write_callback. closes #24
2015-09-14 04:15:02 -07:00
Andrew Kelley 2a68f63079 ALSA: pause gives error when state is invalid 2015-09-11 20:33:40 -07:00
Andrew Kelley 4a0b3579d4 soundio_disconnect: allow NULL parameter 2015-09-11 19:10:09 -07:00
Andrew Kelley 0887b1ee3d soundio_disconnect: null out more function pointers 2015-09-11 18:25:06 -07:00
Andrew Kelley c3e3af2061 dummy backend: fix sometimes calling write_callback with 0 avail 2015-09-11 10:24:30 -07:00
Andrew Kelley c62c2e4661 macos: avoid allocation when getting time 2015-09-11 10:20:46 -07:00
Andrew Kelley b6c0c84294 macos: fix not cleaning up condition variables 2015-09-10 17:14:16 -07:00
Andrew Kelley f0356597e2 ALSA: remove stray print statement 2015-09-08 15:05:44 -07:00
Andrew Kelley 369ea0f608 os: fix some variables not static 2015-09-08 10:03:23 -07:00
Andrew Kelley 749654b922 PulseAudio: better clear buffer implementation
seek instead of pa_stream_flush
2015-09-07 16:58:46 -07:00
Andrew Kelley e2e483a4d5 no longer depend on or link against libm 2015-09-05 14:56:36 -07:00
Andrew Kelley f8cb816139 ALSA: remove duplicate assert
Thanks to Devin Anderson for pointing it out.
2015-09-04 11:11:14 -07:00
Andrew Kelley 9cc6495306 JACK: fix infinite loop when refreshing devices
closes #9
2015-09-03 20:20:59 -07:00
Andrew Kelley 918183adc6 ALSA: be ready for /dev/snd to not be available
If this occurs, the system has no ALSA support in the kernel,
and it is appropriate for the backend to fail.

closes #6
2015-09-03 15:40:36 -07:00
Andrew Kelley 85c2190675 build: fix build on linux with clang
closes #8
2015-09-03 14:05:19 -07:00
Andrew Kelley b55a225b9c CoreAudio: pass the latency test
See #2
2015-09-03 10:47:38 -07:00
Andrew Kelley f422fcddf3 WASAPI: pass the latency test
See #2
2015-09-03 10:26:55 -07:00
Andrew Kelley 1381cf21d3 ALSA: pass the latency test
See #2
2015-09-03 09:52:21 -07:00
Andrew Kelley d8a7a794d3 PulseAudio: fix microphone regression
introduced by adb3cd88ee
2015-09-03 09:35:37 -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 debab8e70f get latency skeleton
See #2
2015-09-02 12:22:03 -07:00
Andrew Kelley 06dc7704a3 ALSA: fix sometimes calling write_callback with 0 frame_count_max 2015-09-02 10:24:04 -07:00
Andrew Kelley 760aee2e54 JACK: better pause/resume behavior
See #3
2015-09-01 17:14:56 -07:00
Andrew Kelley 7b2a10f7e5 WASAPI: simplify and fix device thread logic
closes #5
2015-09-01 17:00:13 -07:00
Andrew Kelley c14d61fa32 WASAPI: better pause/unpause and clear buffer behavior
See #3
2015-09-01 16:31:56 -07:00
Andrew Kelley c88e79cb7b dummy: better clear buffer behavior
See #3
2015-09-01 15:39:03 -07:00
Andrew Kelley cd72f45f06 ALSA: fix clear buffer behavior 2015-09-01 15:06:33 -07:00
Andrew Kelley fe4a04d93c ALSA: better pause/unpause behavior 2015-09-01 14:43:50 -07:00
Andrew Kelley dd6b7003d9 ALSA: better handling of raw devices
* Recover from xruns
 * Better period size choice
2015-08-27 22:58:17 -07:00
Andrew Kelley 7a714298c1 add soundio_force_device_scan API 2015-08-27 21:45:22 -07:00
Andrew Kelley 2d8f8e7f31 ALSA: look for the control file rather than pcm files 2015-08-27 21:22:30 -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 6032b83180 JACK: fix return type of rename callback 2015-08-26 19:05:07 -07:00
Andrew Kelley b8a2adb4ec PulseAudio: detect server going offline 2015-08-26 17:10:52 -07:00
Andrew Kelley 8d3a32e668 PulseAudio: fix scan devices out of memory race condition 2015-08-26 15:54:03 -07:00
Andrew Kelley a0562af122 document possible errors 2015-08-26 15:17:51 -07:00
Andrew Kelley c96405a091 rt prio warning behavior is overridable 2015-08-26 12:54:13 -07:00
Andrew Kelley 195ea59209 ALSA: fix playback on raw device 2015-08-26 12:31:09 -07:00
Andrew Kelley 1a52d9956d more docs 2015-08-26 11:23:20 -07:00