pulseaudio/0037-alsa-handle-unavailbale-HW-volume-in-UCM.patch
Takashi Iwai 1de102e500 Accepting request 809086 from home:tiwai:branches:multimedia:libs
- Backport upstream fixes for ALSA UCM profile handling
  (boo#1171492):
  0033-alsa-Document-that-mixer-elements-can-be-identified-.patch
  0034-alsa-ucm-correct-the-channel-default-logic-stereo.patch
  0035-alsa-ucm-do-not-assign-JackHWMute-when-JackControl-i.patch
  0036-ucm-Don-t-log-errors-during-normal-operation.patch
  0037-alsa-handle-unavailbale-HW-volume-in-UCM.patch
  0038-alsa-ucm-use-the-right-profile-name.patch
  0039-ucm-fix-the-port-ucm-device-activation-on-boot.patch
  0040-alsa-sink-source-fix-the-mixer-initialization.patch

OBS-URL: https://build.opensuse.org/request/show/809086
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pulseaudio?expand=0&rev=219
2020-05-27 06:23:43 +00:00

42 lines
1.4 KiB
Diff

From f3f16fe6df087e37f219fd829ae5f647c40fc456 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Fri, 20 Mar 2020 12:03:08 +0100
Subject: [PATCH] alsa: handle unavailbale HW volume in UCM
It is possible that UCM doesn't specify hardware volume controls.
Fall back to software controls instead of aborting.
---
src/modules/alsa/alsa-sink.c | 2 +-
src/modules/alsa/alsa-source.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
index 042d4dfd9c89..65430caed902 100644
--- a/src/modules/alsa/alsa-sink.c
+++ b/src/modules/alsa/alsa-sink.c
@@ -1654,7 +1654,7 @@ static int sink_set_port_ucm_cb(pa_sink *s, pa_device_port *p) {
pa_assert(u->ucm_context);
data = PA_DEVICE_PORT_DATA(p);
- pa_assert_se(u->mixer_path = data->path);
+ u->mixer_path = data->path;
mixer_volume_init(u);
if (s->flags & PA_SINK_DEFERRED_VOLUME)
diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c
index 104de4e266dd..c33f81e35c18 100644
--- a/src/modules/alsa/alsa-source.c
+++ b/src/modules/alsa/alsa-source.c
@@ -1525,7 +1525,7 @@ static int source_set_port_ucm_cb(pa_source *s, pa_device_port *p) {
pa_assert(u->ucm_context);
data = PA_DEVICE_PORT_DATA(p);
- pa_assert_se(u->mixer_path = data->path);
+ u->mixer_path = data->path;
mixer_volume_init(u);
if (s->flags & PA_SOURCE_DEFERRED_VOLUME)
--
2.16.4