Carlo Florendo wrote:
Clemens Ladisch wrote:
However,
I wish to be able to make the sequencer or player work without the
use of the ALSA queue nor the workaround in (2).
Why?
Because the queue output and draining, AFAICS, is implemented in a blocking
manner.
When non-blocking mode is set (see snd_seq_nonblock()),
snd_seq_drain_output() does not block but writes only as many events to
the kernel buffer as fit inside (or returns -EAGAIN if the kernel buffer
is completely full).
Regards,
Clemens