Subject: Re: Ideas on the audio framework
To: TAMURA Kent <kent@NetBSD.org>
From: None <cube@cubidou.net>
List: tech-kern
Date: 12/13/2004 08:09:03
--a8Wt8u1KmwUX3Y2C
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Dec 13, 2004 at 02:19:36PM +0900, TAMURA Kent wrote:
> > You're missing the point here.  The NetBSD API allows all 3 actions.
> > OSS API doesn't allow action 3, so OSS application have no way to
> > figure out what a meaningful step is.
>=20
> Probably no one opposes making the OSS compat layer stateful.
> It should be compatible with Linux and FreeBSD.

That doesn't work.  A mixer can really be stateful if it can make
sure it intercepts all changes, so it can keep its state.  If some
other application changes the value behind its back, strange things
will happen (though, arguably, it will work if someone only uses
one application for mixer settings.  I, for one, use gkrellm-volume,
mplayer, mp3blaster and mixerctl all at the same time, depending on
what I'm doing).

And that's the pity of the issue:  you can have a stateless mixer on
top of a stateful one, but not the inverse.

To make things worse, we have no OSS compat layer at the kernel level,
it only consists of a userland library that rewrites the OSS ioctls().
That means OSS-only statefulness could only be per-process.

--=20
Quentin Garnier - cube@cubidou.net - cube@NetBSD.org
"Commala-come-five! / Even when the shadows rise!
To see the world and walk the world / Makes ya glad to be alive."
Susannah's Song, The Dark Tower VI, Stephen King, 2004.

--a8Wt8u1KmwUX3Y2C
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (NetBSD)

iQEVAwUBQb1AD9goQloHrPnoAQLhIAgAsmK4YQ6AlyCv0qMufJcOnJQNGjtmM5tf
2U0FosZZXt3LFc0phUWRhDFMemQzFXhgIbu+TlG2YVZUdmMP61l7TAM6Qd4DDQyB
XlMLOV17IgVAK39SpqDI6BMJnVF2m/mwxo5OJnGCVPbGTXvu4FF/pIpz1U5BuBhv
BpNHqENKZE6hNyj1CXopiVO6hywcKAr4zs32D8kHHipxC+K0QTNLGVkV6jHSXj5K
O0c1XhvUJG+DXdTcH+HHShL7M2aQvWcM/bmk/FtxKoytov6M4z1IVgkE1LLck/jd
1njA4EWJgz5lz5pQ8vG+tVx00VhcYvOdwYA1y8/x5F4CmVO0WPFREQ==
=sbI7
-----END PGP SIGNATURE-----

--a8Wt8u1KmwUX3Y2C--