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
29a914ceba
no constructors or destructors
2015-08-04 11:03:19 -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
f77663399f
CoreAudio: obtain most device information
2015-08-01 22:10:43 -07:00
Andrew Kelley
e6112b40ed
rename purpose to aim
2015-07-30 10:39:10 -07:00
Andrew Kelley
4ba1fd91a1
rename device name and description to id and name
2015-07-30 10:26:36 -07:00
Andrew Kelley
12db5fd970
remove all calls to soundio_panic
...
Return codes are the way errors are communicated, not
crashing the entire program.
2015-07-30 00:46:13 -07:00
Andrew Kelley
5503072fc8
ALSA: recover from underflow gracefully
2015-07-29 22:39:27 -07:00
Andrew Kelley
44569708a0
Delete the concept of prebuffering
2015-07-29 20:55:28 -07:00
Andrew Kelley
a5e1c0024d
ALSA: detect 'default' (no colon) as default device
2015-07-29 01:15:01 -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
70decb39f5
SoundIoOutStream, SoundIoInStream: void * -> union
...
For better cache locality and lower mlock requirements.
2015-07-27 17:06:12 -07:00
Andrew Kelley
db1195877a
SoundIo, SoundIoDevice: unions instead of void *
...
for better cache locality
2015-07-27 16:37:45 -07:00
Andrew Kelley
3dd9e513bc
add JACK backend skeleton
2015-07-24 18:43:14 -07:00
Andrew Kelley
5906bc93d9
ALSA implement clear buffer
2015-07-24 14:03:49 -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
a3388e792a
default device index is -1 if no devices available
2015-07-22 12:07:20 -07:00
Andrew Kelley
db06391646
ALSA: support non mmap device access
2015-07-22 00:04:17 -07:00
Andrew Kelley
eca4bc6074
ALSA: poll instead of async handler
2015-07-21 21:21:00 -07:00
Andrew Kelley
1eeeff5a24
PulseAudio works again
2015-07-20 22:55:30 -07:00
Andrew Kelley
de5bb99d1f
ALSA: support mmap complex placement
2015-07-20 17:35:35 -07:00
Andrew Kelley
a37825d01a
add some documentation
2015-07-18 00:22:36 -07:00
Andrew Kelley
0bc918e2c8
better list_devices behavior
2015-07-16 23:37:17 -07:00
Andrew Kelley
3999f57698
ability to pause and resume streams
...
and some cleanup
2015-07-16 13:37:41 -07:00
Andrew Kelley
454fab0ffb
period_duration instead of period_count
2015-07-15 23:45:21 -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
f0c8c68592
detect endianness with cmake
2015-07-10 03:31:51 -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
fe2040da7c
ALSA backend determines channel layout of devices
2015-07-09 23:35:58 -07:00
Andrew Kelley
c39c1ab9f4
ALSA: expose pcm devices and introduce is_raw
2015-07-07 23:29:09 -07:00
Andrew Kelley
fe61322b23
beginning of ALSA support - list_devices works
2015-07-07 02:55:32 -07:00