Module Name: src
Committed By: nia
Date: Mon May 20 22:21:45 UTC 2024
Modified Files:
src/usr.bin/aiomixer: main.c
Log Message:
aiomixer(1): Fix setting volume on sb(4) emulated in QEMU.
The driver does not return a "delta", assume it's 16.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/usr.bin/aiomixer/main.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/aiomixer/main.c
diff -u src/usr.bin/aiomixer/main.c:1.5 src/usr.bin/aiomixer/main.c:1.6
--- src/usr.bin/aiomixer/main.c:1.5 Thu Jun 29 19:06:54 2023
+++ src/usr.bin/aiomixer/main.c Mon May 20 22:21:45 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.5 2023/06/29 19:06:54 nia Exp $ */
+/* $NetBSD: main.c,v 1.6 2024/05/20 22:21:45 nia Exp $ */
/*-
* Copyright (c) 2021 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -149,7 +149,12 @@ slide_control(struct aiomixer *aio,
switch (info->type) {
case AUDIO_MIXER_VALUE:
- delta = right ? info->un.v.delta : -info->un.v.delta;
+ if (info->un.v.delta != 0) {
+ delta = right ? info->un.v.delta : -info->un.v.delta;
+ } else {
+ /* delta is 0 in qemu with sb(4) */
+ delta = right ? 16 : -16;
+ }
/*
* work around strange problem where the level can be
* increased but not decreased, seen with uaudio(4)