Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Apr 2002 14:32:15 -0500
From:      The Anarcat <anarcat@anarcat.dyndns.org>
To:        John Utz <john@utzweb.net>
Cc:        Lars Eggert <larse@ISI.EDU>, multimedia@FreeBSD.ORG
Subject:   Re: Soundblaster Live rear channels?
Message-ID:  <20020404193214.GD279@lenny.anarcat.dyndns.org>
In-Reply-To: <Pine.LNX.4.44.0204041147440.2292-100000@jupiter.linuxengine.net>
References:  <3CAC8E70.3040700@isi.edu> <Pine.LNX.4.44.0204041147440.2292-100000@jupiter.linuxengine.net>

next in thread | previous in thread | raw e-mail | index | archive | help

--YToU2i3Vx8H2dn7O
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu Apr 04, 2002 at 11:57:33AM -0600, John Utz wrote:
> Totally OTTOMH,
>=20
> On Thu, 4 Apr 2002, Lars Eggert wrote:
>=20
> > Hi,
> >=20
> > does the pcm driver support the rear channels of Soundblaster Live=20
> > cards? (Or any other sound cards, for that matter?) If so, how?

pcm supports multiple channels.

=46rom /dev/sndstat

FreeBSD Audio Driver (newpcm) Mar 27 2002 12:56:06
Installed devices:
pcm0: <Creative EMU10K1> at io 0x9000 irq 5 (4p/1r/0v channels duplex)

So it has 4 play channels. newpcm supports multiple through the use of
multiple channels, AFAIK. On -stable, newpcm supports this through
hw.snd.pcm0.vchans. The default value is 0 which means there is only
one virtual channel available. If you bump this to 1 or 2, you have
more virtual channels available. These are accessible through
/dev/dspX.Y where Y is the virtual channel.

On -current, this is handled automatically with devfs, ie dsp devices
are created as channels are required.

Now what I'm wondering is how these channels are mapped. My guess is
that the driver will blindly use all hardware channels as you require
more virtual channels and mix down extra virtual channels to already
existing channels.
=20
> if the back channels are supported then the mixer would show up with extra
> things to mix?=20

Maybe. Here I have this in my mixer(1) output:

Mixer vol      is currently set to  75:75
Mixer pcm      is currently set to  57:57
Mixer speaker  is currently set to  75:75
Mixer line     is currently set to  75:75
Mixer mic      is currently set to   0:0
Mixer cd       is currently set to  75:75
Mixer rec      is currently set to   0:0
Mixer line1    is currently set to  75:75
Mixer phin     is currently set to   0:0
Mixer phout    is currently set to   0:0
Mixer video    is currently set to  75:75
Mixer monitor  is currently set to  75:75

I don't know what video and monitor are, but they're probably related
to our issue here.
=20
> an interesting pre-question would be 'is the mixer hardcoded to
> have the selection of items that it currently supports?'

The mixer detects which what devices are available, that's for sure,
since I don't have the same mixer(1) output from my SBlive that I had
from my SB16.

> probably is hardcoded. but one wold have to go src-spelunking to know for=
=20
> sure.

mixer code is actually in /usr/src/sys/dev/sound/pcm, I think.

=46rom what I can tell from mixer.c there is a default
snd_mixerdefaults[SOUND_MIXER_NRDEVICES] value. But this table doesn't
seem to be changed.

> so, an interesting extention to the mixer would be to query for=20
> capabilities and present the correct items.
>=20
> it might actually do this already, i dunno.

Here's what I think: the mixer has a closed set of supported mixer
channels and unsupported ones are not accessible from the mixer
ioctl.

Cheers

A.

--=20
Thoughtcrime does not entail death: thoughtcrime IS death.

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

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (FreeBSD)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAjysqj4ACgkQttcWHAnWiGfiNQCfcIRMv1EinvKc0IheINEuRn9l
ILQAmgPlAfRyiT87E9150JCqeoXVbP9t
=5B2c
-----END PGP SIGNATURE-----

--YToU2i3Vx8H2dn7O--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-multimedia" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020404193214.GD279>