Commit graph

80 commits

Author SHA1 Message Date
Ruslan Prokopchuk ae7fc0177b fix microphone example fill with zeros case
Usually when microphone example is run you never hit buffer underflow and "fill with zeros" branch is never executed. But when it's executed it fails with "invalid value" because of checks performed on frame_count. This platform-independent check 8094dc5249/src/soundio.c (L447) sometimes passed because unitialized local frame_count have arbitrary value, but this CoreAudio one 8094dc5249/src/coreaudio.c (L1078) is not passed, and "fill with zeros" scenario always fails on MacOS.
2017-03-27 10:39:38 +03:00
Andrew Kelley 8094dc5249 update sio_record usage text
closes #135
2016-12-23 18:14:58 -05:00
Andrew Kelley 6703021eba sio_sine: add phase wrap around
closes #110

Thanks to @iskunk for the fix.
2016-10-23 16:12:56 -04:00
Andrew Kelley 1b332a44a0 sio_sine example: check memory allocation 2016-06-29 16:11:37 -07:00
Andrew Kelley 67746c42ec sio_sine example: unref device properly
closes #82
2016-06-13 16:48:22 -07:00
Andrew Kelley aef8d1646d sio_list_devices example: fix cli argument typo 2016-01-05 15:18:11 -07:00
Andrew Kelley 72fde44073 PulseAudio: fix incorrect outstream software_latency
Previously, when using PulseAudio, unintended integer division
caused SoundIoOutStream::software_latency to be incorrect.
2015-11-20 23:51:16 -07:00
Andrew Kelley d168a7d192 ALSA: better device detection
* Don't suppress sysdefault.
 * If default and sysdefault are missing, use the first device as
   the default device.
 * In sio_record example, don't segfault when device not found or
   probe error.
 * Workaround for Raspberry Pi driver that incorrectly reports
   itself as Output when it is actually Input.

See #44.
2015-11-10 04:23:27 -07:00
James Dyson 4cf76cb228 Fixed error message from no input found 2015-11-05 18:23:27 +11:00
Andrew Kelley a37b8cf847 update tests to catch pausing during write_callback 2015-10-28 15:42:52 -07:00
Andrew Kelley b202f6746b underflow test: add --device and --raw params 2015-10-13 00:20:56 -07:00
Andrew Kelley 8bba0de3c1 add --latency and --sample-rate to sine example 2015-09-28 18:12:17 -07:00
Andrew Kelley 0047eb2776 sio_microphone: make latency a command line arg
See #22
2015-09-08 10:37:16 -07:00
Andrew Kelley 8406dcd0ad sio_record: explain about shutting down
closes #12
2015-09-05 11:30:18 -07:00
Andrew Kelley 9d3c08fa3f sio_record: no fwrite in read_callback
See #12
2015-09-04 18:01:57 -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 20fe4ac8d0 sine example: display connected backend 2015-09-01 17:16:48 -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 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 ff73c08667 add sio_record example 2015-08-27 23:32:22 -07:00
Andrew Kelley 7a714298c1 add soundio_force_device_scan API 2015-08-27 21:45:22 -07:00
Andrew Kelley 195ea59209 ALSA: fix playback on raw device 2015-08-26 12:31:09 -07:00
Andrew Kelley 8c9c4f85c2 sine example: remove panics 2015-08-25 00:08:20 -07:00
Andrew Kelley d1f27fad83 WASAPI: use stream name for session display name 2015-08-24 19:52:43 -07:00
Andrew Kelley 1bb10e6a13 microphone example: more cli parameters 2015-08-24 18:10:09 -07:00
Andrew Kelley b3dfcb4526 WASAPI: microphone example works 2015-08-24 17:42:57 -07:00
Andrew Kelley 90fa377c99 WASAPI: sine wave example works with raw device 2015-08-21 17:11:46 -07:00
Andrew Kelley a05e0e283e WASAPI: fix device cleanup segfault 2015-08-21 13:08:11 -07:00
Andrew Kelley 2eb8ce24cf sine example: add parameter to specify device 2015-08-20 17:38:01 -07:00
Andrew Kelley 2514e19195 build: fix sine example compiling with MSVC 2015-08-20 00:44:56 -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 7238d29666 sample rate is exposed as a list of min/max pairs 2015-08-08 14:44:31 -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 f77663399f CoreAudio: obtain most device information 2015-08-01 22:10:43 -07:00
Andrew Kelley 860370d859 rename examples, install them, and correct #include path 2015-07-30 14:16:22 -07:00
Andrew Kelley 4ba1fd91a1 rename device name and description to id and name 2015-07-30 10:26:36 -07:00
Andrew Kelley 5503072fc8 ALSA: recover from underflow gracefully 2015-07-29 22:39:27 -07:00
Andrew Kelley 2900616e9b flesh out buffer semantics 2015-07-29 21:50:12 -07:00
Andrew Kelley 44569708a0 Delete the concept of prebuffering 2015-07-29 20:55:28 -07:00
Andrew Kelley 0dee34a84e PulseAudio: fix microphone example 2015-07-29 13:02:17 -07:00
Andrew Kelley 31678c7777 examples: add --jack param 2015-07-29 01:13:57 -07:00
Andrew Kelley 754343bba6 microphone example works with JACK 2015-07-28 18:47:28 -07:00
Andrew Kelley 6df84096f3 sine example works with JACK 2015-07-28 11:28:07 -07:00
Andrew Kelley 3dd9e513bc add JACK backend skeleton 2015-07-24 18:43:14 -07:00
Andrew Kelley ab8a2c2ffe microphone example: recover from underflow 2015-07-24 13:33:41 -07:00
Andrew Kelley 3d3f9f91a2 microphone example: no more glitches 2015-07-24 13:26:46 -07:00
Andrew Kelley efa7b7cbc0 ALSA input stream: add missing clean up 2015-07-23 21:07:51 -07:00
Andrew Kelley 34039b4858 microphone example working with ALSA 2015-07-23 20:55:36 -07:00