From: Lee Revell <rlrevell@joe-job.com>
To: mjander@users.sourceforge.net
Cc: alsa-devel <alsa-devel@lists.sourceforge.net>
Subject: Re: hardware channel mixing [EMU10K1 DMA]
Date: Tue, 07 Sep 2004 02:53:10 -0400 [thread overview]
Message-ID: <1094539989.16954.71.camel@krustophenia.net> (raw)
In-Reply-To: <1094532469.16954.15.camel@krustophenia.net>
On Tue, 2004-09-07 at 00:47, Lee Revell wrote:
> OK, I think I got it. The OSS driver uses the interval timer for
> playback. The ALSA driver does not use the timer interrupt at all, and
> the OSS driver does not seem to use the channel loop interrupt at all.
>
> The interval timer seems to be intended exactly for this use; I am a bit
> baffled as to why was the channel loop interrupt, a relatively obscure
> feature, was chosen as the playback interrupt source.
>
> I should have a patch in a day or two to eliminate the extra voice.
> Looks like this will also allow the driver to support real multichannel
> PCM playback rather than the current kludge of alsa plugins using
> multiple stereo and mono PCMs for 5.1, etc.
>
The above is almost right; this will eliminate the extra voice for
regular PCM playback, system sounds, etc but will not give you sample
accurate synchronized full duplex operation like kX ASIO. The only way
to do this is to have all the period_elapsed callbacks for the linked
capture/playback streams run atomically in the same interrupt handler.
This can be achieved by adding another multichannel playback device,
corresponding to the hw;0,2 FXBus, and use the efx_capture interrupt for
playback. When these playback channels are opened a voice is allocated
and added to the efx capture device;s linked linked list of playback
streams. This _has_ to be how the ASIO drivers work.
I should have a patch fairly soon.
Lee
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
next prev parent reply other threads:[~2004-09-07 6:53 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-29 15:03 hardware channel mixing Patrick Dumais
2004-09-03 12:59 ` Clemens Ladisch
2004-09-03 13:15 ` Patrick Dumais
2004-09-03 13:24 ` Clemens Ladisch
2004-09-03 13:58 ` Florian Schmidt
2004-09-03 14:04 ` Patrick Dumais
2004-09-03 14:31 ` Florian Schmidt
2004-09-03 14:34 ` Patrick Dumais
2004-09-03 15:23 ` Florian Schmidt
2004-09-07 5:04 ` Glenn Maynard
2004-09-03 23:30 ` Lee Revell
2004-09-04 1:19 ` Manuel Jander
2004-09-04 23:28 ` Lee Revell
2004-09-05 3:02 ` Manuel Jander
2004-09-05 5:06 ` Lee Revell
2004-09-05 18:12 ` Manuel Jander
2004-09-05 18:39 ` Lee Revell
2004-09-05 18:28 ` Lee Revell
2004-09-06 11:54 ` Jaroslav Kysela
2004-09-06 20:41 ` Lee Revell
2004-09-07 1:09 ` hardware channel mixing [EMU10K1 DMA] Manuel Jander
2004-09-07 4:47 ` Lee Revell
2004-09-07 6:53 ` Lee Revell [this message]
2004-09-07 8:23 ` Jaroslav Kysela
2004-09-07 18:26 ` Lee Revell
2004-09-07 19:16 ` Jaroslav Kysela
2004-09-07 19:34 ` Lee Revell
2004-09-07 19:41 ` Jaroslav Kysela
2004-09-07 19:46 ` Lee Revell
2004-09-07 19:48 ` Lee Revell
2004-09-07 19:52 ` Jaroslav Kysela
2004-09-07 20:06 ` Lee Revell
2004-09-08 22:49 ` Lee Revell
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=1094539989.16954.71.camel@krustophenia.net \
--to=rlrevell@joe-job.com \
--cc=alsa-devel@lists.sourceforge.net \
--cc=mjander@users.sourceforge.net \
/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.