Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Florian Schmidt <mista.tapas@gmx.net>
To: Jaroslav Kysela <perex@suse.cz>
Cc: Shaya Potter <spotter@cs.columbia.edu>,
	Clemens Ladisch <clemens@ladisch.de>,
	Mauro Romano Trajber <trajber@terra.com.br>,
	ALSA development <alsa-devel@alsa-project.org>
Subject: Re: [Alsa-user] AD1985 full-duplex(?)
Date: Wed, 18 Aug 2004 20:15:35 +0200	[thread overview]
Message-ID: <20040818201535.1f49a128@mango.fruits.de> (raw)
In-Reply-To: <Pine.LNX.4.58.0408181918160.1769@pnote.perex-int.cz>

On Wed, 18 Aug 2004 19:37:16 +0200 (CEST)
Jaroslav Kysela <perex@suse.cz> wrote:

> > I know how much the ALSA developers favor the modular approach
> > having sw mixing done in userspace. I think this is suboptimal for
> > several reasons:
> > 
> > 1] the scheduling problems you mentioned
> 
> No, the actual dmix implementation does not use mutexes, so
> rescheduling is not required.

I see..

> 
> > 2] legacy OSS apps need to be run via aoss which still stinks for
> > many apps
> 
> It's really problem, but it's problem that we need a compatibility
> with broken API (no library at the initial stage of design, so we
> cannot emulate OSS API directly without using hacks).
> 
> Also at this time, nobody helped me to improve the liboss (aoss) code
> in some serious way. I ask why? Nobody uses it? Nobody wants this
> layer fully functional?

Hmm, you went on to make a wrapper for which the apps need to be changed
at source code level. This is an option which is often not available
[old games with makers who are broke whatever, closed source app where
the vendor just refuses to fix it at all, etc.]. This is why i don't
have any interest in improving it. I do have interest in improving aoss
though wrt the traditional LD_PRELOAD hack..

But fixing the mmap issue was over my head [sorry], so i didn't go after
it further.

> 
> I have another idea how we can solve this issue - a network sound
> driver, but this will add the scheduling problems including the
> throughput of the network layer, of course.
> 
> > 3] the user has to edit configuration files, which is a showstopper
> > for newbies and people who have never had to follow a rigorous
> > syntax.
> 
> It's not a goal. In 90% of cases, you may simply use plug:dmix device 
> which is already defined in the global configuration files.

yes, you're right. Btw: i also think there needs to be a predefined asym
device which makes fullduplex access available for nultiple apps, too..

> 
> > I would suggest writing another "dummy" soundcard module which would
> > sit "ontop" of the normal alsa driver and which does nothing but
> > provide sw mixing access [including the needed resampling and
> > mixing]. 
> 
> It's not easy task and again, do we need to code it in the kernel
> space? Benefits? Target users?
> 
> I think that we should provide the functionality (mixing) for all
> APIs, but the latency issues which mixing might invoke are not a
> serious problem. It's similar to graphics cards. You'll get better
> results with an accelerator (in case of sound with hardware having the
> mixing capability).
> 

Yes. I just am not sure what is easier:

a] fixing aoss to support all legacy oss apps [even those which cannot
be changed at source code level]

b] create a kernel module like the beforementioned which would just
eliminate the issue for most users since they can just use the kernel
level oss emu..

I really am not sure anymore. What do you think?

Flo

-- 
Palimm Palimm!
http://affenbande.org/~tapas/



-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285

  reply	other threads:[~2004-08-18 18:04 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.HPX.4.33n.0408181538550.24798-100000@studcom.urz.uni-halle.de>
     [not found] ` <1092842830.13603.3.camel@localhost.localdomain>
     [not found]   ` <20040818181350.2b38e875@mango.fruits.de>
2004-08-18 17:37     ` [Alsa-user] AD1985 full-duplex(?) Jaroslav Kysela
2004-08-18 18:15       ` Florian Schmidt [this message]
2004-08-19  8:58         ` Jaroslav Kysela
2004-08-19  9:46           ` Takashi Iwai
2004-08-19 10:28             ` Jaroslav Kysela
2004-08-23 11:36               ` Adam Tlałka
2004-08-23 11:54                 ` Jaroslav Kysela
2004-08-23 12:34                   ` Adam Tlałka
2004-08-23 14:39                     ` Jaroslav Kysela
2004-08-24  6:01                       ` Adam Tla/lka
2004-08-23 15:30                 ` Takashi Iwai
2004-08-28 19:10                   ` Adam Tlałka
2004-08-29  9:54                     ` Jaroslav Kysela
2004-08-29 18:35                       ` Adam Tlałka
2004-08-31  8:09                         ` Jaroslav Kysela
2004-08-19  9:48           ` Florian Schmidt
2004-08-20 10:58             ` Jaroslav Kysela

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=20040818201535.1f49a128@mango.fruits.de \
    --to=mista.tapas@gmx.net \
    --cc=alsa-devel@alsa-project.org \
    --cc=clemens@ladisch.de \
    --cc=perex@suse.cz \
    --cc=spotter@cs.columbia.edu \
    --cc=trajber@terra.com.br \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox