|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
From 9641a4f5e8601350f67e89480e41aaf3a64b8799 Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
From: Jaroslav Kysela <perex@perex.cz>
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
Date: Tue, 11 Feb 2020 10:54:16 +0100
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
Subject: [PATCH 1/5] alsa-ucm: correct the channel default logic (stereo)
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
---
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
src/modules/alsa/alsa-ucm.c | 13 ++++++++++---
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
1 file changed, 10 insertions(+), 3 deletions(-)
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
diff --git a/src/modules/alsa/alsa-ucm.c b/src/modules/alsa/alsa-ucm.c
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
index a57be6d22..b7d2c5b9c 100644
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
--- a/src/modules/alsa/alsa-ucm.c
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
+++ b/src/modules/alsa/alsa-ucm.c
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
@@ -377,6 +377,13 @@ static int ucm_get_device_property(
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
pa_log("UCM playback device %s fetch pcm failed", device_name);
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
}
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
+ if (pa_proplist_gets(device->proplist, PA_ALSA_PROP_UCM_SINK) &&
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
+ device->playback_channels == 0) {
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
+ pa_log("UCM file does not specify 'PlaybackChannels' "
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
+ "for device %s, assuming stereo duplex.", device_name);
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
+ device->playback_channels = 2;
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
+
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
value = pa_proplist_gets(device->proplist, PA_ALSA_PROP_UCM_CAPTURE_CHANNELS);
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
if (value) { /* input */
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
/* get channels */
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
@@ -391,10 +398,10 @@ static int ucm_get_device_property(
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
pa_log("UCM capture device %s fetch pcm failed", device_name);
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
}
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
- if (device->playback_channels == 0 && device->capture_channels == 0) {
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
- pa_log_warn("UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'"
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
+ if (pa_proplist_gets(device->proplist, PA_ALSA_PROP_UCM_SOURCE) &&
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
+ device->capture_channels == 0) {
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
+ pa_log("UCM file does not specify 'CaptureChannels' "
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
"for device %s, assuming stereo duplex.", device_name);
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
- device->playback_channels = 2;
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
device->capture_channels = 2;
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
}
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
--
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
2.24.1
|
|
![](https://seccdn.libravatar.org/avatar/70bc66c9e23b55d072f98e20500131b2f25b684fb170b57e170a9d412ce22b8f?s=16&d=retro) |
de7aed4 |
|