On Thu, Jul 01, 2021 at 08:59:04AM -0400, Mouse wrote: > > The primary gain control might not be the one currently responsible > > for output volume depending on the various DACs available. > > Possibly - but audioctl's play.gain field _does_ work to control the > output volume. I had thought audioctl's play.gain was just a different > interface to the same thing the play.gain field of struct audio_info > controls, which is why I found it puzzling that audioctl works but the > API I thought was equivalent doesn't.
audioctl is primarily for manipulating /dev/sound, which persists these settings between opens, whereas /dev/audio doesn't. audioctl works by performing SETINFO on /dev/audioctl. If you need the "audio device parameters persist between opens" feature I'd recommend using /dev/sound instead.