History log of /openbsd-current/share/man/man4/audio.4
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.87 31-Mar-2022 naddy

man pages: add missing commas between subordinate and main clauses

jmc@ dislikes a comma before "then" in a conditional, so leave those
untouched.

ok jmc@


Revision tags: OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.86 01-Nov-2020 jmc

some comma fixes; from varik valefor
(audio.4 tweaked from that submitted)


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.85 22-Apr-2020 jmc

sort SEE ALSO;


# 1.84 21-Apr-2020 deraadt

move mixerctl and audioctl man pages to section 8, as these work
against root-only device nodes.


# 1.83 20-Apr-2020 ratchov

Remove references to the mixer device, rework control device section

Add the missing paragraph to explain that the control device may be
read. Add the missing .Xr to sndioctl and sioctl_open.

ok and tweaks jmc@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.82 05-Aug-2018 ratchov

Mention ioctls that don't work for the control device.

ok jmc


# 1.81 05-Aug-2018 ratchov

Use english words instead of file names.

ok jmc


# 1.80 05-Aug-2018 ratchov

Remove obvious or repeating sentinces.

ok jmc


# 1.79 30-Jul-2018 jmc

catch up with the symlink removal of /dev/{audio,mixer};
ok ratchov


# 1.78 22-Jul-2018 schwarze

cross reference sndio(7) and sndiod(8); from weerd@;
OK ratchov@ jmc@ (who are both busy)


# 1.77 27-May-2018 ratchov

Mention that only superuser may control record.enable knob.

help from and ok schwarze


# 1.76 26-May-2018 ratchov

Document the new "record.enable" mixer knob.

help from and ok schwarze


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.75 08-Sep-2016 ratchov

Remove reference to /dev/sound*. With tweaks from jmc@, thanks.


# 1.74 08-Sep-2016 ratchov

While /dev/audio is in use, /dev/audioctl has read-only access to
device variables.


# 1.73 01-Sep-2016 ratchov

Fix typo: replace AUDIO_GETINFO by AUDIO_GETPAR.


# 1.72 31-Aug-2016 ratchov

Delete unused ioctls and associated macros. Move macros that are still
used internally by low-level drivers from sys/audioio.h to
dev/audio_if.h instead of deleting them.


Revision tags: OPENBSD_6_0_BASE
# 1.71 18-Jun-2016 ratchov

Add a new AUDIO_GETSTATUS ioctl to get various audio driver variables.
It's intended for use with diagnostic tools (like audioctl) and is of
no use to audio programs.


# 1.70 16-Mar-2016 jmc

knock out unused Pp in previous;


# 1.69 16-Mar-2016 ratchov

Expose new audio ioctls that do one thing only: start and stop DMA,
set and get parameters. This is much simpler.

ok semarie, armani, tweaks from jmc


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.68 28-Jul-2015 ratchov

Add the AUDIO_GETPOS ioctl() to fetch a snapshot of the 4 counters
returned by AUDIO_GETxOFFS and AUDIO_xERROR ioctls.

ok deraadt


# 1.67 27-Jul-2015 ratchov

Remove sections that describe features we don't support any longer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.66 28-Jun-2014 matthew

espie points out <string.h> is needed for the AUDIO_INITINFO() macro


# 1.65 28-Jun-2014 jmc

Dv blah , Dv bleh
is more simply written as
Dv blah , bleh


# 1.64 28-Jun-2014 matthew

audio(4) has nothing to do with <string.h>


Revision tags: OPENBSD_5_5_BASE
# 1.63 28-Aug-2013 jmc

wording fix; original diff from remco, but i've reworded it to read better
ok ratchov


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.62 15-Jul-2010 jakemsr

add two new members to structs audio_encoding and audio_prinfo.
for both structs, the new members are 'bps' and 'msb', which
describe the number of bytes per sample and data alignment in the
sample, respectively. drivers must properly set these fields in
the 'query_encoding', 'set_parameters' and 'get_default_params'
hardware interface methods.

discussed with ratchov, deraadt


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.61 27-Jun-2009 jmc

sync description of struct audio_prinfo;
reported by frederic, documentation/6179


# 1.60 24-Mar-2009 sobrado

fix a few typographical errors.

ok jmc@


Revision tags: OPENBSD_4_5_BASE
# 1.59 17-Jan-2009 jmc

typo fix - ok jakemsr - and add a comma;


# 1.58 16-Jan-2009 jakemsr

deal with sample precisions that are not a power of 2.

discussed with and ok ratchov; manpage tweak from naddy, thanks


# 1.57 27-Oct-2008 jmc

sa_open -> sio_open, after recent changes;


# 1.56 26-Oct-2008 jmc

add some audio/libsa cross refs;


Revision tags: OPENBSD_4_4_BASE
# 1.55 26-Jun-2008 ray

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@


# 1.54 26-May-2008 jmc

tweak previous;


# 1.53 26-May-2008 jakemsr

explain why, even though we support "sticky" block sizes, setting block
sizes before other parameters can cause problems.

ok ratchov@


# 1.52 21-Apr-2008 jakemsr

allow low level audio drivers to specify a default sample format,
instead of 8-bit mono mulaw @ 8kHz.

this is just the infrastructure; no drivers are specifying a default
yet.

ok ratchov@, deanna@


# 1.51 22-Mar-2008 ratchov

add audio(4) driver the ability to use different block sizes for play and
record modes. This makes possible to have blocks of the same duration if the
play and record formats are different. The API change is backward
compatible, so it shouldn't be noticed by current audio ports.

ok jakemsr


Revision tags: OPENBSD_4_3_BASE
# 1.50 06-Dec-2007 deanna

Remove incomplete device Xr list. The device pages already reference
audio(4), and the bus pages reference the devices, so there's no need
for audio(4) to try to keep up.

Requested by & ok jmc@


# 1.49 03-Nov-2007 jmc

add aucat(1) and cdio(1) to SEE ALSO;


# 1.48 28-Oct-2007 ratchov

add new envy(4) man page

ok jmc@, ok deraadt@


# 1.47 08-Oct-2007 jakemsr

explain that AUDIO_GET[PR]RINFO were added for porting 3rd party
software and should be avoided in new code

suggested by ratchov@, help from jmc@


# 1.46 03-Oct-2007 jakemsr

add two new audio ioctls, AUDIO_GETPRINFO and AUDIO_GETRRINFO, and the
data structure these ioctls use, audio_bufinfo.

these ioctls return information about the play and record buffers
into the audio_bufinfo structure.

these are being added to aid in porting non-native audio applications
and libraries, and to fix issues in our OSS audio emulation. these
ioctls exist only on OpenBSD and should not be used in code intended
for distribution.

ok ratchov


# 1.45 28-Sep-2007 jakemsr

be explicit about configuring audio devices for full-duplex mode.

OK jmc@ (a while back)


# 1.44 17-Sep-2007 jakemsr

implement the output_muted member of audio_info_t as found in original
Sun audio.

input from and ok ratchov


# 1.43 12-Sep-2007 ratchov

add missing description of AUDIO_PERROR ioctl

reviewed (and corrected) by jakemsr@


Revision tags: OPENBSD_4_2_BASE
# 1.42 08-Aug-2007 jakemsr

revert the change in rev 1.60 of audio.c and the corresponding
documentation change

the audio layer is still too "imperfect" for this change

fixes problems reported aanriot, matthieu and dtucker

requested by deraadt


# 1.41 06-Jul-2007 jakemsr

- enable full-duplex mode by default if a device is opened
read-write and it supports full-duplex operation.
- update documentation to match this behaviour.

see http://marc.info/?l=openbsd-tech&m=118310788926431&w=2 for
more background on this change

"patches look correct to me" marc@


# 1.40 31-May-2007 jmc

convert to new .Dd format;


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.39 26-Apr-2006 jason

Xr azalia (thanks miod)


Revision tags: OPENBSD_3_9_BASE
# 1.38 19-Jan-2006 jakemsr

seek is a count of bytes, not samples

OK millert@


Revision tags: OPENBSD_3_8_BASE
# 1.37 08-Aug-2005 mickey

more xr auipx i missed to commit first round


Revision tags: OPENBSD_3_7_BASE
# 1.36 06-Nov-2004 brad

The audio(4) manpage says to use code that looks like
ioctl(fd, AUDIO_INITINFO, &info);
to initialize the audioinfo struct. This does not work as there
is no AUDIO_INITINFO ioctl command. Rather, the structure should be
initialized with something that looks like this:
AUDIO_INITINFO(&info);

From: Chris Kuethe <ckuethe at ualberta dot ca> in PR 3980


Revision tags: OPENBSD_3_6_BASE
# 1.35 04-Aug-2004 jaredy

- sync to netbsd
- update to reality
- grammar, punctuation, rewording
- since this page describes both the mixer and audio devices,
add mention of the mixer device in relevant places
- use standard conventions for documenting ioctls
- macro and other mdoc fixes
- add some unmentioned audio devices and other cross-refs to
"see also"

help and ok jmc

and add kernel config usage to synopsis (from deraadt)


Revision tags: OPENBSD_3_5_BASE
# 1.34 26-Jan-2004 jmc

missing thing from Jared Yanovich;
dhartmeier@ saved me from making a mess of this;


Revision tags: OPENBSD_3_4_BASE
# 1.33 09-Jul-2003 jmc

- fix lists/displays
- quote .Cd's
- add/remove .Pp's as necessary
- fix some .Re/.Rs's
- simplify macros


# 1.32 06-Jun-2003 jmc

- section reorder
- some macro fixes
- kill whitespace at EOL


# 1.31 25-Apr-2003 avsm

AUDIO_ENCODING_* is below, not above the struct description
jason@ ok


# 1.30 28-Mar-2003 jmc

mu-law and A-law spelling;
mu-law and u-law are the same, so used mu-law for consistency;

ok jason@


Revision tags: OPENBSD_3_3_BASE
# 1.29 14-Mar-2003 jmc

typos;

audio(4): ok naddy@
cardbus(4): ok deraadt@


# 1.28 13-Dec-2002 naddy

audio_prinfo.seek is int now; document and sync
ok miod@ millert@


Revision tags: OPENBSD_3_2_BASE
# 1.27 30-Jun-2002 miod

Do not end an enumerations of Xr with a dot, and do not let a dot hide
inside an enumeration as well.


# 1.26 30-Jun-2002 deraadt

Xr cleanup; seb@todesplanet.de


# 1.25 23-May-2002 mpech

'SEE ALSO' audit in 'share/man/':
o) sort;
o) "," is separator of entries;
o) don't use "." or "," in the last entry;

millert@ ok


Revision tags: OPENBSD_3_1_BASE
# 1.24 08-Apr-2002 frantzen

document the ESS Allegro-1 and Maestro-3 driver


# 1.23 12-Feb-2002 mpech

fix style in .SYNOPSIS. Spotted by grange@grange.ru

deraadt@ ok


# 1.22 26-Nov-2001 mickey

add autri.4, from netbsd


# 1.21 13-Nov-2001 deraadt

kill BUGS sections that basically say "there might be bugs". Like, WTF?


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.20 07-Mar-2001 todd

spelling


# 1.19 01-Mar-2001 aaron

A slew of share/ man page fixes; nordin@cse.ogi.edu. These have been sitting
in my INBOX since Nov 6, 2000, probably forgot about them since the tree was
frozen at that time.


# 1.18 13-Jan-2001 aaron

Driver for Cirrus Logic CS4281 sound chips. Originally written for NetBSD by
Tatoku Ogaito, banged into shape for OpenBSD by me. Recording has not been
tested yet, but mpg123 works fine. Sound still works after suspend/resume.

XXX: On the IBM ThinkPad X20, must disable pcibios else the cs4281 won't
generate interrupts. Cause yet unknown but probably not the driver's fault.
YMMV on other laptops with this chip.


# 1.17 13-Jan-2001 espie

Preliminary man page for maestro. Link it.
Keep alphabetical order in audio.4 while we're at it :)


# 1.16 11-Jan-2001 deraadt

move ich to auich at mickey's request


# 1.15 09-Jan-2001 espie

More complete synopsis, ok millert@,aaron@


Revision tags: OPENBSD_2_8_BASE
# 1.14 18-Oct-2000 aaron

- Arguments to .Nd should go on the same line as .Nd.
- Standardize Nd format for all Ethernet man pages for easy man -k'ing.


# 1.13 13-Oct-2000 aaron

Purely mdoc fixes.


# 1.12 30-May-2000 mickey

Xr pci audio drivers


Revision tags: OPENBSD_2_7_BASE
# 1.11 27-Apr-2000 mickey

xr audio(9)


# 1.10 30-Mar-2000 alex

buffersize -> buffer_size


Revision tags: OPENBSD_2_6_BASE
# 1.9 09-Jul-1999 aaron

- remove all trailing whitespace
* except when it is escaped with a `\' at the end of the line
- fix remaining .Nm usage as well
- this is from a patch I received from kwesterback@home.com, who has been
working on some scripts for fixing formatting errors in mdoc'd man pages

Ok, so there could be a cost/benefit debate with this commit, but since I have
the patch we might as well commit it...


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.8 05-Sep-1998 deraadt

more man page repairs; aaron@ug.cs.dal.ca


# 1.7 02-Jun-1998 provos

cross reference audioctl(1) and mixerctl(1), add info about mixer_level_t
which has been missing for all these years. augustss.


# 1.6 05-May-1998 provos

.Xr ossaudio 3


# 1.5 30-Apr-1998 provos

update man page to reality, from NetBSD, mostly by Lennart Augustsson
<augustss@cs.chalmers.se>.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.4 16-Jun-1996 deraadt

fix includes and device names; netbsd pr#2523; jhawk@mit.edu


# 1.3 29-Mar-1996 niklas

From NetBSD: merge of 960317


# 1.2 22-Feb-1996 niklas

From NetBSD:
Fix typo, from John Kohl. Closes PR 2066.


# 1.1 13-Nov-1995 deraadt

generic audio man page; from jtk@kolvir.arlington.ma.us; netbsd pr#1752


# 1.86 01-Nov-2020 jmc

some comma fixes; from varik valefor
(audio.4 tweaked from that submitted)


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.85 22-Apr-2020 jmc

sort SEE ALSO;


# 1.84 21-Apr-2020 deraadt

move mixerctl and audioctl man pages to section 8, as these work
against root-only device nodes.


# 1.83 20-Apr-2020 ratchov

Remove references to the mixer device, rework control device section

Add the missing paragraph to explain that the control device may be
read. Add the missing .Xr to sndioctl and sioctl_open.

ok and tweaks jmc@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.82 05-Aug-2018 ratchov

Mention ioctls that don't work for the control device.

ok jmc


# 1.81 05-Aug-2018 ratchov

Use english words instead of file names.

ok jmc


# 1.80 05-Aug-2018 ratchov

Remove obvious or repeating sentinces.

ok jmc


# 1.79 30-Jul-2018 jmc

catch up with the symlink removal of /dev/{audio,mixer};
ok ratchov


# 1.78 22-Jul-2018 schwarze

cross reference sndio(7) and sndiod(8); from weerd@;
OK ratchov@ jmc@ (who are both busy)


# 1.77 27-May-2018 ratchov

Mention that only superuser may control record.enable knob.

help from and ok schwarze


# 1.76 26-May-2018 ratchov

Document the new "record.enable" mixer knob.

help from and ok schwarze


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.75 08-Sep-2016 ratchov

Remove reference to /dev/sound*. With tweaks from jmc@, thanks.


# 1.74 08-Sep-2016 ratchov

While /dev/audio is in use, /dev/audioctl has read-only access to
device variables.


# 1.73 01-Sep-2016 ratchov

Fix typo: replace AUDIO_GETINFO by AUDIO_GETPAR.


# 1.72 31-Aug-2016 ratchov

Delete unused ioctls and associated macros. Move macros that are still
used internally by low-level drivers from sys/audioio.h to
dev/audio_if.h instead of deleting them.


Revision tags: OPENBSD_6_0_BASE
# 1.71 18-Jun-2016 ratchov

Add a new AUDIO_GETSTATUS ioctl to get various audio driver variables.
It's intended for use with diagnostic tools (like audioctl) and is of
no use to audio programs.


# 1.70 16-Mar-2016 jmc

knock out unused Pp in previous;


# 1.69 16-Mar-2016 ratchov

Expose new audio ioctls that do one thing only: start and stop DMA,
set and get parameters. This is much simpler.

ok semarie, armani, tweaks from jmc


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.68 28-Jul-2015 ratchov

Add the AUDIO_GETPOS ioctl() to fetch a snapshot of the 4 counters
returned by AUDIO_GETxOFFS and AUDIO_xERROR ioctls.

ok deraadt


# 1.67 27-Jul-2015 ratchov

Remove sections that describe features we don't support any longer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.66 28-Jun-2014 matthew

espie points out <string.h> is needed for the AUDIO_INITINFO() macro


# 1.65 28-Jun-2014 jmc

Dv blah , Dv bleh
is more simply written as
Dv blah , bleh


# 1.64 28-Jun-2014 matthew

audio(4) has nothing to do with <string.h>


Revision tags: OPENBSD_5_5_BASE
# 1.63 28-Aug-2013 jmc

wording fix; original diff from remco, but i've reworded it to read better
ok ratchov


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.62 15-Jul-2010 jakemsr

add two new members to structs audio_encoding and audio_prinfo.
for both structs, the new members are 'bps' and 'msb', which
describe the number of bytes per sample and data alignment in the
sample, respectively. drivers must properly set these fields in
the 'query_encoding', 'set_parameters' and 'get_default_params'
hardware interface methods.

discussed with ratchov, deraadt


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.61 27-Jun-2009 jmc

sync description of struct audio_prinfo;
reported by frederic, documentation/6179


# 1.60 24-Mar-2009 sobrado

fix a few typographical errors.

ok jmc@


Revision tags: OPENBSD_4_5_BASE
# 1.59 17-Jan-2009 jmc

typo fix - ok jakemsr - and add a comma;


# 1.58 16-Jan-2009 jakemsr

deal with sample precisions that are not a power of 2.

discussed with and ok ratchov; manpage tweak from naddy, thanks


# 1.57 27-Oct-2008 jmc

sa_open -> sio_open, after recent changes;


# 1.56 26-Oct-2008 jmc

add some audio/libsa cross refs;


Revision tags: OPENBSD_4_4_BASE
# 1.55 26-Jun-2008 ray

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@


# 1.54 26-May-2008 jmc

tweak previous;


# 1.53 26-May-2008 jakemsr

explain why, even though we support "sticky" block sizes, setting block
sizes before other parameters can cause problems.

ok ratchov@


# 1.52 21-Apr-2008 jakemsr

allow low level audio drivers to specify a default sample format,
instead of 8-bit mono mulaw @ 8kHz.

this is just the infrastructure; no drivers are specifying a default
yet.

ok ratchov@, deanna@


# 1.51 22-Mar-2008 ratchov

add audio(4) driver the ability to use different block sizes for play and
record modes. This makes possible to have blocks of the same duration if the
play and record formats are different. The API change is backward
compatible, so it shouldn't be noticed by current audio ports.

ok jakemsr


Revision tags: OPENBSD_4_3_BASE
# 1.50 06-Dec-2007 deanna

Remove incomplete device Xr list. The device pages already reference
audio(4), and the bus pages reference the devices, so there's no need
for audio(4) to try to keep up.

Requested by & ok jmc@


# 1.49 03-Nov-2007 jmc

add aucat(1) and cdio(1) to SEE ALSO;


# 1.48 28-Oct-2007 ratchov

add new envy(4) man page

ok jmc@, ok deraadt@


# 1.47 08-Oct-2007 jakemsr

explain that AUDIO_GET[PR]RINFO were added for porting 3rd party
software and should be avoided in new code

suggested by ratchov@, help from jmc@


# 1.46 03-Oct-2007 jakemsr

add two new audio ioctls, AUDIO_GETPRINFO and AUDIO_GETRRINFO, and the
data structure these ioctls use, audio_bufinfo.

these ioctls return information about the play and record buffers
into the audio_bufinfo structure.

these are being added to aid in porting non-native audio applications
and libraries, and to fix issues in our OSS audio emulation. these
ioctls exist only on OpenBSD and should not be used in code intended
for distribution.

ok ratchov


# 1.45 28-Sep-2007 jakemsr

be explicit about configuring audio devices for full-duplex mode.

OK jmc@ (a while back)


# 1.44 17-Sep-2007 jakemsr

implement the output_muted member of audio_info_t as found in original
Sun audio.

input from and ok ratchov


# 1.43 12-Sep-2007 ratchov

add missing description of AUDIO_PERROR ioctl

reviewed (and corrected) by jakemsr@


Revision tags: OPENBSD_4_2_BASE
# 1.42 08-Aug-2007 jakemsr

revert the change in rev 1.60 of audio.c and the corresponding
documentation change

the audio layer is still too "imperfect" for this change

fixes problems reported aanriot, matthieu and dtucker

requested by deraadt


# 1.41 06-Jul-2007 jakemsr

- enable full-duplex mode by default if a device is opened
read-write and it supports full-duplex operation.
- update documentation to match this behaviour.

see http://marc.info/?l=openbsd-tech&m=118310788926431&w=2 for
more background on this change

"patches look correct to me" marc@


# 1.40 31-May-2007 jmc

convert to new .Dd format;


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.39 26-Apr-2006 jason

Xr azalia (thanks miod)


Revision tags: OPENBSD_3_9_BASE
# 1.38 19-Jan-2006 jakemsr

seek is a count of bytes, not samples

OK millert@


Revision tags: OPENBSD_3_8_BASE
# 1.37 08-Aug-2005 mickey

more xr auipx i missed to commit first round


Revision tags: OPENBSD_3_7_BASE
# 1.36 06-Nov-2004 brad

The audio(4) manpage says to use code that looks like
ioctl(fd, AUDIO_INITINFO, &info);
to initialize the audioinfo struct. This does not work as there
is no AUDIO_INITINFO ioctl command. Rather, the structure should be
initialized with something that looks like this:
AUDIO_INITINFO(&info);

From: Chris Kuethe <ckuethe at ualberta dot ca> in PR 3980


Revision tags: OPENBSD_3_6_BASE
# 1.35 04-Aug-2004 jaredy

- sync to netbsd
- update to reality
- grammar, punctuation, rewording
- since this page describes both the mixer and audio devices,
add mention of the mixer device in relevant places
- use standard conventions for documenting ioctls
- macro and other mdoc fixes
- add some unmentioned audio devices and other cross-refs to
"see also"

help and ok jmc

and add kernel config usage to synopsis (from deraadt)


Revision tags: OPENBSD_3_5_BASE
# 1.34 26-Jan-2004 jmc

missing thing from Jared Yanovich;
dhartmeier@ saved me from making a mess of this;


Revision tags: OPENBSD_3_4_BASE
# 1.33 09-Jul-2003 jmc

- fix lists/displays
- quote .Cd's
- add/remove .Pp's as necessary
- fix some .Re/.Rs's
- simplify macros


# 1.32 06-Jun-2003 jmc

- section reorder
- some macro fixes
- kill whitespace at EOL


# 1.31 25-Apr-2003 avsm

AUDIO_ENCODING_* is below, not above the struct description
jason@ ok


# 1.30 28-Mar-2003 jmc

mu-law and A-law spelling;
mu-law and u-law are the same, so used mu-law for consistency;

ok jason@


Revision tags: OPENBSD_3_3_BASE
# 1.29 14-Mar-2003 jmc

typos;

audio(4): ok naddy@
cardbus(4): ok deraadt@


# 1.28 13-Dec-2002 naddy

audio_prinfo.seek is int now; document and sync
ok miod@ millert@


Revision tags: OPENBSD_3_2_BASE
# 1.27 30-Jun-2002 miod

Do not end an enumerations of Xr with a dot, and do not let a dot hide
inside an enumeration as well.


# 1.26 30-Jun-2002 deraadt

Xr cleanup; seb@todesplanet.de


# 1.25 23-May-2002 mpech

'SEE ALSO' audit in 'share/man/':
o) sort;
o) "," is separator of entries;
o) don't use "." or "," in the last entry;

millert@ ok


Revision tags: OPENBSD_3_1_BASE
# 1.24 08-Apr-2002 frantzen

document the ESS Allegro-1 and Maestro-3 driver


# 1.23 12-Feb-2002 mpech

fix style in .SYNOPSIS. Spotted by grange@grange.ru

deraadt@ ok


# 1.22 26-Nov-2001 mickey

add autri.4, from netbsd


# 1.21 13-Nov-2001 deraadt

kill BUGS sections that basically say "there might be bugs". Like, WTF?


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.20 07-Mar-2001 todd

spelling


# 1.19 01-Mar-2001 aaron

A slew of share/ man page fixes; nordin@cse.ogi.edu. These have been sitting
in my INBOX since Nov 6, 2000, probably forgot about them since the tree was
frozen at that time.


# 1.18 13-Jan-2001 aaron

Driver for Cirrus Logic CS4281 sound chips. Originally written for NetBSD by
Tatoku Ogaito, banged into shape for OpenBSD by me. Recording has not been
tested yet, but mpg123 works fine. Sound still works after suspend/resume.

XXX: On the IBM ThinkPad X20, must disable pcibios else the cs4281 won't
generate interrupts. Cause yet unknown but probably not the driver's fault.
YMMV on other laptops with this chip.


# 1.17 13-Jan-2001 espie

Preliminary man page for maestro. Link it.
Keep alphabetical order in audio.4 while we're at it :)


# 1.16 11-Jan-2001 deraadt

move ich to auich at mickey's request


# 1.15 09-Jan-2001 espie

More complete synopsis, ok millert@,aaron@


Revision tags: OPENBSD_2_8_BASE
# 1.14 18-Oct-2000 aaron

- Arguments to .Nd should go on the same line as .Nd.
- Standardize Nd format for all Ethernet man pages for easy man -k'ing.


# 1.13 13-Oct-2000 aaron

Purely mdoc fixes.


# 1.12 30-May-2000 mickey

Xr pci audio drivers


Revision tags: OPENBSD_2_7_BASE
# 1.11 27-Apr-2000 mickey

xr audio(9)


# 1.10 30-Mar-2000 alex

buffersize -> buffer_size


Revision tags: OPENBSD_2_6_BASE
# 1.9 09-Jul-1999 aaron

- remove all trailing whitespace
* except when it is escaped with a `\' at the end of the line
- fix remaining .Nm usage as well
- this is from a patch I received from kwesterback@home.com, who has been
working on some scripts for fixing formatting errors in mdoc'd man pages

Ok, so there could be a cost/benefit debate with this commit, but since I have
the patch we might as well commit it...


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.8 05-Sep-1998 deraadt

more man page repairs; aaron@ug.cs.dal.ca


# 1.7 02-Jun-1998 provos

cross reference audioctl(1) and mixerctl(1), add info about mixer_level_t
which has been missing for all these years. augustss.


# 1.6 05-May-1998 provos

.Xr ossaudio 3


# 1.5 30-Apr-1998 provos

update man page to reality, from NetBSD, mostly by Lennart Augustsson
<augustss@cs.chalmers.se>.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.4 16-Jun-1996 deraadt

fix includes and device names; netbsd pr#2523; jhawk@mit.edu


# 1.3 29-Mar-1996 niklas

From NetBSD: merge of 960317


# 1.2 22-Feb-1996 niklas

From NetBSD:
Fix typo, from John Kohl. Closes PR 2066.


# 1.1 13-Nov-1995 deraadt

generic audio man page; from jtk@kolvir.arlington.ma.us; netbsd pr#1752


# 1.85 22-Apr-2020 jmc

sort SEE ALSO;


# 1.84 21-Apr-2020 deraadt

move mixerctl and audioctl man pages to section 8, as these work
against root-only device nodes.


# 1.83 20-Apr-2020 ratchov

Remove references to the mixer device, rework control device section

Add the missing paragraph to explain that the control device may be
read. Add the missing .Xr to sndioctl and sioctl_open.

ok and tweaks jmc@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.82 05-Aug-2018 ratchov

Mention ioctls that don't work for the control device.

ok jmc


# 1.81 05-Aug-2018 ratchov

Use english words instead of file names.

ok jmc


# 1.80 05-Aug-2018 ratchov

Remove obvious or repeating sentinces.

ok jmc


# 1.79 30-Jul-2018 jmc

catch up with the symlink removal of /dev/{audio,mixer};
ok ratchov


# 1.78 22-Jul-2018 schwarze

cross reference sndio(7) and sndiod(8); from weerd@;
OK ratchov@ jmc@ (who are both busy)


# 1.77 27-May-2018 ratchov

Mention that only superuser may control record.enable knob.

help from and ok schwarze


# 1.76 26-May-2018 ratchov

Document the new "record.enable" mixer knob.

help from and ok schwarze


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.75 08-Sep-2016 ratchov

Remove reference to /dev/sound*. With tweaks from jmc@, thanks.


# 1.74 08-Sep-2016 ratchov

While /dev/audio is in use, /dev/audioctl has read-only access to
device variables.


# 1.73 01-Sep-2016 ratchov

Fix typo: replace AUDIO_GETINFO by AUDIO_GETPAR.


# 1.72 31-Aug-2016 ratchov

Delete unused ioctls and associated macros. Move macros that are still
used internally by low-level drivers from sys/audioio.h to
dev/audio_if.h instead of deleting them.


Revision tags: OPENBSD_6_0_BASE
# 1.71 18-Jun-2016 ratchov

Add a new AUDIO_GETSTATUS ioctl to get various audio driver variables.
It's intended for use with diagnostic tools (like audioctl) and is of
no use to audio programs.


# 1.70 16-Mar-2016 jmc

knock out unused Pp in previous;


# 1.69 16-Mar-2016 ratchov

Expose new audio ioctls that do one thing only: start and stop DMA,
set and get parameters. This is much simpler.

ok semarie, armani, tweaks from jmc


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.68 28-Jul-2015 ratchov

Add the AUDIO_GETPOS ioctl() to fetch a snapshot of the 4 counters
returned by AUDIO_GETxOFFS and AUDIO_xERROR ioctls.

ok deraadt


# 1.67 27-Jul-2015 ratchov

Remove sections that describe features we don't support any longer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.66 28-Jun-2014 matthew

espie points out <string.h> is needed for the AUDIO_INITINFO() macro


# 1.65 28-Jun-2014 jmc

Dv blah , Dv bleh
is more simply written as
Dv blah , bleh


# 1.64 28-Jun-2014 matthew

audio(4) has nothing to do with <string.h>


Revision tags: OPENBSD_5_5_BASE
# 1.63 28-Aug-2013 jmc

wording fix; original diff from remco, but i've reworded it to read better
ok ratchov


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.62 15-Jul-2010 jakemsr

add two new members to structs audio_encoding and audio_prinfo.
for both structs, the new members are 'bps' and 'msb', which
describe the number of bytes per sample and data alignment in the
sample, respectively. drivers must properly set these fields in
the 'query_encoding', 'set_parameters' and 'get_default_params'
hardware interface methods.

discussed with ratchov, deraadt


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.61 27-Jun-2009 jmc

sync description of struct audio_prinfo;
reported by frederic, documentation/6179


# 1.60 24-Mar-2009 sobrado

fix a few typographical errors.

ok jmc@


Revision tags: OPENBSD_4_5_BASE
# 1.59 17-Jan-2009 jmc

typo fix - ok jakemsr - and add a comma;


# 1.58 16-Jan-2009 jakemsr

deal with sample precisions that are not a power of 2.

discussed with and ok ratchov; manpage tweak from naddy, thanks


# 1.57 27-Oct-2008 jmc

sa_open -> sio_open, after recent changes;


# 1.56 26-Oct-2008 jmc

add some audio/libsa cross refs;


Revision tags: OPENBSD_4_4_BASE
# 1.55 26-Jun-2008 ray

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@


# 1.54 26-May-2008 jmc

tweak previous;


# 1.53 26-May-2008 jakemsr

explain why, even though we support "sticky" block sizes, setting block
sizes before other parameters can cause problems.

ok ratchov@


# 1.52 21-Apr-2008 jakemsr

allow low level audio drivers to specify a default sample format,
instead of 8-bit mono mulaw @ 8kHz.

this is just the infrastructure; no drivers are specifying a default
yet.

ok ratchov@, deanna@


# 1.51 22-Mar-2008 ratchov

add audio(4) driver the ability to use different block sizes for play and
record modes. This makes possible to have blocks of the same duration if the
play and record formats are different. The API change is backward
compatible, so it shouldn't be noticed by current audio ports.

ok jakemsr


Revision tags: OPENBSD_4_3_BASE
# 1.50 06-Dec-2007 deanna

Remove incomplete device Xr list. The device pages already reference
audio(4), and the bus pages reference the devices, so there's no need
for audio(4) to try to keep up.

Requested by & ok jmc@


# 1.49 03-Nov-2007 jmc

add aucat(1) and cdio(1) to SEE ALSO;


# 1.48 28-Oct-2007 ratchov

add new envy(4) man page

ok jmc@, ok deraadt@


# 1.47 08-Oct-2007 jakemsr

explain that AUDIO_GET[PR]RINFO were added for porting 3rd party
software and should be avoided in new code

suggested by ratchov@, help from jmc@


# 1.46 03-Oct-2007 jakemsr

add two new audio ioctls, AUDIO_GETPRINFO and AUDIO_GETRRINFO, and the
data structure these ioctls use, audio_bufinfo.

these ioctls return information about the play and record buffers
into the audio_bufinfo structure.

these are being added to aid in porting non-native audio applications
and libraries, and to fix issues in our OSS audio emulation. these
ioctls exist only on OpenBSD and should not be used in code intended
for distribution.

ok ratchov


# 1.45 28-Sep-2007 jakemsr

be explicit about configuring audio devices for full-duplex mode.

OK jmc@ (a while back)


# 1.44 17-Sep-2007 jakemsr

implement the output_muted member of audio_info_t as found in original
Sun audio.

input from and ok ratchov


# 1.43 12-Sep-2007 ratchov

add missing description of AUDIO_PERROR ioctl

reviewed (and corrected) by jakemsr@


Revision tags: OPENBSD_4_2_BASE
# 1.42 08-Aug-2007 jakemsr

revert the change in rev 1.60 of audio.c and the corresponding
documentation change

the audio layer is still too "imperfect" for this change

fixes problems reported aanriot, matthieu and dtucker

requested by deraadt


# 1.41 06-Jul-2007 jakemsr

- enable full-duplex mode by default if a device is opened
read-write and it supports full-duplex operation.
- update documentation to match this behaviour.

see http://marc.info/?l=openbsd-tech&m=118310788926431&w=2 for
more background on this change

"patches look correct to me" marc@


# 1.40 31-May-2007 jmc

convert to new .Dd format;


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.39 26-Apr-2006 jason

Xr azalia (thanks miod)


Revision tags: OPENBSD_3_9_BASE
# 1.38 19-Jan-2006 jakemsr

seek is a count of bytes, not samples

OK millert@


Revision tags: OPENBSD_3_8_BASE
# 1.37 08-Aug-2005 mickey

more xr auipx i missed to commit first round


Revision tags: OPENBSD_3_7_BASE
# 1.36 06-Nov-2004 brad

The audio(4) manpage says to use code that looks like
ioctl(fd, AUDIO_INITINFO, &info);
to initialize the audioinfo struct. This does not work as there
is no AUDIO_INITINFO ioctl command. Rather, the structure should be
initialized with something that looks like this:
AUDIO_INITINFO(&info);

From: Chris Kuethe <ckuethe at ualberta dot ca> in PR 3980


Revision tags: OPENBSD_3_6_BASE
# 1.35 04-Aug-2004 jaredy

- sync to netbsd
- update to reality
- grammar, punctuation, rewording
- since this page describes both the mixer and audio devices,
add mention of the mixer device in relevant places
- use standard conventions for documenting ioctls
- macro and other mdoc fixes
- add some unmentioned audio devices and other cross-refs to
"see also"

help and ok jmc

and add kernel config usage to synopsis (from deraadt)


Revision tags: OPENBSD_3_5_BASE
# 1.34 26-Jan-2004 jmc

missing thing from Jared Yanovich;
dhartmeier@ saved me from making a mess of this;


Revision tags: OPENBSD_3_4_BASE
# 1.33 09-Jul-2003 jmc

- fix lists/displays
- quote .Cd's
- add/remove .Pp's as necessary
- fix some .Re/.Rs's
- simplify macros


# 1.32 06-Jun-2003 jmc

- section reorder
- some macro fixes
- kill whitespace at EOL


# 1.31 25-Apr-2003 avsm

AUDIO_ENCODING_* is below, not above the struct description
jason@ ok


# 1.30 28-Mar-2003 jmc

mu-law and A-law spelling;
mu-law and u-law are the same, so used mu-law for consistency;

ok jason@


Revision tags: OPENBSD_3_3_BASE
# 1.29 14-Mar-2003 jmc

typos;

audio(4): ok naddy@
cardbus(4): ok deraadt@


# 1.28 13-Dec-2002 naddy

audio_prinfo.seek is int now; document and sync
ok miod@ millert@


Revision tags: OPENBSD_3_2_BASE
# 1.27 30-Jun-2002 miod

Do not end an enumerations of Xr with a dot, and do not let a dot hide
inside an enumeration as well.


# 1.26 30-Jun-2002 deraadt

Xr cleanup; seb@todesplanet.de


# 1.25 23-May-2002 mpech

'SEE ALSO' audit in 'share/man/':
o) sort;
o) "," is separator of entries;
o) don't use "." or "," in the last entry;

millert@ ok


Revision tags: OPENBSD_3_1_BASE
# 1.24 08-Apr-2002 frantzen

document the ESS Allegro-1 and Maestro-3 driver


# 1.23 12-Feb-2002 mpech

fix style in .SYNOPSIS. Spotted by grange@grange.ru

deraadt@ ok


# 1.22 26-Nov-2001 mickey

add autri.4, from netbsd


# 1.21 13-Nov-2001 deraadt

kill BUGS sections that basically say "there might be bugs". Like, WTF?


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.20 07-Mar-2001 todd

spelling


# 1.19 01-Mar-2001 aaron

A slew of share/ man page fixes; nordin@cse.ogi.edu. These have been sitting
in my INBOX since Nov 6, 2000, probably forgot about them since the tree was
frozen at that time.


# 1.18 13-Jan-2001 aaron

Driver for Cirrus Logic CS4281 sound chips. Originally written for NetBSD by
Tatoku Ogaito, banged into shape for OpenBSD by me. Recording has not been
tested yet, but mpg123 works fine. Sound still works after suspend/resume.

XXX: On the IBM ThinkPad X20, must disable pcibios else the cs4281 won't
generate interrupts. Cause yet unknown but probably not the driver's fault.
YMMV on other laptops with this chip.


# 1.17 13-Jan-2001 espie

Preliminary man page for maestro. Link it.
Keep alphabetical order in audio.4 while we're at it :)


# 1.16 11-Jan-2001 deraadt

move ich to auich at mickey's request


# 1.15 09-Jan-2001 espie

More complete synopsis, ok millert@,aaron@


Revision tags: OPENBSD_2_8_BASE
# 1.14 18-Oct-2000 aaron

- Arguments to .Nd should go on the same line as .Nd.
- Standardize Nd format for all Ethernet man pages for easy man -k'ing.


# 1.13 13-Oct-2000 aaron

Purely mdoc fixes.


# 1.12 30-May-2000 mickey

Xr pci audio drivers


Revision tags: OPENBSD_2_7_BASE
# 1.11 27-Apr-2000 mickey

xr audio(9)


# 1.10 30-Mar-2000 alex

buffersize -> buffer_size


Revision tags: OPENBSD_2_6_BASE
# 1.9 09-Jul-1999 aaron

- remove all trailing whitespace
* except when it is escaped with a `\' at the end of the line
- fix remaining .Nm usage as well
- this is from a patch I received from kwesterback@home.com, who has been
working on some scripts for fixing formatting errors in mdoc'd man pages

Ok, so there could be a cost/benefit debate with this commit, but since I have
the patch we might as well commit it...


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.8 05-Sep-1998 deraadt

more man page repairs; aaron@ug.cs.dal.ca


# 1.7 02-Jun-1998 provos

cross reference audioctl(1) and mixerctl(1), add info about mixer_level_t
which has been missing for all these years. augustss.


# 1.6 05-May-1998 provos

.Xr ossaudio 3


# 1.5 30-Apr-1998 provos

update man page to reality, from NetBSD, mostly by Lennart Augustsson
<augustss@cs.chalmers.se>.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.4 16-Jun-1996 deraadt

fix includes and device names; netbsd pr#2523; jhawk@mit.edu


# 1.3 29-Mar-1996 niklas

From NetBSD: merge of 960317


# 1.2 22-Feb-1996 niklas

From NetBSD:
Fix typo, from John Kohl. Closes PR 2066.


# 1.1 13-Nov-1995 deraadt

generic audio man page; from jtk@kolvir.arlington.ma.us; netbsd pr#1752


# 1.83 20-Apr-2020 ratchov

Remove references to the mixer device, rework control device section

Add the missing paragraph to explain that the control device may be
read. Add the missing .Xr to sndioctl and sioctl_open.

ok and tweaks jmc@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.82 05-Aug-2018 ratchov

Mention ioctls that don't work for the control device.

ok jmc


# 1.81 05-Aug-2018 ratchov

Use english words instead of file names.

ok jmc


# 1.80 05-Aug-2018 ratchov

Remove obvious or repeating sentinces.

ok jmc


# 1.79 30-Jul-2018 jmc

catch up with the symlink removal of /dev/{audio,mixer};
ok ratchov


# 1.78 22-Jul-2018 schwarze

cross reference sndio(7) and sndiod(8); from weerd@;
OK ratchov@ jmc@ (who are both busy)


# 1.77 27-May-2018 ratchov

Mention that only superuser may control record.enable knob.

help from and ok schwarze


# 1.76 26-May-2018 ratchov

Document the new "record.enable" mixer knob.

help from and ok schwarze


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.75 08-Sep-2016 ratchov

Remove reference to /dev/sound*. With tweaks from jmc@, thanks.


# 1.74 08-Sep-2016 ratchov

While /dev/audio is in use, /dev/audioctl has read-only access to
device variables.


# 1.73 01-Sep-2016 ratchov

Fix typo: replace AUDIO_GETINFO by AUDIO_GETPAR.


# 1.72 31-Aug-2016 ratchov

Delete unused ioctls and associated macros. Move macros that are still
used internally by low-level drivers from sys/audioio.h to
dev/audio_if.h instead of deleting them.


Revision tags: OPENBSD_6_0_BASE
# 1.71 18-Jun-2016 ratchov

Add a new AUDIO_GETSTATUS ioctl to get various audio driver variables.
It's intended for use with diagnostic tools (like audioctl) and is of
no use to audio programs.


# 1.70 16-Mar-2016 jmc

knock out unused Pp in previous;


# 1.69 16-Mar-2016 ratchov

Expose new audio ioctls that do one thing only: start and stop DMA,
set and get parameters. This is much simpler.

ok semarie, armani, tweaks from jmc


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.68 28-Jul-2015 ratchov

Add the AUDIO_GETPOS ioctl() to fetch a snapshot of the 4 counters
returned by AUDIO_GETxOFFS and AUDIO_xERROR ioctls.

ok deraadt


# 1.67 27-Jul-2015 ratchov

Remove sections that describe features we don't support any longer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.66 28-Jun-2014 matthew

espie points out <string.h> is needed for the AUDIO_INITINFO() macro


# 1.65 28-Jun-2014 jmc

Dv blah , Dv bleh
is more simply written as
Dv blah , bleh


# 1.64 28-Jun-2014 matthew

audio(4) has nothing to do with <string.h>


Revision tags: OPENBSD_5_5_BASE
# 1.63 28-Aug-2013 jmc

wording fix; original diff from remco, but i've reworded it to read better
ok ratchov


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.62 15-Jul-2010 jakemsr

add two new members to structs audio_encoding and audio_prinfo.
for both structs, the new members are 'bps' and 'msb', which
describe the number of bytes per sample and data alignment in the
sample, respectively. drivers must properly set these fields in
the 'query_encoding', 'set_parameters' and 'get_default_params'
hardware interface methods.

discussed with ratchov, deraadt


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.61 27-Jun-2009 jmc

sync description of struct audio_prinfo;
reported by frederic, documentation/6179


# 1.60 24-Mar-2009 sobrado

fix a few typographical errors.

ok jmc@


Revision tags: OPENBSD_4_5_BASE
# 1.59 17-Jan-2009 jmc

typo fix - ok jakemsr - and add a comma;


# 1.58 16-Jan-2009 jakemsr

deal with sample precisions that are not a power of 2.

discussed with and ok ratchov; manpage tweak from naddy, thanks


# 1.57 27-Oct-2008 jmc

sa_open -> sio_open, after recent changes;


# 1.56 26-Oct-2008 jmc

add some audio/libsa cross refs;


Revision tags: OPENBSD_4_4_BASE
# 1.55 26-Jun-2008 ray

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@


# 1.54 26-May-2008 jmc

tweak previous;


# 1.53 26-May-2008 jakemsr

explain why, even though we support "sticky" block sizes, setting block
sizes before other parameters can cause problems.

ok ratchov@


# 1.52 21-Apr-2008 jakemsr

allow low level audio drivers to specify a default sample format,
instead of 8-bit mono mulaw @ 8kHz.

this is just the infrastructure; no drivers are specifying a default
yet.

ok ratchov@, deanna@


# 1.51 22-Mar-2008 ratchov

add audio(4) driver the ability to use different block sizes for play and
record modes. This makes possible to have blocks of the same duration if the
play and record formats are different. The API change is backward
compatible, so it shouldn't be noticed by current audio ports.

ok jakemsr


Revision tags: OPENBSD_4_3_BASE
# 1.50 06-Dec-2007 deanna

Remove incomplete device Xr list. The device pages already reference
audio(4), and the bus pages reference the devices, so there's no need
for audio(4) to try to keep up.

Requested by & ok jmc@


# 1.49 03-Nov-2007 jmc

add aucat(1) and cdio(1) to SEE ALSO;


# 1.48 28-Oct-2007 ratchov

add new envy(4) man page

ok jmc@, ok deraadt@


# 1.47 08-Oct-2007 jakemsr

explain that AUDIO_GET[PR]RINFO were added for porting 3rd party
software and should be avoided in new code

suggested by ratchov@, help from jmc@


# 1.46 03-Oct-2007 jakemsr

add two new audio ioctls, AUDIO_GETPRINFO and AUDIO_GETRRINFO, and the
data structure these ioctls use, audio_bufinfo.

these ioctls return information about the play and record buffers
into the audio_bufinfo structure.

these are being added to aid in porting non-native audio applications
and libraries, and to fix issues in our OSS audio emulation. these
ioctls exist only on OpenBSD and should not be used in code intended
for distribution.

ok ratchov


# 1.45 28-Sep-2007 jakemsr

be explicit about configuring audio devices for full-duplex mode.

OK jmc@ (a while back)


# 1.44 17-Sep-2007 jakemsr

implement the output_muted member of audio_info_t as found in original
Sun audio.

input from and ok ratchov


# 1.43 12-Sep-2007 ratchov

add missing description of AUDIO_PERROR ioctl

reviewed (and corrected) by jakemsr@


Revision tags: OPENBSD_4_2_BASE
# 1.42 08-Aug-2007 jakemsr

revert the change in rev 1.60 of audio.c and the corresponding
documentation change

the audio layer is still too "imperfect" for this change

fixes problems reported aanriot, matthieu and dtucker

requested by deraadt


# 1.41 06-Jul-2007 jakemsr

- enable full-duplex mode by default if a device is opened
read-write and it supports full-duplex operation.
- update documentation to match this behaviour.

see http://marc.info/?l=openbsd-tech&m=118310788926431&w=2 for
more background on this change

"patches look correct to me" marc@


# 1.40 31-May-2007 jmc

convert to new .Dd format;


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.39 26-Apr-2006 jason

Xr azalia (thanks miod)


Revision tags: OPENBSD_3_9_BASE
# 1.38 19-Jan-2006 jakemsr

seek is a count of bytes, not samples

OK millert@


Revision tags: OPENBSD_3_8_BASE
# 1.37 08-Aug-2005 mickey

more xr auipx i missed to commit first round


Revision tags: OPENBSD_3_7_BASE
# 1.36 06-Nov-2004 brad

The audio(4) manpage says to use code that looks like
ioctl(fd, AUDIO_INITINFO, &info);
to initialize the audioinfo struct. This does not work as there
is no AUDIO_INITINFO ioctl command. Rather, the structure should be
initialized with something that looks like this:
AUDIO_INITINFO(&info);

From: Chris Kuethe <ckuethe at ualberta dot ca> in PR 3980


Revision tags: OPENBSD_3_6_BASE
# 1.35 04-Aug-2004 jaredy

- sync to netbsd
- update to reality
- grammar, punctuation, rewording
- since this page describes both the mixer and audio devices,
add mention of the mixer device in relevant places
- use standard conventions for documenting ioctls
- macro and other mdoc fixes
- add some unmentioned audio devices and other cross-refs to
"see also"

help and ok jmc

and add kernel config usage to synopsis (from deraadt)


Revision tags: OPENBSD_3_5_BASE
# 1.34 26-Jan-2004 jmc

missing thing from Jared Yanovich;
dhartmeier@ saved me from making a mess of this;


Revision tags: OPENBSD_3_4_BASE
# 1.33 09-Jul-2003 jmc

- fix lists/displays
- quote .Cd's
- add/remove .Pp's as necessary
- fix some .Re/.Rs's
- simplify macros


# 1.32 06-Jun-2003 jmc

- section reorder
- some macro fixes
- kill whitespace at EOL


# 1.31 25-Apr-2003 avsm

AUDIO_ENCODING_* is below, not above the struct description
jason@ ok


# 1.30 28-Mar-2003 jmc

mu-law and A-law spelling;
mu-law and u-law are the same, so used mu-law for consistency;

ok jason@


Revision tags: OPENBSD_3_3_BASE
# 1.29 14-Mar-2003 jmc

typos;

audio(4): ok naddy@
cardbus(4): ok deraadt@


# 1.28 13-Dec-2002 naddy

audio_prinfo.seek is int now; document and sync
ok miod@ millert@


Revision tags: OPENBSD_3_2_BASE
# 1.27 30-Jun-2002 miod

Do not end an enumerations of Xr with a dot, and do not let a dot hide
inside an enumeration as well.


# 1.26 30-Jun-2002 deraadt

Xr cleanup; seb@todesplanet.de


# 1.25 23-May-2002 mpech

'SEE ALSO' audit in 'share/man/':
o) sort;
o) "," is separator of entries;
o) don't use "." or "," in the last entry;

millert@ ok


Revision tags: OPENBSD_3_1_BASE
# 1.24 08-Apr-2002 frantzen

document the ESS Allegro-1 and Maestro-3 driver


# 1.23 12-Feb-2002 mpech

fix style in .SYNOPSIS. Spotted by grange@grange.ru

deraadt@ ok


# 1.22 26-Nov-2001 mickey

add autri.4, from netbsd


# 1.21 13-Nov-2001 deraadt

kill BUGS sections that basically say "there might be bugs". Like, WTF?


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.20 07-Mar-2001 todd

spelling


# 1.19 01-Mar-2001 aaron

A slew of share/ man page fixes; nordin@cse.ogi.edu. These have been sitting
in my INBOX since Nov 6, 2000, probably forgot about them since the tree was
frozen at that time.


# 1.18 13-Jan-2001 aaron

Driver for Cirrus Logic CS4281 sound chips. Originally written for NetBSD by
Tatoku Ogaito, banged into shape for OpenBSD by me. Recording has not been
tested yet, but mpg123 works fine. Sound still works after suspend/resume.

XXX: On the IBM ThinkPad X20, must disable pcibios else the cs4281 won't
generate interrupts. Cause yet unknown but probably not the driver's fault.
YMMV on other laptops with this chip.


# 1.17 13-Jan-2001 espie

Preliminary man page for maestro. Link it.
Keep alphabetical order in audio.4 while we're at it :)


# 1.16 11-Jan-2001 deraadt

move ich to auich at mickey's request


# 1.15 09-Jan-2001 espie

More complete synopsis, ok millert@,aaron@


Revision tags: OPENBSD_2_8_BASE
# 1.14 18-Oct-2000 aaron

- Arguments to .Nd should go on the same line as .Nd.
- Standardize Nd format for all Ethernet man pages for easy man -k'ing.


# 1.13 13-Oct-2000 aaron

Purely mdoc fixes.


# 1.12 30-May-2000 mickey

Xr pci audio drivers


Revision tags: OPENBSD_2_7_BASE
# 1.11 27-Apr-2000 mickey

xr audio(9)


# 1.10 30-Mar-2000 alex

buffersize -> buffer_size


Revision tags: OPENBSD_2_6_BASE
# 1.9 09-Jul-1999 aaron

- remove all trailing whitespace
* except when it is escaped with a `\' at the end of the line
- fix remaining .Nm usage as well
- this is from a patch I received from kwesterback@home.com, who has been
working on some scripts for fixing formatting errors in mdoc'd man pages

Ok, so there could be a cost/benefit debate with this commit, but since I have
the patch we might as well commit it...


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.8 05-Sep-1998 deraadt

more man page repairs; aaron@ug.cs.dal.ca


# 1.7 02-Jun-1998 provos

cross reference audioctl(1) and mixerctl(1), add info about mixer_level_t
which has been missing for all these years. augustss.


# 1.6 05-May-1998 provos

.Xr ossaudio 3


# 1.5 30-Apr-1998 provos

update man page to reality, from NetBSD, mostly by Lennart Augustsson
<augustss@cs.chalmers.se>.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.4 16-Jun-1996 deraadt

fix includes and device names; netbsd pr#2523; jhawk@mit.edu


# 1.3 29-Mar-1996 niklas

From NetBSD: merge of 960317


# 1.2 22-Feb-1996 niklas

From NetBSD:
Fix typo, from John Kohl. Closes PR 2066.


# 1.1 13-Nov-1995 deraadt

generic audio man page; from jtk@kolvir.arlington.ma.us; netbsd pr#1752


# 1.82 05-Aug-2018 ratchov

Mention ioctls that don't work for the control device.

ok jmc


# 1.81 05-Aug-2018 ratchov

Use english words instead of file names.

ok jmc


# 1.80 05-Aug-2018 ratchov

Remove obvious or repeating sentinces.

ok jmc


# 1.79 30-Jul-2018 jmc

catch up with the symlink removal of /dev/{audio,mixer};
ok ratchov


# 1.78 22-Jul-2018 schwarze

cross reference sndio(7) and sndiod(8); from weerd@;
OK ratchov@ jmc@ (who are both busy)


# 1.77 27-May-2018 ratchov

Mention that only superuser may control record.enable knob.

help from and ok schwarze


# 1.76 26-May-2018 ratchov

Document the new "record.enable" mixer knob.

help from and ok schwarze


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.75 08-Sep-2016 ratchov

Remove reference to /dev/sound*. With tweaks from jmc@, thanks.


# 1.74 08-Sep-2016 ratchov

While /dev/audio is in use, /dev/audioctl has read-only access to
device variables.


# 1.73 01-Sep-2016 ratchov

Fix typo: replace AUDIO_GETINFO by AUDIO_GETPAR.


# 1.72 31-Aug-2016 ratchov

Delete unused ioctls and associated macros. Move macros that are still
used internally by low-level drivers from sys/audioio.h to
dev/audio_if.h instead of deleting them.


Revision tags: OPENBSD_6_0_BASE
# 1.71 18-Jun-2016 ratchov

Add a new AUDIO_GETSTATUS ioctl to get various audio driver variables.
It's intended for use with diagnostic tools (like audioctl) and is of
no use to audio programs.


# 1.70 16-Mar-2016 jmc

knock out unused Pp in previous;


# 1.69 16-Mar-2016 ratchov

Expose new audio ioctls that do one thing only: start and stop DMA,
set and get parameters. This is much simpler.

ok semarie, armani, tweaks from jmc


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.68 28-Jul-2015 ratchov

Add the AUDIO_GETPOS ioctl() to fetch a snapshot of the 4 counters
returned by AUDIO_GETxOFFS and AUDIO_xERROR ioctls.

ok deraadt


# 1.67 27-Jul-2015 ratchov

Remove sections that describe features we don't support any longer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.66 28-Jun-2014 matthew

espie points out <string.h> is needed for the AUDIO_INITINFO() macro


# 1.65 28-Jun-2014 jmc

Dv blah , Dv bleh
is more simply written as
Dv blah , bleh


# 1.64 28-Jun-2014 matthew

audio(4) has nothing to do with <string.h>


Revision tags: OPENBSD_5_5_BASE
# 1.63 28-Aug-2013 jmc

wording fix; original diff from remco, but i've reworded it to read better
ok ratchov


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.62 15-Jul-2010 jakemsr

add two new members to structs audio_encoding and audio_prinfo.
for both structs, the new members are 'bps' and 'msb', which
describe the number of bytes per sample and data alignment in the
sample, respectively. drivers must properly set these fields in
the 'query_encoding', 'set_parameters' and 'get_default_params'
hardware interface methods.

discussed with ratchov, deraadt


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.61 27-Jun-2009 jmc

sync description of struct audio_prinfo;
reported by frederic, documentation/6179


# 1.60 24-Mar-2009 sobrado

fix a few typographical errors.

ok jmc@


Revision tags: OPENBSD_4_5_BASE
# 1.59 17-Jan-2009 jmc

typo fix - ok jakemsr - and add a comma;


# 1.58 16-Jan-2009 jakemsr

deal with sample precisions that are not a power of 2.

discussed with and ok ratchov; manpage tweak from naddy, thanks


# 1.57 27-Oct-2008 jmc

sa_open -> sio_open, after recent changes;


# 1.56 26-Oct-2008 jmc

add some audio/libsa cross refs;


Revision tags: OPENBSD_4_4_BASE
# 1.55 26-Jun-2008 ray

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@


# 1.54 26-May-2008 jmc

tweak previous;


# 1.53 26-May-2008 jakemsr

explain why, even though we support "sticky" block sizes, setting block
sizes before other parameters can cause problems.

ok ratchov@


# 1.52 21-Apr-2008 jakemsr

allow low level audio drivers to specify a default sample format,
instead of 8-bit mono mulaw @ 8kHz.

this is just the infrastructure; no drivers are specifying a default
yet.

ok ratchov@, deanna@


# 1.51 22-Mar-2008 ratchov

add audio(4) driver the ability to use different block sizes for play and
record modes. This makes possible to have blocks of the same duration if the
play and record formats are different. The API change is backward
compatible, so it shouldn't be noticed by current audio ports.

ok jakemsr


Revision tags: OPENBSD_4_3_BASE
# 1.50 06-Dec-2007 deanna

Remove incomplete device Xr list. The device pages already reference
audio(4), and the bus pages reference the devices, so there's no need
for audio(4) to try to keep up.

Requested by & ok jmc@


# 1.49 03-Nov-2007 jmc

add aucat(1) and cdio(1) to SEE ALSO;


# 1.48 28-Oct-2007 ratchov

add new envy(4) man page

ok jmc@, ok deraadt@


# 1.47 08-Oct-2007 jakemsr

explain that AUDIO_GET[PR]RINFO were added for porting 3rd party
software and should be avoided in new code

suggested by ratchov@, help from jmc@


# 1.46 03-Oct-2007 jakemsr

add two new audio ioctls, AUDIO_GETPRINFO and AUDIO_GETRRINFO, and the
data structure these ioctls use, audio_bufinfo.

these ioctls return information about the play and record buffers
into the audio_bufinfo structure.

these are being added to aid in porting non-native audio applications
and libraries, and to fix issues in our OSS audio emulation. these
ioctls exist only on OpenBSD and should not be used in code intended
for distribution.

ok ratchov


# 1.45 28-Sep-2007 jakemsr

be explicit about configuring audio devices for full-duplex mode.

OK jmc@ (a while back)


# 1.44 17-Sep-2007 jakemsr

implement the output_muted member of audio_info_t as found in original
Sun audio.

input from and ok ratchov


# 1.43 12-Sep-2007 ratchov

add missing description of AUDIO_PERROR ioctl

reviewed (and corrected) by jakemsr@


Revision tags: OPENBSD_4_2_BASE
# 1.42 08-Aug-2007 jakemsr

revert the change in rev 1.60 of audio.c and the corresponding
documentation change

the audio layer is still too "imperfect" for this change

fixes problems reported aanriot, matthieu and dtucker

requested by deraadt


# 1.41 06-Jul-2007 jakemsr

- enable full-duplex mode by default if a device is opened
read-write and it supports full-duplex operation.
- update documentation to match this behaviour.

see http://marc.info/?l=openbsd-tech&m=118310788926431&w=2 for
more background on this change

"patches look correct to me" marc@


# 1.40 31-May-2007 jmc

convert to new .Dd format;


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.39 26-Apr-2006 jason

Xr azalia (thanks miod)


Revision tags: OPENBSD_3_9_BASE
# 1.38 19-Jan-2006 jakemsr

seek is a count of bytes, not samples

OK millert@


Revision tags: OPENBSD_3_8_BASE
# 1.37 08-Aug-2005 mickey

more xr auipx i missed to commit first round


Revision tags: OPENBSD_3_7_BASE
# 1.36 06-Nov-2004 brad

The audio(4) manpage says to use code that looks like
ioctl(fd, AUDIO_INITINFO, &info);
to initialize the audioinfo struct. This does not work as there
is no AUDIO_INITINFO ioctl command. Rather, the structure should be
initialized with something that looks like this:
AUDIO_INITINFO(&info);

From: Chris Kuethe <ckuethe at ualberta dot ca> in PR 3980


Revision tags: OPENBSD_3_6_BASE
# 1.35 04-Aug-2004 jaredy

- sync to netbsd
- update to reality
- grammar, punctuation, rewording
- since this page describes both the mixer and audio devices,
add mention of the mixer device in relevant places
- use standard conventions for documenting ioctls
- macro and other mdoc fixes
- add some unmentioned audio devices and other cross-refs to
"see also"

help and ok jmc

and add kernel config usage to synopsis (from deraadt)


Revision tags: OPENBSD_3_5_BASE
# 1.34 26-Jan-2004 jmc

missing thing from Jared Yanovich;
dhartmeier@ saved me from making a mess of this;


Revision tags: OPENBSD_3_4_BASE
# 1.33 09-Jul-2003 jmc

- fix lists/displays
- quote .Cd's
- add/remove .Pp's as necessary
- fix some .Re/.Rs's
- simplify macros


# 1.32 06-Jun-2003 jmc

- section reorder
- some macro fixes
- kill whitespace at EOL


# 1.31 25-Apr-2003 avsm

AUDIO_ENCODING_* is below, not above the struct description
jason@ ok


# 1.30 28-Mar-2003 jmc

mu-law and A-law spelling;
mu-law and u-law are the same, so used mu-law for consistency;

ok jason@


Revision tags: OPENBSD_3_3_BASE
# 1.29 14-Mar-2003 jmc

typos;

audio(4): ok naddy@
cardbus(4): ok deraadt@


# 1.28 13-Dec-2002 naddy

audio_prinfo.seek is int now; document and sync
ok miod@ millert@


Revision tags: OPENBSD_3_2_BASE
# 1.27 30-Jun-2002 miod

Do not end an enumerations of Xr with a dot, and do not let a dot hide
inside an enumeration as well.


# 1.26 30-Jun-2002 deraadt

Xr cleanup; seb@todesplanet.de


# 1.25 23-May-2002 mpech

'SEE ALSO' audit in 'share/man/':
o) sort;
o) "," is separator of entries;
o) don't use "." or "," in the last entry;

millert@ ok


Revision tags: OPENBSD_3_1_BASE
# 1.24 08-Apr-2002 frantzen

document the ESS Allegro-1 and Maestro-3 driver


# 1.23 12-Feb-2002 mpech

fix style in .SYNOPSIS. Spotted by grange@grange.ru

deraadt@ ok


# 1.22 26-Nov-2001 mickey

add autri.4, from netbsd


# 1.21 13-Nov-2001 deraadt

kill BUGS sections that basically say "there might be bugs". Like, WTF?


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.20 07-Mar-2001 todd

spelling


# 1.19 01-Mar-2001 aaron

A slew of share/ man page fixes; nordin@cse.ogi.edu. These have been sitting
in my INBOX since Nov 6, 2000, probably forgot about them since the tree was
frozen at that time.


# 1.18 13-Jan-2001 aaron

Driver for Cirrus Logic CS4281 sound chips. Originally written for NetBSD by
Tatoku Ogaito, banged into shape for OpenBSD by me. Recording has not been
tested yet, but mpg123 works fine. Sound still works after suspend/resume.

XXX: On the IBM ThinkPad X20, must disable pcibios else the cs4281 won't
generate interrupts. Cause yet unknown but probably not the driver's fault.
YMMV on other laptops with this chip.


# 1.17 13-Jan-2001 espie

Preliminary man page for maestro. Link it.
Keep alphabetical order in audio.4 while we're at it :)


# 1.16 11-Jan-2001 deraadt

move ich to auich at mickey's request


# 1.15 09-Jan-2001 espie

More complete synopsis, ok millert@,aaron@


Revision tags: OPENBSD_2_8_BASE
# 1.14 18-Oct-2000 aaron

- Arguments to .Nd should go on the same line as .Nd.
- Standardize Nd format for all Ethernet man pages for easy man -k'ing.


# 1.13 13-Oct-2000 aaron

Purely mdoc fixes.


# 1.12 30-May-2000 mickey

Xr pci audio drivers


Revision tags: OPENBSD_2_7_BASE
# 1.11 27-Apr-2000 mickey

xr audio(9)


# 1.10 30-Mar-2000 alex

buffersize -> buffer_size


Revision tags: OPENBSD_2_6_BASE
# 1.9 09-Jul-1999 aaron

- remove all trailing whitespace
* except when it is escaped with a `\' at the end of the line
- fix remaining .Nm usage as well
- this is from a patch I received from kwesterback@home.com, who has been
working on some scripts for fixing formatting errors in mdoc'd man pages

Ok, so there could be a cost/benefit debate with this commit, but since I have
the patch we might as well commit it...


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.8 05-Sep-1998 deraadt

more man page repairs; aaron@ug.cs.dal.ca


# 1.7 02-Jun-1998 provos

cross reference audioctl(1) and mixerctl(1), add info about mixer_level_t
which has been missing for all these years. augustss.


# 1.6 05-May-1998 provos

.Xr ossaudio 3


# 1.5 30-Apr-1998 provos

update man page to reality, from NetBSD, mostly by Lennart Augustsson
<augustss@cs.chalmers.se>.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.4 16-Jun-1996 deraadt

fix includes and device names; netbsd pr#2523; jhawk@mit.edu


# 1.3 29-Mar-1996 niklas

From NetBSD: merge of 960317


# 1.2 22-Feb-1996 niklas

From NetBSD:
Fix typo, from John Kohl. Closes PR 2066.


# 1.1 13-Nov-1995 deraadt

generic audio man page; from jtk@kolvir.arlington.ma.us; netbsd pr#1752


# 1.77 27-May-2018 ratchov

Mention that only superuser may control record.enable knob.

help from and ok schwarze


# 1.76 26-May-2018 ratchov

Document the new "record.enable" mixer knob.

help from and ok schwarze


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.75 08-Sep-2016 ratchov

Remove reference to /dev/sound*. With tweaks from jmc@, thanks.


# 1.74 08-Sep-2016 ratchov

While /dev/audio is in use, /dev/audioctl has read-only access to
device variables.


# 1.73 01-Sep-2016 ratchov

Fix typo: replace AUDIO_GETINFO by AUDIO_GETPAR.


# 1.72 31-Aug-2016 ratchov

Delete unused ioctls and associated macros. Move macros that are still
used internally by low-level drivers from sys/audioio.h to
dev/audio_if.h instead of deleting them.


Revision tags: OPENBSD_6_0_BASE
# 1.71 18-Jun-2016 ratchov

Add a new AUDIO_GETSTATUS ioctl to get various audio driver variables.
It's intended for use with diagnostic tools (like audioctl) and is of
no use to audio programs.


# 1.70 16-Mar-2016 jmc

knock out unused Pp in previous;


# 1.69 16-Mar-2016 ratchov

Expose new audio ioctls that do one thing only: start and stop DMA,
set and get parameters. This is much simpler.

ok semarie, armani, tweaks from jmc


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.68 28-Jul-2015 ratchov

Add the AUDIO_GETPOS ioctl() to fetch a snapshot of the 4 counters
returned by AUDIO_GETxOFFS and AUDIO_xERROR ioctls.

ok deraadt


# 1.67 27-Jul-2015 ratchov

Remove sections that describe features we don't support any longer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.66 28-Jun-2014 matthew

espie points out <string.h> is needed for the AUDIO_INITINFO() macro


# 1.65 28-Jun-2014 jmc

Dv blah , Dv bleh
is more simply written as
Dv blah , bleh


# 1.64 28-Jun-2014 matthew

audio(4) has nothing to do with <string.h>


Revision tags: OPENBSD_5_5_BASE
# 1.63 28-Aug-2013 jmc

wording fix; original diff from remco, but i've reworded it to read better
ok ratchov


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.62 15-Jul-2010 jakemsr

add two new members to structs audio_encoding and audio_prinfo.
for both structs, the new members are 'bps' and 'msb', which
describe the number of bytes per sample and data alignment in the
sample, respectively. drivers must properly set these fields in
the 'query_encoding', 'set_parameters' and 'get_default_params'
hardware interface methods.

discussed with ratchov, deraadt


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.61 27-Jun-2009 jmc

sync description of struct audio_prinfo;
reported by frederic, documentation/6179


# 1.60 24-Mar-2009 sobrado

fix a few typographical errors.

ok jmc@


Revision tags: OPENBSD_4_5_BASE
# 1.59 17-Jan-2009 jmc

typo fix - ok jakemsr - and add a comma;


# 1.58 16-Jan-2009 jakemsr

deal with sample precisions that are not a power of 2.

discussed with and ok ratchov; manpage tweak from naddy, thanks


# 1.57 27-Oct-2008 jmc

sa_open -> sio_open, after recent changes;


# 1.56 26-Oct-2008 jmc

add some audio/libsa cross refs;


Revision tags: OPENBSD_4_4_BASE
# 1.55 26-Jun-2008 ray

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@


# 1.54 26-May-2008 jmc

tweak previous;


# 1.53 26-May-2008 jakemsr

explain why, even though we support "sticky" block sizes, setting block
sizes before other parameters can cause problems.

ok ratchov@


# 1.52 21-Apr-2008 jakemsr

allow low level audio drivers to specify a default sample format,
instead of 8-bit mono mulaw @ 8kHz.

this is just the infrastructure; no drivers are specifying a default
yet.

ok ratchov@, deanna@


# 1.51 22-Mar-2008 ratchov

add audio(4) driver the ability to use different block sizes for play and
record modes. This makes possible to have blocks of the same duration if the
play and record formats are different. The API change is backward
compatible, so it shouldn't be noticed by current audio ports.

ok jakemsr


Revision tags: OPENBSD_4_3_BASE
# 1.50 06-Dec-2007 deanna

Remove incomplete device Xr list. The device pages already reference
audio(4), and the bus pages reference the devices, so there's no need
for audio(4) to try to keep up.

Requested by & ok jmc@


# 1.49 03-Nov-2007 jmc

add aucat(1) and cdio(1) to SEE ALSO;


# 1.48 28-Oct-2007 ratchov

add new envy(4) man page

ok jmc@, ok deraadt@


# 1.47 08-Oct-2007 jakemsr

explain that AUDIO_GET[PR]RINFO were added for porting 3rd party
software and should be avoided in new code

suggested by ratchov@, help from jmc@


# 1.46 03-Oct-2007 jakemsr

add two new audio ioctls, AUDIO_GETPRINFO and AUDIO_GETRRINFO, and the
data structure these ioctls use, audio_bufinfo.

these ioctls return information about the play and record buffers
into the audio_bufinfo structure.

these are being added to aid in porting non-native audio applications
and libraries, and to fix issues in our OSS audio emulation. these
ioctls exist only on OpenBSD and should not be used in code intended
for distribution.

ok ratchov


# 1.45 28-Sep-2007 jakemsr

be explicit about configuring audio devices for full-duplex mode.

OK jmc@ (a while back)


# 1.44 17-Sep-2007 jakemsr

implement the output_muted member of audio_info_t as found in original
Sun audio.

input from and ok ratchov


# 1.43 12-Sep-2007 ratchov

add missing description of AUDIO_PERROR ioctl

reviewed (and corrected) by jakemsr@


Revision tags: OPENBSD_4_2_BASE
# 1.42 08-Aug-2007 jakemsr

revert the change in rev 1.60 of audio.c and the corresponding
documentation change

the audio layer is still too "imperfect" for this change

fixes problems reported aanriot, matthieu and dtucker

requested by deraadt


# 1.41 06-Jul-2007 jakemsr

- enable full-duplex mode by default if a device is opened
read-write and it supports full-duplex operation.
- update documentation to match this behaviour.

see http://marc.info/?l=openbsd-tech&m=118310788926431&w=2 for
more background on this change

"patches look correct to me" marc@


# 1.40 31-May-2007 jmc

convert to new .Dd format;


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.39 26-Apr-2006 jason

Xr azalia (thanks miod)


Revision tags: OPENBSD_3_9_BASE
# 1.38 19-Jan-2006 jakemsr

seek is a count of bytes, not samples

OK millert@


Revision tags: OPENBSD_3_8_BASE
# 1.37 08-Aug-2005 mickey

more xr auipx i missed to commit first round


Revision tags: OPENBSD_3_7_BASE
# 1.36 06-Nov-2004 brad

The audio(4) manpage says to use code that looks like
ioctl(fd, AUDIO_INITINFO, &info);
to initialize the audioinfo struct. This does not work as there
is no AUDIO_INITINFO ioctl command. Rather, the structure should be
initialized with something that looks like this:
AUDIO_INITINFO(&info);

From: Chris Kuethe <ckuethe at ualberta dot ca> in PR 3980


Revision tags: OPENBSD_3_6_BASE
# 1.35 04-Aug-2004 jaredy

- sync to netbsd
- update to reality
- grammar, punctuation, rewording
- since this page describes both the mixer and audio devices,
add mention of the mixer device in relevant places
- use standard conventions for documenting ioctls
- macro and other mdoc fixes
- add some unmentioned audio devices and other cross-refs to
"see also"

help and ok jmc

and add kernel config usage to synopsis (from deraadt)


Revision tags: OPENBSD_3_5_BASE
# 1.34 26-Jan-2004 jmc

missing thing from Jared Yanovich;
dhartmeier@ saved me from making a mess of this;


Revision tags: OPENBSD_3_4_BASE
# 1.33 09-Jul-2003 jmc

- fix lists/displays
- quote .Cd's
- add/remove .Pp's as necessary
- fix some .Re/.Rs's
- simplify macros


# 1.32 06-Jun-2003 jmc

- section reorder
- some macro fixes
- kill whitespace at EOL


# 1.31 25-Apr-2003 avsm

AUDIO_ENCODING_* is below, not above the struct description
jason@ ok


# 1.30 28-Mar-2003 jmc

mu-law and A-law spelling;
mu-law and u-law are the same, so used mu-law for consistency;

ok jason@


Revision tags: OPENBSD_3_3_BASE
# 1.29 14-Mar-2003 jmc

typos;

audio(4): ok naddy@
cardbus(4): ok deraadt@


# 1.28 13-Dec-2002 naddy

audio_prinfo.seek is int now; document and sync
ok miod@ millert@


Revision tags: OPENBSD_3_2_BASE
# 1.27 30-Jun-2002 miod

Do not end an enumerations of Xr with a dot, and do not let a dot hide
inside an enumeration as well.


# 1.26 30-Jun-2002 deraadt

Xr cleanup; seb@todesplanet.de


# 1.25 23-May-2002 mpech

'SEE ALSO' audit in 'share/man/':
o) sort;
o) "," is separator of entries;
o) don't use "." or "," in the last entry;

millert@ ok


Revision tags: OPENBSD_3_1_BASE
# 1.24 08-Apr-2002 frantzen

document the ESS Allegro-1 and Maestro-3 driver


# 1.23 12-Feb-2002 mpech

fix style in .SYNOPSIS. Spotted by grange@grange.ru

deraadt@ ok


# 1.22 26-Nov-2001 mickey

add autri.4, from netbsd


# 1.21 13-Nov-2001 deraadt

kill BUGS sections that basically say "there might be bugs". Like, WTF?


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.20 07-Mar-2001 todd

spelling


# 1.19 01-Mar-2001 aaron

A slew of share/ man page fixes; nordin@cse.ogi.edu. These have been sitting
in my INBOX since Nov 6, 2000, probably forgot about them since the tree was
frozen at that time.


# 1.18 13-Jan-2001 aaron

Driver for Cirrus Logic CS4281 sound chips. Originally written for NetBSD by
Tatoku Ogaito, banged into shape for OpenBSD by me. Recording has not been
tested yet, but mpg123 works fine. Sound still works after suspend/resume.

XXX: On the IBM ThinkPad X20, must disable pcibios else the cs4281 won't
generate interrupts. Cause yet unknown but probably not the driver's fault.
YMMV on other laptops with this chip.


# 1.17 13-Jan-2001 espie

Preliminary man page for maestro. Link it.
Keep alphabetical order in audio.4 while we're at it :)


# 1.16 11-Jan-2001 deraadt

move ich to auich at mickey's request


# 1.15 09-Jan-2001 espie

More complete synopsis, ok millert@,aaron@


Revision tags: OPENBSD_2_8_BASE
# 1.14 18-Oct-2000 aaron

- Arguments to .Nd should go on the same line as .Nd.
- Standardize Nd format for all Ethernet man pages for easy man -k'ing.


# 1.13 13-Oct-2000 aaron

Purely mdoc fixes.


# 1.12 30-May-2000 mickey

Xr pci audio drivers


Revision tags: OPENBSD_2_7_BASE
# 1.11 27-Apr-2000 mickey

xr audio(9)


# 1.10 30-Mar-2000 alex

buffersize -> buffer_size


Revision tags: OPENBSD_2_6_BASE
# 1.9 09-Jul-1999 aaron

- remove all trailing whitespace
* except when it is escaped with a `\' at the end of the line
- fix remaining .Nm usage as well
- this is from a patch I received from kwesterback@home.com, who has been
working on some scripts for fixing formatting errors in mdoc'd man pages

Ok, so there could be a cost/benefit debate with this commit, but since I have
the patch we might as well commit it...


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.8 05-Sep-1998 deraadt

more man page repairs; aaron@ug.cs.dal.ca


# 1.7 02-Jun-1998 provos

cross reference audioctl(1) and mixerctl(1), add info about mixer_level_t
which has been missing for all these years. augustss.


# 1.6 05-May-1998 provos

.Xr ossaudio 3


# 1.5 30-Apr-1998 provos

update man page to reality, from NetBSD, mostly by Lennart Augustsson
<augustss@cs.chalmers.se>.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.4 16-Jun-1996 deraadt

fix includes and device names; netbsd pr#2523; jhawk@mit.edu


# 1.3 29-Mar-1996 niklas

From NetBSD: merge of 960317


# 1.2 22-Feb-1996 niklas

From NetBSD:
Fix typo, from John Kohl. Closes PR 2066.


# 1.1 13-Nov-1995 deraadt

generic audio man page; from jtk@kolvir.arlington.ma.us; netbsd pr#1752


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.75 08-Sep-2016 ratchov

Remove reference to /dev/sound*. With tweaks from jmc@, thanks.


# 1.74 08-Sep-2016 ratchov

While /dev/audio is in use, /dev/audioctl has read-only access to
device variables.


# 1.73 01-Sep-2016 ratchov

Fix typo: replace AUDIO_GETINFO by AUDIO_GETPAR.


# 1.72 31-Aug-2016 ratchov

Delete unused ioctls and associated macros. Move macros that are still
used internally by low-level drivers from sys/audioio.h to
dev/audio_if.h instead of deleting them.


Revision tags: OPENBSD_6_0_BASE
# 1.71 18-Jun-2016 ratchov

Add a new AUDIO_GETSTATUS ioctl to get various audio driver variables.
It's intended for use with diagnostic tools (like audioctl) and is of
no use to audio programs.


# 1.70 16-Mar-2016 jmc

knock out unused Pp in previous;


# 1.69 16-Mar-2016 ratchov

Expose new audio ioctls that do one thing only: start and stop DMA,
set and get parameters. This is much simpler.

ok semarie, armani, tweaks from jmc


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.68 28-Jul-2015 ratchov

Add the AUDIO_GETPOS ioctl() to fetch a snapshot of the 4 counters
returned by AUDIO_GETxOFFS and AUDIO_xERROR ioctls.

ok deraadt


# 1.67 27-Jul-2015 ratchov

Remove sections that describe features we don't support any longer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.66 28-Jun-2014 matthew

espie points out <string.h> is needed for the AUDIO_INITINFO() macro


# 1.65 28-Jun-2014 jmc

Dv blah , Dv bleh
is more simply written as
Dv blah , bleh


# 1.64 28-Jun-2014 matthew

audio(4) has nothing to do with <string.h>


Revision tags: OPENBSD_5_5_BASE
# 1.63 28-Aug-2013 jmc

wording fix; original diff from remco, but i've reworded it to read better
ok ratchov


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.62 15-Jul-2010 jakemsr

add two new members to structs audio_encoding and audio_prinfo.
for both structs, the new members are 'bps' and 'msb', which
describe the number of bytes per sample and data alignment in the
sample, respectively. drivers must properly set these fields in
the 'query_encoding', 'set_parameters' and 'get_default_params'
hardware interface methods.

discussed with ratchov, deraadt


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.61 27-Jun-2009 jmc

sync description of struct audio_prinfo;
reported by frederic, documentation/6179


# 1.60 24-Mar-2009 sobrado

fix a few typographical errors.

ok jmc@


Revision tags: OPENBSD_4_5_BASE
# 1.59 17-Jan-2009 jmc

typo fix - ok jakemsr - and add a comma;


# 1.58 16-Jan-2009 jakemsr

deal with sample precisions that are not a power of 2.

discussed with and ok ratchov; manpage tweak from naddy, thanks


# 1.57 27-Oct-2008 jmc

sa_open -> sio_open, after recent changes;


# 1.56 26-Oct-2008 jmc

add some audio/libsa cross refs;


Revision tags: OPENBSD_4_4_BASE
# 1.55 26-Jun-2008 ray

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@


# 1.54 26-May-2008 jmc

tweak previous;


# 1.53 26-May-2008 jakemsr

explain why, even though we support "sticky" block sizes, setting block
sizes before other parameters can cause problems.

ok ratchov@


# 1.52 21-Apr-2008 jakemsr

allow low level audio drivers to specify a default sample format,
instead of 8-bit mono mulaw @ 8kHz.

this is just the infrastructure; no drivers are specifying a default
yet.

ok ratchov@, deanna@


# 1.51 22-Mar-2008 ratchov

add audio(4) driver the ability to use different block sizes for play and
record modes. This makes possible to have blocks of the same duration if the
play and record formats are different. The API change is backward
compatible, so it shouldn't be noticed by current audio ports.

ok jakemsr


Revision tags: OPENBSD_4_3_BASE
# 1.50 06-Dec-2007 deanna

Remove incomplete device Xr list. The device pages already reference
audio(4), and the bus pages reference the devices, so there's no need
for audio(4) to try to keep up.

Requested by & ok jmc@


# 1.49 03-Nov-2007 jmc

add aucat(1) and cdio(1) to SEE ALSO;


# 1.48 28-Oct-2007 ratchov

add new envy(4) man page

ok jmc@, ok deraadt@


# 1.47 08-Oct-2007 jakemsr

explain that AUDIO_GET[PR]RINFO were added for porting 3rd party
software and should be avoided in new code

suggested by ratchov@, help from jmc@


# 1.46 03-Oct-2007 jakemsr

add two new audio ioctls, AUDIO_GETPRINFO and AUDIO_GETRRINFO, and the
data structure these ioctls use, audio_bufinfo.

these ioctls return information about the play and record buffers
into the audio_bufinfo structure.

these are being added to aid in porting non-native audio applications
and libraries, and to fix issues in our OSS audio emulation. these
ioctls exist only on OpenBSD and should not be used in code intended
for distribution.

ok ratchov


# 1.45 28-Sep-2007 jakemsr

be explicit about configuring audio devices for full-duplex mode.

OK jmc@ (a while back)


# 1.44 17-Sep-2007 jakemsr

implement the output_muted member of audio_info_t as found in original
Sun audio.

input from and ok ratchov


# 1.43 12-Sep-2007 ratchov

add missing description of AUDIO_PERROR ioctl

reviewed (and corrected) by jakemsr@


Revision tags: OPENBSD_4_2_BASE
# 1.42 08-Aug-2007 jakemsr

revert the change in rev 1.60 of audio.c and the corresponding
documentation change

the audio layer is still too "imperfect" for this change

fixes problems reported aanriot, matthieu and dtucker

requested by deraadt


# 1.41 06-Jul-2007 jakemsr

- enable full-duplex mode by default if a device is opened
read-write and it supports full-duplex operation.
- update documentation to match this behaviour.

see http://marc.info/?l=openbsd-tech&m=118310788926431&w=2 for
more background on this change

"patches look correct to me" marc@


# 1.40 31-May-2007 jmc

convert to new .Dd format;


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.39 26-Apr-2006 jason

Xr azalia (thanks miod)


Revision tags: OPENBSD_3_9_BASE
# 1.38 19-Jan-2006 jakemsr

seek is a count of bytes, not samples

OK millert@


Revision tags: OPENBSD_3_8_BASE
# 1.37 08-Aug-2005 mickey

more xr auipx i missed to commit first round


Revision tags: OPENBSD_3_7_BASE
# 1.36 06-Nov-2004 brad

The audio(4) manpage says to use code that looks like
ioctl(fd, AUDIO_INITINFO, &info);
to initialize the audioinfo struct. This does not work as there
is no AUDIO_INITINFO ioctl command. Rather, the structure should be
initialized with something that looks like this:
AUDIO_INITINFO(&info);

From: Chris Kuethe <ckuethe at ualberta dot ca> in PR 3980


Revision tags: OPENBSD_3_6_BASE
# 1.35 04-Aug-2004 jaredy

- sync to netbsd
- update to reality
- grammar, punctuation, rewording
- since this page describes both the mixer and audio devices,
add mention of the mixer device in relevant places
- use standard conventions for documenting ioctls
- macro and other mdoc fixes
- add some unmentioned audio devices and other cross-refs to
"see also"

help and ok jmc

and add kernel config usage to synopsis (from deraadt)


Revision tags: OPENBSD_3_5_BASE
# 1.34 26-Jan-2004 jmc

missing thing from Jared Yanovich;
dhartmeier@ saved me from making a mess of this;


Revision tags: OPENBSD_3_4_BASE
# 1.33 09-Jul-2003 jmc

- fix lists/displays
- quote .Cd's
- add/remove .Pp's as necessary
- fix some .Re/.Rs's
- simplify macros


# 1.32 06-Jun-2003 jmc

- section reorder
- some macro fixes
- kill whitespace at EOL


# 1.31 25-Apr-2003 avsm

AUDIO_ENCODING_* is below, not above the struct description
jason@ ok


# 1.30 28-Mar-2003 jmc

mu-law and A-law spelling;
mu-law and u-law are the same, so used mu-law for consistency;

ok jason@


Revision tags: OPENBSD_3_3_BASE
# 1.29 14-Mar-2003 jmc

typos;

audio(4): ok naddy@
cardbus(4): ok deraadt@


# 1.28 13-Dec-2002 naddy

audio_prinfo.seek is int now; document and sync
ok miod@ millert@


Revision tags: OPENBSD_3_2_BASE
# 1.27 30-Jun-2002 miod

Do not end an enumerations of Xr with a dot, and do not let a dot hide
inside an enumeration as well.


# 1.26 30-Jun-2002 deraadt

Xr cleanup; seb@todesplanet.de


# 1.25 23-May-2002 mpech

'SEE ALSO' audit in 'share/man/':
o) sort;
o) "," is separator of entries;
o) don't use "." or "," in the last entry;

millert@ ok


Revision tags: OPENBSD_3_1_BASE
# 1.24 08-Apr-2002 frantzen

document the ESS Allegro-1 and Maestro-3 driver


# 1.23 12-Feb-2002 mpech

fix style in .SYNOPSIS. Spotted by grange@grange.ru

deraadt@ ok


# 1.22 26-Nov-2001 mickey

add autri.4, from netbsd


# 1.21 13-Nov-2001 deraadt

kill BUGS sections that basically say "there might be bugs". Like, WTF?


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.20 07-Mar-2001 todd

spelling


# 1.19 01-Mar-2001 aaron

A slew of share/ man page fixes; nordin@cse.ogi.edu. These have been sitting
in my INBOX since Nov 6, 2000, probably forgot about them since the tree was
frozen at that time.


# 1.18 13-Jan-2001 aaron

Driver for Cirrus Logic CS4281 sound chips. Originally written for NetBSD by
Tatoku Ogaito, banged into shape for OpenBSD by me. Recording has not been
tested yet, but mpg123 works fine. Sound still works after suspend/resume.

XXX: On the IBM ThinkPad X20, must disable pcibios else the cs4281 won't
generate interrupts. Cause yet unknown but probably not the driver's fault.
YMMV on other laptops with this chip.


# 1.17 13-Jan-2001 espie

Preliminary man page for maestro. Link it.
Keep alphabetical order in audio.4 while we're at it :)


# 1.16 11-Jan-2001 deraadt

move ich to auich at mickey's request


# 1.15 09-Jan-2001 espie

More complete synopsis, ok millert@,aaron@


Revision tags: OPENBSD_2_8_BASE
# 1.14 18-Oct-2000 aaron

- Arguments to .Nd should go on the same line as .Nd.
- Standardize Nd format for all Ethernet man pages for easy man -k'ing.


# 1.13 13-Oct-2000 aaron

Purely mdoc fixes.


# 1.12 30-May-2000 mickey

Xr pci audio drivers


Revision tags: OPENBSD_2_7_BASE
# 1.11 27-Apr-2000 mickey

xr audio(9)


# 1.10 30-Mar-2000 alex

buffersize -> buffer_size


Revision tags: OPENBSD_2_6_BASE
# 1.9 09-Jul-1999 aaron

- remove all trailing whitespace
* except when it is escaped with a `\' at the end of the line
- fix remaining .Nm usage as well
- this is from a patch I received from kwesterback@home.com, who has been
working on some scripts for fixing formatting errors in mdoc'd man pages

Ok, so there could be a cost/benefit debate with this commit, but since I have
the patch we might as well commit it...


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.8 05-Sep-1998 deraadt

more man page repairs; aaron@ug.cs.dal.ca


# 1.7 02-Jun-1998 provos

cross reference audioctl(1) and mixerctl(1), add info about mixer_level_t
which has been missing for all these years. augustss.


# 1.6 05-May-1998 provos

.Xr ossaudio 3


# 1.5 30-Apr-1998 provos

update man page to reality, from NetBSD, mostly by Lennart Augustsson
<augustss@cs.chalmers.se>.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.4 16-Jun-1996 deraadt

fix includes and device names; netbsd pr#2523; jhawk@mit.edu


# 1.3 29-Mar-1996 niklas

From NetBSD: merge of 960317


# 1.2 22-Feb-1996 niklas

From NetBSD:
Fix typo, from John Kohl. Closes PR 2066.


# 1.1 13-Nov-1995 deraadt

generic audio man page; from jtk@kolvir.arlington.ma.us; netbsd pr#1752