From: Luuk van Dijk <lvd@mndmttr.nl>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@lists.sourceforge.net
Subject: Re: full/half duplex support
Date: 19 Nov 2004 21:29:31 +0100 [thread overview]
Message-ID: <1100896171.237.15.camel@wonder> (raw)
In-Reply-To: <s5hd5yaavfd.wl@alsa2.suse.de>
On Fri, 2004-11-19 at 13:13, Takashi Iwai wrote:
> Hmm, I don't understand your proposal here.
>
> AFAIUC, the problem is that the trigger callback is called twice, for
> playback and capture, on the full-duplex mode. Basically ALSA assumes
> that the playback and the capture streams are accessible
> independently, so no such restriction is implemented (yet).
no it looks like the callback is called multiple times for the second
stream that is started. so: hwparams() and prepare() and trigger() for
the first, say the capture substream works fine. then I start the
playback substream. my prepare() knows to reconfig the dma when either
channel is running, so that goes well too, and the trigger() knows that
if either substream is running it doesn't need to start the dma i/o, but
then the mid-layer queries the current dma pointer for the capture
stream with the pointer() callback, and I think it doesn't like the
answer (my interpretation), because I see that it calls trigger() again
and again.
> If my understanding is right -- I'd recommend to add a code in the
> trigger callback just to check whether another stream has been already
> triggered, then simply ignore the second trigger call.
I already did that. but it doesn't solve the problem, which I described
above.
> Also, it'd be better to provide the sync start option so that the
> full-duplex app triggers only once.
that may be a good idea, thanks so far. I'll look into it & let you
know.
R,
L.
-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
next prev parent reply other threads:[~2004-11-19 20:29 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-15 16:03 full/half duplex support Luuk van Dijk
2004-11-18 13:17 ` Takashi Iwai
2004-11-18 18:06 ` Luuk van Dijk
2004-11-19 12:13 ` Takashi Iwai
2004-11-19 20:29 ` Luuk van Dijk [this message]
2004-11-22 11:35 ` Takashi Iwai
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=1100896171.237.15.camel@wonder \
--to=lvd@mndmttr.nl \
--cc=alsa-devel@lists.sourceforge.net \
--cc=tiwai@suse.de \
/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.