Code scavenged from tracker, since it's known to work...
removed all special cases, since it's needed only for OpenBSD.
Tweaks after some ho@'s comments.
after the commit ? so that I can either get careless, or waste
time/bandwidth by running each commit twice...
Anyways, files/audio_openbsd.c is a `caching' audio system.
It's much smarter than the old one: uses get encoding to map the reasonable
encodings, does not even cross-check alaw/ulaw when 8 bit/16 bit work okay.
It does keep audio opened all the way instead of closing/reopening all the
time.
and it avoids gratuitous assumptions about PC broken hardware, such as not
having support for 8 bits signed and other brain-damage.
Missing part: it won't convert endianess on the fly when the only `right'
modes have the wrong endianess... this might occur with e.g., a sb16 on
an alpha.
Porters: please make sure you use bsd.port.mk 1.75 or later when
updating ports. That version of the makefile adds all sums. Previous
versions of the makefile will still work for people installing ports.