At Thu, 16 Jan 2003 16:32:05 +0100 (CET),
Tim Goetze wrote:
> 
> Brian Victor wrote:
> 
> >On Thu, Jan 16, 2003 at 08:39:23AM +0100, Clemens Ladisch wrote:
> >>Brian Victor wrote:
> >>> Monitoring /proc/asound/seq/queues shows the events being queued, but as
> >>> soon as the queue starts, all 400 notes leave the queue instantly; none
> >>> are played.
> 
> afaik, you should use snd_seq_event_output() instead of
> snd_seq_event_output_direct() -- the latter is supposed
> to by-pass the queue for instant transmission.

well, this is not exact:  snd_seq_event_output_direct() sends the
event without "output buffer" on the user-space.
if the event record has a proper queue value (i.e. event.queue !=
SND_SEQ_QUEUE_DIRECT), it is scheduled on the specified queue.

for by-passing the scheduling on the queue, you need to mark the queue
via snd_seq_ev_set_direct().

snd_seq_event_output() will put the event onto the output buffer.
the buffered events won't be sent and stay on the buffer until either
the buffer becomes full or snd_seq_drain_output() is called
explicitly.

this i/o-buffer was introduced to reduce the amounts of read/write,
ioctls.  this could be implemented more sofisticatedly as a high-level
library...


Takashi


-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache 
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to