SB 3DSE ioctl() patch

Alexander Leidinger Alexander at
Mon Aug 15 12:01:55 GMT 2005

"A. Wik" <aw at> wrote:

>> > What are the arguments to integrate it into mixer(8)?
>> one stop shopping?
>> no new program to learn?

Yes, but we also have the route and ifconfig programs (and e.g. ipfw for
dummynet). We have them to seperate logical domains.

> I looked at mixer(8) while exploring the the sound driver
> architecture, to determine how to add the 3DSE ioctl().
> However, I could not find an easy way to fit it into
> either the existing mixer driver, or the userland mixer
> control program.  I suppose that it might have been
> possible by using typecasts and having the 3DSE feature
> masquerade as a mixer input/output line, but doing it
> the way I did seemed like a better choice - perhaps the
> main advantage being compatibility, allowing applications
> such as XMMS to use the same interface for Linux and
> FreeBSD.
> The standalone utility to control the feature is
> a quick but functional test program.  I see one logical
> reason for integrating its functionality into mixer(8):
> the fact that the ioctls are done on the /dev/mixer
> device (and at the hardware level, by manipulation of
> Sound Blaster "mixer" registers).

While this stereo "enhancement" is done by adding some amount (e.g. half of
it) of one channel to the other channel, the feature itself is a digital
signal effect (maybe some soundcards add a delay before they sum up the
channels). Changing from analog to digital signal delivery at the output
jacks is not a mixer property too. For the vchans we could argue about it...
but not for the slave channels Ariff is working on. So I think we're in the
need of another program in any case and we should take the opportunity to
just do it right in the first place instead of clutching this 3d feature to
mixer and move it later to a more appropriate place.

Any other arguments to "hack" mixer(8)?


--  Alexander @ PGP ID = B0063FE7     netchild @  : PGP ID = 72077137
Mathematicians take it to the limit.

More information about the freebsd-multimedia mailing list