From 19a67a2da59979d78f291e64f018830742ca7610 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 1 Dec 2020 10:45:24 +0100 Subject: [PATCH] media-session: add option to disable hardware volume See #426 --- src/examples/media-session/alsa-monitor.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/examples/media-session/alsa-monitor.c b/src/examples/media-session/alsa-monitor.c index 6154d4ca0..c085a65f8 100644 --- a/src/examples/media-session/alsa-monitor.c +++ b/src/examples/media-session/alsa-monitor.c @@ -795,7 +795,7 @@ static struct device *alsa_create_device(struct impl *impl, uint32_t id, { struct device *device; int res; - const char *card, *factory_name; + const char *str, *card, *factory_name, *name; pw_log_debug("new device %u", id); @@ -826,6 +826,12 @@ static struct device *alsa_create_device(struct impl *impl, uint32_t id, device->pending_profile = 1; spa_list_append(&impl->device_list, &device->link); + if ((str = pw_properties_get(impl->session->props, "alsa.soft-mixer")) != NULL && + (name = pw_properties_get(device->props, "device.name")) != NULL && + strstr(str, name) != NULL) { + pw_properties_set(device->props, "api.alsa.soft-mixer", "true"); + } + if (impl->conn && (card = spa_dict_lookup(info->props, SPA_KEY_API_ALSA_CARD)) != NULL) { const char *reserve;