OSSAUDIO(3) | Library Functions Manual | OSSAUDIO(3) |
ossaudio
—
#include <soundcard.h>
ossaudio
library provides an emulation of the Open
Sound System audio interface.
Use the native audio(4) and mixer(4) interfaces for new programs, and this emulation library only for building code written for other operating systems.
Native Device Name | OSS Mixer Control |
*.mic | SOUND_MIXER_MIC |
*.line | SOUND_MIXER_LINE |
*.cd | SOUND_MIXER_CD |
*.dac | SOUND_MIXER_PCM |
*.aux | SOUND_MIXER_LINE1 |
*.record | SOUND_MIXER_IMIX |
*.master | SOUND_MIXER_VOLUME |
*.treble | SOUND_MIXER_TREBLE |
*.bass | SOUND_MIXER_BASS |
*.speaker | SOUND_MIXER_SPEAKER |
*.output | SOUND_MIXER_OGAIN |
*.input | SOUND_MIXER_IGAIN |
*.fmsynth | SOUND_MIXER_SYNTH |
*.midi | SOUND_MIXER_SYNTH |
ossaudio
interface aims to be compatible with the
Open Sound System version 4, as described in:
4Front Technologies, OSS 4.x Programmer's Guide, http://manuals.opensound.com/developer/, 2007.
ossaudio
library first appeared in
NetBSD 1.3.
The Open Sound System up to version 3 was originally the preferred API for writing audio code under Linux until ALSA became the new default in Linux 2.6. It remains the preferred API in FreeBSD and Solaris, and a large body of code exists supporting it.
AUDIO_MIXER_SET
control types cannot be accurately represented in the OSSv4 mixer API, so
are treated as enums.SNDCTL_DSP_SETPLAYVOL
) is
not currently implemented as in OSSv4, and will instead modify the global
volume. Applications need to provide samples with the appropriate
gain.ioctl
(), there are other
differences as well. E.g., on a write that would block in non-blocking
mode Linux returns EINTR
whereas
NetBSD 1.3 returns
EAGAIN
.ioctl
() so some
obscure programs can fail to compile.October 20, 2020 | NetBSD 10.1 |