- Backport fix patches from upstream: 0001-pcm-route-Fix-use_getput-flag-computation-for-3-byte.patch 0002-conf-ucm-Rearrange-Makefile.am.patch 0003-conf-ucm-Add-dual-HD-audio-codecs-config-for-Lenovo.patch 0004-conf-ucm-Add-Gigabyte-mobo-UCM-profile-with-dual-HD-.patch - Add missing UCM profile for chtcx2072x (bsc#1068546) OBS-URL: https://build.opensuse.org/request/show/558222 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=223
39 lines
1.5 KiB
Diff
39 lines
1.5 KiB
Diff
From 6f52b3d643fc68bf1b6a2839696385f0b2b3f327 Mon Sep 17 00:00:00 2001
|
|
From: "Maciej S. Szmigiero" <mail@maciej.szmigiero.name>
|
|
Date: Mon, 20 Nov 2017 13:12:32 +0100
|
|
Subject: [PATCH] pcm: route: Fix use_getput flag computation for 3 byte
|
|
formats
|
|
|
|
Commit de63b942acf520 ("pcm: route: Use get/put labels for all 3 byte formats")
|
|
wanted to make the route plugin use get / put labels not only for 24-bit
|
|
physical width formats but also for 18 and 20-bit ones.
|
|
There was, however, a typo in that commit so a check for these widths
|
|
didn't really work.
|
|
|
|
Let's fix it now.
|
|
|
|
Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
---
|
|
src/pcm/pcm_route.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/pcm/pcm_route.c b/src/pcm/pcm_route.c
|
|
index 999a2eed3a25..1f485a8e79f9 100644
|
|
--- a/src/pcm/pcm_route.c
|
|
+++ b/src/pcm/pcm_route.c
|
|
@@ -567,8 +567,8 @@ static int snd_pcm_route_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t * params)
|
|
return err;
|
|
/* 3 bytes formats? */
|
|
route->params.use_getput =
|
|
- (snd_pcm_format_physical_width(src_format) + 7) / 3 == 3 ||
|
|
- (snd_pcm_format_physical_width(dst_format) + 7) / 3 == 3;
|
|
+ (snd_pcm_format_physical_width(src_format) + 7) / 8 == 3 ||
|
|
+ (snd_pcm_format_physical_width(dst_format) + 7) / 8 == 3;
|
|
route->params.get_idx = snd_pcm_linear_get_index(src_format, SND_PCM_FORMAT_S32);
|
|
route->params.put_idx = snd_pcm_linear_put_index(SND_PCM_FORMAT_S32, dst_format);
|
|
route->params.conv_idx = snd_pcm_linear_convert_index(src_format, dst_format);
|
|
--
|
|
2.15.1
|
|
|