OSSAUDIO(3) BSD Library Functions Manual OSSAUDIO(3)NAME
ossaudio -- OSS audio emulation
LIBRARY
OSS Audio Emulation Library (libossaudio, -lossaudio)
SYNOPSIS
#include <soundcard.h>
DESCRIPTION
The ossaudio library provides an emulation of the OSS (Linux) audio interface.
Use the native interface for new programs and the emulation library only for porting programs.
Mixer Control Map
The following table summarizes the mappings from native interface device names to OSS mixer controls.
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
SEE ALSO audio(4), midi(4)HISTORY
The ossaudio library first appeared in NetBSD 1.3.
BUGS
The emulation uses a #define for ioctl() so some obscure programs can fail to compile.
The emulation is incomplete.
The emulation only covers 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.
BSD February 3, 2009 BSD
Check Out this Related Man Page
CMPCI(4) BSD Kernel Interfaces Manual CMPCI(4)NAME
cmpci -- C-Media CMI8x38 audio device driver
SYNOPSIS
cmpci* at pci? dev ? function ?
audio* at audiobus?
mpu* at cmpci?
opl* at cmpci? flags 1
DESCRIPTION
The cmpci device driver supports C-Media CMI8x38 based sound cards.
The device has SPDIF input/output interfaces, 16bit CODEC with analog mixer, OPL3 FM Synthesizer, and MPU401 compatible MIDI I/O port inter-
face.
MIXER DEVICE
The mixer device of cmpci driver can be accessed via mixerctl(1) command. The complex structure is analyzed as follows.
SPDIF in ----------------------
#1(coax)->|spdin1 | R -----------------------
#2(opt)-->|spdin2 spdif.input |--*->--|spdin spdif.output |--> SPDIF
-->|spdout | | -->|playback | output
| ---------------------- | | -----------------------
--------------------<------+-*
---------<-------------------+-+----------------------------------
| ------------------------ | | ----------------------- |
-->|legacy spdif.output. |--+-*-->|spdout | |
-->|wave playback | ----->|spdin spdif.monitor |---- |
| ------------------------ NC-|off | | |
---------<-- spdif ----------------------- | |
-------+------- dac ----------------------------- v |
wave -->|playback.mode|---->|inputs.dac|-*->|inputs.dac.mute|->----- |
playback --------------------------- R ----------------- | + | |
-------------------------------------- |mix| |
FM synthesizer -->|inputs.fmsynth |--*->|inputs.fmsynth.mute|-->----- |
----------------- R --------------------- *->--
CD ---------------------- --------------------------- v
LINE-IN ->|inputs.{cd,line,aux}|-*>|inputs.{cd,line,aux}.mute|->-----
AUX ---------------------- R --------------------------- | |
------------------ | |
PC-SPK -->| inputs.speaker |----------------------------------->| + |
------------------ | |
------------------------------------------------ |mix|
MIC --*-->|inputs.mic.preamp|->|inputs.mic|->|inputs.mic.mute|->| |
| -----------------------------------------------------
| ----------------------------- |
--->|record.mic|-->| | v
------------ | record.source |-->to -----------
*R-->| (select, mix) | recording |outputs.*|-->
---------------------------- SPK
(front)
Note the 2nd SPDIF input exists only on CMI8738/PCI-6ch versions.
MIXER EXAMPLES
Here are examples about wave playback and SPDIF input/output ports.
Playback to speaker, SPDIF input to SPDIF output
mixerctl -w playback.mode=dac spdif.output=spdin spdif.monitor=off
Playback to SPDIF output, SPDIF input to speaker
mixerctl -w playback.mode=spdif spdif.output=playback spdif.output.playback=wave spdif.monitor=spdin
SPDIF input to both SPDIF output and speaker
mixerctl -w spdif.output=spdin spdif.monitor=spdin
Playback to both SPDIF output and speaker
mixerctl -w playback.mode=spdif spdif.output=playback spdif.output.playback=wave spdif.monitor=spdout
Mix playback and SPDIF input to speaker
mixerctl -w playback.mode=dac spdif.monitor=spdin
SEE ALSO mixerctl(1), audio(4), midi(4), mpu(4), opl(4), pci(4)HISTORY
The cmpci device driver appeared in NetBSD 1.5.
BUGS
4ch/6ch playback is not yet available. Joystick port is not supported.
spdif.output.playback=legacy does not seem to work properly.
BSD June 22, 2005 BSD