History log of /src/share/man/man9/audio.9
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.61 28-Mar-2021 isaki

Update documents.
- query_format has been mandatory (since at least Feb 2020).
- set_params has been replaced to set_format (since May 2019).


# 1.60 06-Feb-2021 nia

Fix various typos, etc


# 1.59 06-Feb-2021 isaki

Add a description to close().
> Before call to this, halt_input and halt_output are called if necessary.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
# 1.58 29-Feb-2020 isaki

Describe about (existing) constraints on round_blocksize().


# 1.57 23-Feb-2020 isaki

Make start_input/halt_input optional if the driver has no recording,
make start_output/halt_output optional if the driver has no playback.
And remove such never called functions.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.56 12-Jun-2019 wiz

Remove superfluous Pp.


# 1.55 12-Jun-2019 isaki

Describe about get_props() properties.


Revision tags: phil-wifi-20190609
# 1.54 09-May-2019 wiz

Bump date.


# 1.53 09-May-2019 wiz

Improve wording, add more formatting.


# 1.52 08-May-2019 isaki

Update manpages respond to isaki-audio2 branch.


# 1.51 16-Feb-2019 wiz

Mark up NULL with Dv.


# 1.50 16-Feb-2019 isaki

Two minor fixes.
- 0 -> NULL.
- avoid K&R and sync with reality.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.49 02-Dec-2018 isaki

Correct function name.
freem is used to free memory allocated by allocm.


# 1.48 02-Dec-2018 isaki

Sync prototypes with reality. These have been changed in 2011.


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.47 28-May-2018 nat

branches: 1.47.2;
Move the audio specification to section 9 under audio_system.

Ok wiz@


Revision tags: pgoyette-compat-0521
# 1.46 15-May-2018 nat

Add the audio mixer specification to section 7 of the manual.
See posting on tech-kern - "NetBSD Audio Specification 2018."


Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base
# 1.45 03-Jul-2017 wiz

branches: 1.45.4;
Remove workaround for ancient HTML generation code.


Revision tags: netbsd-7-2-RELEASE netbsd-8-0-RC1 netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.44 13-Jul-2014 mbalmer

branches: 1.44.16;
Fix a typo in a function name. Found by Nat Sloss, thanks.
Fixes PR misc/46446.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-base9 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.43 23-Nov-2011 jmcneill

branches: 1.43.6; 1.43.16;
update audio(9) docs for audiomp changes


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base uebayasi-xip-base6 uebayasi-xip-base5 netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 netbsd-5-1-RC3 uebayasi-xip-base1 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base mjf-devfs2-base
# 1.42 30-Apr-2008 martin

branches: 1.42.22;
Convert TNF licenses to new 2 clause variant


# 1.41 25-Apr-2008 mjf

Grammar fix.


Revision tags: yamt-pf42-baseX yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
# 1.40 10-Nov-2007 jmcneill

branches: 1.40.6; 1.40.8;
Wups, bump date.


# 1.39 10-Nov-2007 jmcneill

It's mixer_ctrl_t, not mixer_ctl_t.


Revision tags: matt-armv6-prevmlocking matt-mips64-base
# 1.38 30-Jul-2007 alc

branches: 1.38.2; 1.38.4;
kills a few `caddr_t' occurences still present in manpage


# 1.37 07-Mar-2007 dogcow

running in emulated wizd mode, convert caddr_t to void *.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-4-base chap-midi-nbase chap-midi-base
# 1.36 11-Mar-2006 wiz

s/.br/.Pp/; mark up AUDIOPOWER*; new sentence, new line.
Bump date for previous.


# 1.35 07-Mar-2006 jmcneill

Document powerstate callback in audio_hw_if


# 1.34 20-Dec-2005 rpaulo

Adapt man pages to ktrace-lwp.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.33 20-Feb-2005 wiz

Grammar improvement.


# 1.32 20-Feb-2005 wiz

> -> \*[Gt]


# 1.31 20-Feb-2005 wiz

Drop trailing whitespace.


# 1.30 14-Feb-2005 fredb

Delete a superfluous comma.


# 1.29 14-Feb-2005 fredb

Clarify that controls affecting both playback and recording should also
be placed in the AudioCinputs class.


# 1.28 11-Jan-2005 kent

reflect the recent audio_hw_if changes for open(), close(), set_params(),
round_blocksize(), trigger_output(), and trigger_input().
bump date.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.27 31-Jan-2004 wiz

Bump date for previous, and break lines
so that macros only affect what they should.


# 1.26 31-Jan-2004 fredb

Fix a couple of long-standing bugs in the volume control(s) part of the
audio device interface:

1) When attempting to match the appropriate mixer control, we weren't
checking the class label, but only the second level label, so for
devices that had both an "inputs.cd" and a "record.cd", for example,
we could never do the right thing except by chance. For this reason,
evidently, all the record masters were labeled (by the underlying
drivers) either "record.record" or "record.volume", to distinguish
from "outputs.master". We'll now accept "record.master", and document
that as the the new preferred way.

2) More importantly, the model was deficient. Selecting a port on many
chips completely disables most of the level controls, which doesn't play
nice with other applications which are trying to use the interface. Now,
selecting a port simply sets which mixer input control shall be changed,
setting state in the audio layer. In other words, the "mixerout" port
is really selected all the time, enabling the final stage mixer, and
setting "gain" sets the level of the appropriate input. It should be
possible for separate applications to each control the mic, dac, and cd
inputs at the same time using this interface, simply by reiterating their
port selections with each change, but applications that don't bother to
do that aren't any worse off than they were before.

The user is expected to set the master output with another application,
dedicated to that task. Though it is now meaningful to select "no port"
with the audio device interface, to manipulate the master output, there's
no particular reason for an audio device consumer to do that. (I added
the capability in order to restore the initial state of the audio device,
for testing purposes. It might also be useful to users of broken binary-
only applications.)

Observe that the mixer device interface (and so, "mixerctl") still
retains all capabilities, including the ability to set the actual input
port on the chip, overriding the level controls. No change is being made
to the mixer device interface. The mixer device simply presents all the
controls on the chip, with no attempt at abstraction, so there are no
bugs there.

The upshot is, that applications that have been trying to use the audio
device interface to change the volume, such as mplayer, now "just work".

I've tested these changes extensively with "eso" and "eap" since first
proposing them on tech-kern last January, and somewhat with "esm" and a
few others. This closes both PR kern/10221, and PR kern/17159.


# 1.25 05-May-2003 kleink

Bring audio(9) back in sync with audio_if.h; from Murray Armfield in
PR misc/21432.


# 1.24 06-Apr-2003 wiz

Respect the law: Use A-law and mu-law as spellings as far as easily possible.
Inspired by Igor Sobrado in PR 19680.


Revision tags: fvdl_fs64_base
# 1.23 14-Oct-2002 wiz

New sentence, new line.


# 1.22 04-Jun-2002 isaki

add factor_denom.


Revision tags: netbsd-1-6-base
# 1.21 13-Mar-2002 kent

branches: 1.21.2;
Fix a typo


# 1.20 11-Mar-2002 kent

Update struct audio_params and description of set_params().
Feel free to correct my poor English ;-)


# 1.19 03-Oct-2001 augustss

Fix pasto in type of dev_ioctl method.


# 1.18 02-Oct-2001 augustss

Document a new method, dev_ioctl, for passing ioctl() down to the hardware
driver.


Revision tags: kqueue-base
# 1.17 21-Jun-2001 wiz

Fix typos, punctuation and whitespace.


# 1.16 24-Jul-2000 ad

Fix a couple of oversights.


Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.15 17-Feb-2000 kleink

Missed in previous: remove midi goo from argument list as well.


# 1.14 11-Feb-2000 kleink

* Nuke obsoleted midi interface from audio_attach_mi().
* Document trgger_{in,out}put().
Fixes PR kern/9341.


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base
# 1.13 16-Jun-1999 kleink

allocm, freem: one step closer to reality.


# 1.12 12-Jun-1999 kleink

Sync round_buffersize() with reality.


# 1.11 13-Apr-1999 augustss

Make the copyrights conform to the standard.


Revision tags: netbsd-1-4-base
# 1.10 24-Mar-1999 mycroft

branches: 1.10.2;
Remove blank lines.


# 1.9 16-Mar-1999 garbled

More .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages. Many more to
come.


# 1.8 22-Apr-1998 ross

Add David Brownlee's new intro pages, with editing. (PR #534[23])
Also, while here, expand apparently incorrectly .Dd month abbreviations.
(I thought about doing this in tmac/doc-common...heh...that would have
allowed a possible reverse map back to abbreviations.)


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base
# 1.7 19-Oct-1997 augustss

Layout changes.


# 1.6 19-Oct-1997 augustss

Small clarification.


# 1.5 19-Oct-1997 augustss

Update for SunOS compatibility.


# 1.4 13-Oct-1997 augustss

Fix pastos.


# 1.3 11-Oct-1997 augustss

Fix typos.


# 1.2 08-Oct-1997 jtc

Fix tipo inherited from old version of TNF copyright form.
s/REGENTS/FOUNDATION/.


# 1.1 24-Aug-1997 augustss

Initial version of the documentation of the interface between the
low and high level audio drivers, the audio_hw_if struct.