Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

.\"	$NetBSD: ossaudio.3,v 1.20 2009/03/12 12:33:46 joerg Exp $
.\"
.\" Copyright (c) 1997 The NetBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to The NetBSD Foundation
.\" by Lennart Augustsson,
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd February 3, 2009
.Dt OSSAUDIO 3
.Os
.Sh NAME
.Nm ossaudio
.Nd OSS audio emulation
.Sh LIBRARY
.Lb libossaudio
.Sh SYNOPSIS
.In soundcard.h
.Sh DESCRIPTION
The
.Nm
library provides an emulation of the OSS (Linux) audio
interface.
.Pp
Use the native interface for new programs and the emulation
library only for porting programs.
.Ss Mixer Control Map
The following table summarizes the mappings from native interface
device names to OSS mixer controls.
.Pp
.Bl -column ".Sy Native Device Name" "SOUND_MIXER_SPEAKER"
.It Sy "Native Device Name" Ta Sy "OSS Mixer Control"
.It *.mic Ta SOUND_MIXER_MIC
.It *.line Ta SOUND_MIXER_LINE
.It *.cd Ta SOUND_MIXER_CD
.It *.dac Ta SOUND_MIXER_PCM
.It *.aux Ta SOUND_MIXER_LINE1
.It *.record Ta SOUND_MIXER_IMIX
.It *.master Ta SOUND_MIXER_VOLUME
.It *.treble Ta SOUND_MIXER_TREBLE
.It *.bass Ta SOUND_MIXER_BASS
.It *.speaker Ta SOUND_MIXER_SPEAKER
.It *.output Ta SOUND_MIXER_OGAIN
.It *.input Ta SOUND_MIXER_IGAIN
.It *.fmsynth Ta SOUND_MIXER_SYNTH
.It *.midi Ta SOUND_MIXER_SYNTH
.El
.Sh SEE ALSO
.Xr audio 4 ,
.Xr midi 4
.Sh HISTORY
The
.Nm
library first appeared in
.Nx 1.3 .
.Sh BUGS
The emulation uses a #define for
.Fn ioctl
so some obscure programs
can fail to compile.
.Pp
The emulation is incomplete.
.Pp
The emulation only covers
.Fn ioctl ,
there are other differences as well.
E.g., on a write
that would block in non-blocking mode Linux returns
.Dv EINTR
whereas
.Nx 1.3
returns
.Dv EAGAIN .