Even though the OSS manual [1] advises against using AFMT_FLOAT, there
are applications that expect the sound driver to support it, and might
not work properly without it.
This patch adds AFMT_FLOAT in sys/soundcard.h and implement32_LE|BE (as well as AFMT_FLOAT for OSS
<-> AFMT_S32_LE conversion functions. As a result, applications cancompatibility) in sys/soundcard.h and implements AFMT_F32_LE|BE <->
AFMT_S32_LE|BE conversion functions. As a result, applications can
write/read floats to/from sound(4), but internally, because sound(4)
works with integers, we convert AFMT_FLOAT to AFMT_S32_LE before doingfloating point samples to integer ones,
before doing any processing.
[1] http://manuals.opensound.com/developer/AFMT_FLOAT.html
PR: 281390157050, 184380, 157050264973, 184380280612, 264973281390
Sponsored by: The FreeBSD Foundation
MFC after: 2 days1 week