Commit graph

73 commits

Author SHA1 Message Date
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
Andrew Kelley 511fcafc3b dummy: implement prebuffering 2015-07-23 16:49:44 -07:00
Andrew Kelley 69764e1afa microphone example working with dummy backend 2015-07-23 15:04:41 -07:00
Andrew Kelley e7dc300cc6 microphone example working with PulseAudio 2015-07-22 15:43:45 -07:00
Andrew Kelley db06391646 ALSA: support non mmap device access 2015-07-22 00:04:17 -07:00
Andrew Kelley 1eeeff5a24 PulseAudio works again 2015-07-20 22:55:30 -07:00
Andrew Kelley 96c8332246 dummy backend: fix playback 2015-07-20 00:35:46 -07:00
Andrew Kelley 24f466a0a0 list_devices takes arguments to override backend 2015-07-20 00:00:43 -07:00