Commit graph

60 commits

Author SHA1 Message Date
Ricardo Subtil 2bb21ad417 Small typo on docs
On line 242, ´SoundIoFormatU16BE´ is incorrectly documented as an *Unsigned 16 bit Little Endian*; looking at the naming and structure, this is likely an *Unsigned 16 bit Big Endian*.
2018-10-04 00:03:45 -04:00
Ryan Walklin fe16567e37 Add hardware volume control support to OS X and WASAPI backends 2017-09-11 11:18:23 +10:00
Andrew Kelley 9557eb7b60 docs: move ring buffer docs to work around doxygen limitation
closes #113
2016-10-23 16:38:57 -04:00
Joshua Olson bba007f0a7 Remove duplicate documented SoundIoError 2016-07-23 19:15:26 -06:00
Andrew Kelley 4eb5b4bbe4 build docs in little endian mode and add note
closes #81
2016-06-13 16:58:27 -07:00
Andrew Kelley 1fe64770bd docs: fix typo 2016-02-16 04:45:37 -07:00
Raphaël Londeix ce60176e99 Go back to statically initialized arrays 2016-01-06 09:27:22 +01:00
Raphaël Londeix aa3749a062 ChannelId and ChannelLayoutId enumeration have a max value 2015-12-07 11:28:06 +01:00
Raphaël Londeix 2e7994b0b3 Do not use exports attributes when build libsoundio as a static library 2015-12-07 11:28:06 +01:00
Andrew Kelley ce42b89da3 no longer ship config.h header
Instead provide these functions:

 * soundio_version_string
 * soundio_version_major
 * soundio_version_minor
 * soundio_version_patch
2015-11-23 13:51:25 -07:00
Andrew Kelley 180ed94e2f docs: fix typo 2015-11-20 23:35:02 -07:00
Andrew Kelley e9b67a4f9f docs: add note about soundio_outstream_start calling write_callback 2015-11-20 21:58:35 -07:00
Andrew Kelley 8e30053962 JACK: delete broken pause implementation
Previously, calling soundio_outstream_pause or soundio_instream_pause
during the write_callback or read_callback would cause a deadlock. Now,
attempting to pause always results in SoundIoErrorBackendIncompatible.

Closes #39
2015-10-28 16:01:08 -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 a9e455aec8 docs: cleanup 2015-09-18 21:20:53 -07:00
Andrew Kelley 65e1d8bdd1 docs: fix typo 2015-09-18 21:17:16 -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 23104161a8 docs: fix incorrect docs for soundio_instream_pause 2015-09-14 04:02:58 -07:00
Andrew Kelley 2a68f63079 ALSA: pause gives error when state is invalid 2015-09-11 20:33:40 -07:00
Andrew Kelley b5056f142e docs: read_callback and write_callback must be real time safe 2015-09-04 11:33:59 -07:00
Andrew Kelley 066553b07e README touchup 2015-09-03 10:54:50 -07:00
Andrew Kelley e444b8823b JACK: pass the latency test
See #2
2015-09-02 15:23:41 -07:00
Andrew Kelley 59fca8cb75 latency test emits periodic pulses
See #2
2015-09-02 12:22:06 -07:00
Andrew Kelley debab8e70f get latency skeleton
See #2
2015-09-02 12:22:03 -07:00
Andrew Kelley 1d2cf2ed59 docs: on_backend_disconnect clarification 2015-09-01 18:40:03 -07:00
Andrew Kelley 2f618487ba docs: fix incorrect docs 2015-09-01 18:36:55 -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 fe4a04d93c ALSA: better pause/unpause behavior 2015-09-01 14:43:50 -07:00
Andrew Kelley 0f508fcf19 doc cleanup 2015-08-27 23:37:29 -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 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 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 1a52d9956d more docs 2015-08-26 11:23:20 -07:00
Andrew Kelley 64b5564ae1 use doxygen to generate documentation 2015-08-26 02:40:04 -07:00
Andrew Kelley 2c9055d0d3 WASAPI: call COM functions in dedicated thread for outstream 2015-08-24 23:33:27 -07:00
Andrew Kelley d1f27fad83 WASAPI: use stream name for session display name 2015-08-24 19:52:43 -07:00
Andrew Kelley b3dfcb4526 WASAPI: microphone example works 2015-08-24 17:42:57 -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 e82c3e89da WASAPI: get period duration for raw devices 2015-08-13 10:18:46 -07:00
Andrew Kelley ba65bdb131 WASAPI: shared mode devices support any sample rate 2015-08-12 18:57:34 -07:00
Andrew Kelley 75185d17d7 WASAPI: get the list of supported formats from devices 2015-08-12 17:11:03 -07:00
Andrew Kelley 97abe08f0e WASAPI: get the number of available audio devices 2015-08-10 15:22:08 -07:00
Andrew Kelley 21bf405859 WASAPI skeleton 2015-08-08 15:22:50 -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