In this function call ::soundio_instream_begin_read and
::soundio_instream_end_read as many times as necessary to read at
minimum frame_count_min frames and at maximum frame_count_max
frames. If you return from read_callback without having read
frame_count_min, the frames will be dropped. frame_count_max is how
many frames are available to read.
The code in the supplied function must be suitable for real-time
execution. That means that it cannot call functions that might block
for a long time. This includes all I/O functions (disk, TTY, network),
malloc, free, printf, pthread_mutex_lock, sleep, wait, poll, select,
pthread_join, pthread_cond_wait, etc.
In this function call ::soundio_instream_begin_read and ::soundio_instream_end_read as many times as necessary to read at minimum frame_count_min frames and at maximum frame_count_max frames. If you return from read_callback without having read frame_count_min, the frames will be dropped. frame_count_max is how many frames are available to read.
The code in the supplied function must be suitable for real-time execution. That means that it cannot call functions that might block for a long time. This includes all I/O functions (disk, TTY, network), malloc, free, printf, pthread_mutex_lock, sleep, wait, poll, select, pthread_join, pthread_cond_wait, etc.