All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Davis <paul@linuxaudiosystems.com>
To: rcassidy@stanford.edu
Cc: alsa-devel@lists.sourceforge.net
Subject: Re: Interrupt-driven (or callback/handler?), Full-duplex (simultaneous capture/playback) without using JACK
Date: Mon, 10 Nov 2003 07:26:05 -0500	[thread overview]
Message-ID: <200311101226.hAACQ5BA012577@oud.linuxaudiosystems.com> (raw)
In-Reply-To: Your message of "Mon, 10 Nov 2003 02:57:37 PST." <000601c3a779$752cfd70$264440ab@roboserv1>

>Many thanks for the info.!

just keep in mind what jaroslav noted about signal handling
context. please don't build a serious application around this
mechanism. sooner or later, you may want to make a system call from
the handler that violates the POSIX guarantees about what can be
done. at that point, you will need to completely reimplement your
code. 

acting as my own devil's advocate, and again echoing what jaroslav
wrote, if you write real-time safe code in the handler, you won't be
making any system calls anyway; at best perhaps a write to a FIFO to
drive some other thread, and write(2) is specifically allowed.

finally, you will still need to implement the full logic of JACK's
internal loop that uses snd_pcm_avail_update() on both streams to
determine how much data space is available. JACK's is arguably a bit
more complex, since it wants to guarantee that clients process equal
size blocks every time for both playback and capture.

--p


-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/

  parent reply	other threads:[~2003-11-10 12:26 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-09  0:18 Interrupt-driven (or callback/handler?), Full-duplex (simultaneous capture/playback) without using JACK Ryan Cassidy
2003-11-09  3:42 ` Paul Davis
2003-11-09  4:33   ` Ryan Cassidy
2003-11-09  8:37     ` Jaroslav Kysela
2003-11-10 10:57       ` Ryan Cassidy
2003-11-10 11:05         ` Jaroslav Kysela
2003-11-10 12:26         ` Paul Davis [this message]
2003-12-30  1:57       ` Ryan Cassidy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200311101226.hAACQ5BA012577@oud.linuxaudiosystems.com \
    --to=paul@linuxaudiosystems.com \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=rcassidy@stanford.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.