Clemens Ladisch wrote: > 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). Bingo! My recent tests show that snd_seq_nonblock() is indeed a useful function and enables me to have control of the sequencer every time it outputs an event :) Gee, I've read the ALSA lib doc for months and never came across this function. Up to now, I've not seen the part of the doc that describes snd_seq_nonblock so I went straight to the source code of alsa-lib under src/seq/seq.c and grepped for snd_seq_block(). The alsa-lib docs have to be improved :) Thank you for the pointers! > > Regards, > Clemens > Best Regards, Carlo -- Carlo Florendo Softare Engineer/Network Co-Administrator Astra Philippines Inc. UP-Ayala Technopark, Diliman 1101, Quezon City Philippines http://www.astra.ph -- The Astra Group of Companies 5-3-11 Sekido, Tama City Tokyo 206-0011, Japan http://www.astra.co.jp _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel