Use the sioctl_open(3) OpenBSD API to access vol
authorIngo Feinerer <feinerer@logic.at>
Sat, 9 May 2020 10:03:20 +0000 (12:03 +0200)
committerAaron Marcher <me@drkhsh.at>
Mon, 30 Nov 2020 20:24:33 +0000 (21:24 +0100)
commit9ac721c23fb640de2a6d1f84c84a79b2ccc26691
tree39236fa49f4142ff526ca55ba1958e307cf0e6a9
parentaaf279f6ddfb48146fc1a579efd83a55722910b5
Use the sioctl_open(3) OpenBSD API to access vol

Starting with OpenBSD 6.7 regular users cannot access raw audio devices
anymore, for improved security.

Instead use the sioctl_open(3) API to access and manipulate audio
controls exposed by sndiod(8). On the first call a permanent connection
is established with the running sndiod daemon, and call-back functions
are registered which are triggered when audio controls are changed
(e.g., a USB headset is attached) or when the volume is modified. On
subsequent calls we poll for changes; if there are no volume changes
this costs virtually nothing.

Joint work with Alexandre Ratchov
components/volume.c
config.def.h
config.mk