binaries which were working fine on NetBSD 1.5. We defer this change
until a longer-term fix is found as explain in the commit message in
revision 1.132.
Further details can be found in PR17159.
among other things, it behaved as if full-duplex audio devices
were always ready for writing. Also commented the code in case.
This fixes PRs kern/11179 and kern/13829.
recording ring buffer could overrun the end of the buffer. When
recording resumed, memory after the end of the buffer would be read,
sometimes causing a system crash.
http://mail-index.netbsd.org/tech-kern/2002/03/04/0005.html
auconv.c: Add conversion functions
audio.c: Sample alignment, calling conversion functions, etc.
audio_if.h: Add four hw_* members to "struct audio_params"
audiovar.h: Add conversion buffers, etc.
auich and uaudio: Add conversion request code to *_set_params().
Actually, the silence filler can do any multiple of 8 bits now, but I didn't
allow the parameter check to accept more than 32 bit to avoid confusion
of drivers that fail to check the parameters themselves thoroughly.
This should be changed later.
Because zeroing them causes zero division panic with devices which don't
support 8kHz mulaw, and the effect of this line was to force calling
audio_calcwater even when unnecessary.
documented as to why it was added in and it breaks the ability to set the
gain on playback. A longer term fix to set these correctly should be done but
none of the drivers today are doing this and not being able to set the playback
volume otherwise is a bit silly.
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".
Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
(1) Fix sense of a strcmp() test so that the monitor subdevice of the
mixer is properly identified.
(2) Use hw_if->set_port() instead of hw_if->get_port() when changinh
the monitor level in audiosetinfo().
Fixes PR kern/7661.