summaryrefslogtreecommitdiff
path: root/lib/libsndio
AgeCommit message (Collapse)Author
2024-08-01Bump libsndio pkg-config version to 1.10.0Alexandre Ratchov
ok tb@
2024-07-23libsndio: Don't use poll(2) for output on the control device.Alexandre Ratchov
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.
2024-05-24sndiod: Propagate the controls' display string to clients.Alexandre Ratchov
with help from edd@ and armani@
2024-05-24sndio: Add a display string to the sioctl_open APIAlexandre Ratchov
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.
2024-05-21remove prototypes with no matching function; ok ratchov@Jonathan Gray
2022-12-27spelling fixes; from paul tagliamonteJason McIntyre
any changes not taken noted on tech, but chiefly here i did not take the cancelation - cancellation changes;
2022-07-16Bump libsndio pkg-config version to 1.9.0Alexandre Ratchov
2022-05-30move bufsz description after appbufsz as per struct fields orderop
ok ratchov@
2022-05-03sioctl_onval(3) returns int not voidAlexandre Ratchov
Fix from Carlin Bingham <cb at viennan.net>, thanks!
2022-04-30Tweak to clarify sio_stop(3) and sio_flush() description, from jmc@Alexandre Ratchov
2022-04-29Add sio_flush(3) function to stop playback immediatelyAlexandre Ratchov
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.
2022-03-31man pages: add missing commas between subordinate and main clausesChristian Weisgerber
jmc@ dislikes a comma before "then" in a conditional, so leave those untouched. ok jmc@
2021-12-15Bump pkg-config version to 1.8.1Alexandre Ratchov
2021-11-07Allow -current libsndio to connect to old sndiod serversAlexandre Ratchov
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
2021-11-01Stop binding audio devices exposed by sndiod to physical devicesAlexandre Ratchov
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
2021-06-10Bump pkg-config version to 1.8.0 to match portable package versionAlexandre Ratchov
Suggested by brad@
2021-04-28Add sndio.pc file for pkg-config, mostly from brad@Alexandre Ratchov
ok and help from espie@
2020-11-29Clarify what sio_start() does exactlyAlexandre Ratchov
Suggested by Erico Nogueira <ericonr@disroot.org>, help from and ok jmc@, schwarze@
2020-11-20* Make .Nd more specific.Ingo 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@
2020-11-20* Add SIO_BPS() to NAME and SYNOPSIS where it is missing.Ingo Schwarze
* 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@
2020-11-19Allow specific devices to be used for play-only and rec-only modes.Alexandre 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
2020-07-18Raw device access is not anymore a fall-back for when sndiod isn't runningAlexandre Ratchov
Found by Jan Stary <hans at stare.cz>, discussed with jmc@
2020-06-28Use .Dv for SIOCTL_SEL, as we do for all other macrosAlexandre Ratchov
2020-06-28Allow switching between alternate devices (-F option) with sndioctl(1)Alexandre Ratchov
2020-06-28Add a new SIOCTL_SEL control type to select one of a predefined set ofAlexandre Ratchov
mutually exclusive values. It's the same as SIOCTL_LIST except that exactly one list element may be selected.
2020-06-20basic macro cleanup: .Fo for long .Fn lines, .Fa for struct fields,Ingo Schwarze
avoid \*(Gt and \*(Lt, .Dv NULL, .Cm for pledge promises
2020-06-20add missing ENVIRONMENT. HISTORY, and AUTHORS sections,Ingo Schwarze
and a few other wording and markup improvements while here; OK jmc@ ratchov@
2020-06-18uint8_t is a discrete, not a continuous type,Ingo Schwarze
and some other wording improvements with respect to types; OK ratchov@
2020-06-18Many of these functions have several arguments, and some argumentsIngo Schwarze
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.
2020-06-18basic macro cleanup, and reword two phrases about closed intervalsIngo Schwarze
of integers for clarity and to read better; one of the issues (abuse of .Sm) was originally reported by jmc@; ok jmc@ ratchov@
2020-06-18Document sioctl_desc structure maxval attributeAlexandre Ratchov
2020-05-25Add missing .Xr and .Nm, reword and simplify few sentencesAlexandre Ratchov
from schwarze@
2020-05-19remove information already given in same sentence;Jason McIntyre
ok ratchov
2020-05-19Replace off-topic parts of the desciption by an architecture overviewAlexandre 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
2020-04-30If no "xxx.mute" control is found, try "xxx_mute"Alexandre Ratchov
Certain drivers (azalia, uaudio) use a control with the "_mute" suffix to expose the "mute" knob.
2020-04-21move mixerctl and audioctl man pages to section 8, as these workTheo de Raadt
against root-only device nodes.
2020-04-19spelling fix;Jason McIntyre
2020-04-19Mention SIO_DEVANY instead of nonexistent SIOCTL_DEVANY constantIngo Feinerer
OK ratchov@
2020-02-26Fix .Dt line and copyright year.Alexandre Ratchov
From jmc@, thanks.
2020-02-26Add API to control audio device parameters exposed by sndiod.Alexandre Ratchov
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
2019-07-12Add affinity between the program and its mixer control.Alexandre Ratchov
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.
2019-07-05Add forgotten copyright notice, found by Jason Thorpe <thorpej at me.com>.Alexandre Ratchov
Thanks!
2019-06-29Check if syscalls return -1 instead of any negative value.Alexandre Ratchov
"Looks right" deraadt
2019-06-28When system calls indicate an error they return -1, not some arbitraryTheo de Raadt
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.
2019-06-28mkstemp() returns -1 on failureTheo de Raadt
2019-03-28Wait until server disconnects before closing the socket. Otherwise,Alexandre Ratchov
last bytes sent may be lost by the server.
2019-01-18Sayt that using capabilities to negociate audio parameters (ie usingAlexandre Ratchov
sio_getcap() function) is not recomended. From Paul Swanson <psw at protonmail.com>, ok jmc
2018-12-18"a" MIDI, not "an";Jason McIntyre
2018-10-31remove a guard in mio_read(), mio_write, sio_read() & sio_write() for amiko
zero length request. return value of zero is preserved in this case. OK ratchov@
2018-09-26call _sndio_parsenum() instead of duplicating the code in parsedev(); ok ↵miko
ratchov@