Age | Commit message (Collapse) | Author |
|
ok tb@
|
|
The AUDIO_MIXER_WRITE ioctl always succeeds without blocking, so no
need to use poll(2) for output. The audio(4) control device driver
doesn't implement the corresponding struct filterops anyway.
Fixes delayed level settings.
|
|
with help from edd@ and armani@
|
|
For hardware devices, add a server.device control
with a single item and the device name as display
string.
Add the necessary sndioctl(1) bits to print it.
|
|
|
|
any changes not taken noted on tech, but chiefly here i did not take the
cancelation - cancellation changes;
|
|
|
|
ok ratchov@
|
|
Fix from Carlin Bingham <cb at viennan.net>, thanks!
|
|
|
|
The new sio_flush(3) functions works the same way as sio_stop(3),
except that it doesn't wait for play buffer to be drained. Instead,
it discards its contents and returns immediately.
|
|
jmc@ dislikes a comma before "then" in a conditional, so leave those
untouched.
ok jmc@
|
|
|
|
Recent sndio device naming change is missing the proper compatibility
bits for this case. Found and fixed by bluhm@ and tweaks from me.
ok bluhm
|
|
This a shift towards a new model: clients connect to logical devices
(created with -s option) then the server routes data to/from the
underlying physical device (registered with -f option). The binding
may be changed at run-time with the server.device control exposed by
sndioctl(1).
As audio devices exposed by sndiod(8) are not bound to fixed physical
devices anymore, the physical audio device number component of
sndio(7) descriptors was removed.
fixes, help from and ok denis, edd
|
|
Suggested by brad@
|
|
ok and help from espie@
|
|
Suggested by Erico Nogueira <ericonr@disroot.org>,
help from and ok jmc@, schwarze@
|
|
* Avoid lots of short non-standard .Sh sections.
* Describe server and raw descriptors separately.
* Move examples to the EXAMPLES section.
* Mention that "default" is used even when *not* specified.
tweak and OK ratchov@
|
|
* Use .Fn rather than .Dv for macros taking arguments.
* Actually say what SIO_LE_NATIVE means.
* Add closely related APIs to SEE ALSO.
* Add missing HISTORY and AUTHORS sections.
OK ratchov@
|
|
Introduce new AUDIO{PLAY,REC}DEVICE environment variables that
override AUDIODEVICE in cases play-only and rec-only mode is
requested. This allows using different devices for playback and
recording in programs requesting twice the default device (one in
play-only mode and one in rec-only mode).
Based on diffs from Peter J Philipp, semarie, and solene
ok solene, sthen
|
|
Found by Jan Stary <hans at stare.cz>, discussed with jmc@
|
|
|
|
|
|
mutually exclusive values. It's the same as SIOCTL_LIST except that
exactly one list element may be selected.
|
|
avoid \*(Gt and \*(Lt, .Dv NULL, .Cm for pledge promises
|
|
and a few other wording and markup improvements while here;
OK jmc@ ratchov@
|
|
and some other wording improvements with respect to types;
OK ratchov@
|
|
are very long (function pointers), such that a number of input lines
in the SYNOPSIS do not fit into 80 columns. Consequently, consistently
use .Fo/.Fa/.Fc rather than .Fn for better readability of the source
code. Mechanical diff, no output change.
|
|
of integers for clarity and to read better;
one of the issues (abuse of .Sm) was originally reported by jmc@;
ok jmc@ ratchov@
|
|
|
|
from schwarze@
|
|
ok ratchov
|
|
Remove useless (re)wording of what are audio(4) and midi(4), add a
quick description of sndiod as intermediate layer. Try to focuse on
what the sndio library and sndiod do instead of how they do it. As
suggested by schwarze, use the word "device descriptor" instead of
"device name" to avoid the common confusion with the device files.
ok and tweaks from jmc
|
|
Certain drivers (azalia, uaudio) use a control with the "_mute" suffix to
expose the "mute" knob.
|
|
against root-only device nodes.
|
|
|
|
OK ratchov@
|
|
From jmc@, thanks.
|
|
The API exposes controls of modern audio hardware and sndiod software
volume knobs in a uniform way. Hardware knobs are exposed through
sndiod. Multiple programs may use the controls at the same time
without the need to continuously scan the controls.
For now sndiod exposes only its own controls and the master output and
input volumes of the underlying hardware (if any), i.e. those
typically exposed by acpi volume keys.
ok deraadt
|
|
Currently, if there are two instances of the same program, sndiod will
allocate one volume control to each. If both programs disconnect and
reconnect, the information of which control is assigned to which
program is lost. This makes difficult to run two instances of a player
and crossfade between each other with a MIDI controller.
To address this, the program chooses a 32-bit "id" (for now the
process pid) and sends it to the server. The server records the id in
the client's slot structure. When the server accepts a new
connection, it uses the id to identify the slot the client used during
the previous connection; if it was not recycled yet, it's assigned to
the program.
|
|
Thanks!
|
|
"Looks right" deraadt
|
|
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.
|
|
|
|
last bytes sent may be lost by the server.
|
|
sio_getcap() function) is not recomended.
From Paul Swanson <psw at protonmail.com>, ok jmc
|
|
|
|
zero length request. return value of zero is preserved in this case.
OK ratchov@
|
|
ratchov@
|