forked from pool/pulseaudio
Scott Reeves
b13b88dde5
Copy from home:sreeves1:branches:multimedia:libs/pulseaudio via accept of submit request 33727 revision 3. Request was accepted with message: OBS-URL: https://build.opensuse.org/request/show/33727 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pulseaudio?expand=0&rev=40
293 lines
10 KiB
Diff
293 lines
10 KiB
Diff
From e8cb96c0103d5bd23fe945afdc658a5f60b70a9d Mon Sep 17 00:00:00 2001
|
|
From: Lennart Poettering <lennart@poettering.net>
|
|
Date: Mon, 15 Feb 2010 22:23:39 +0100
|
|
Subject: [PATCH] alsa: cover "Desktop Speaker" mixer elements
|
|
|
|
As exposed by really old Microsoft USB sound systems
|
|
---
|
|
src/modules/alsa/alsa-mixer.c | 3 +-
|
|
.../mixer/paths/analog-output-desktop-speaker.conf | 98 ++++++++++++++++++++
|
|
.../mixer/paths/analog-output-headphones-2.conf | 4 +
|
|
.../alsa/mixer/paths/analog-output-headphones.conf | 4 +
|
|
.../mixer/paths/analog-output-lfe-on-mono.conf | 4 +
|
|
.../alsa/mixer/paths/analog-output-mono.conf | 4 +
|
|
.../alsa/mixer/paths/analog-output-speaker.conf | 4 +
|
|
src/modules/alsa/mixer/paths/analog-output.conf | 4 +
|
|
src/modules/alsa/mixer/profile-sets/default.conf | 14 ++--
|
|
9 files changed, 131 insertions(+), 8 deletions(-)
|
|
create mode 100644 src/modules/alsa/mixer/paths/analog-output-desktop-speaker.conf
|
|
|
|
diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
|
|
index 8bbd1f5..cb814af 100644
|
|
--- a/src/modules/alsa/alsa-mixer.c
|
|
+++ b/src/modules/alsa/alsa-mixer.c
|
|
@@ -1784,7 +1784,8 @@ static int path_verify(pa_alsa_path *p) {
|
|
{ "analog-output-lfe-on-mono", N_("Analog Output (LFE)") },
|
|
{ "analog-output-mono", N_("Analog Mono Output") },
|
|
{ "analog-output-headphones-2", N_("Analog Headphones 2") },
|
|
- { "analog-output-speaker", N_("Analog Speaker") }
|
|
+ { "analog-output-speaker", N_("Analog Speakers") }
|
|
+ { "analog-output-desktop-speaker", N_("Analog Speakers 2") }
|
|
};
|
|
|
|
pa_alsa_element *e;
|
|
diff --git a/src/modules/alsa/mixer/paths/analog-output-desktop-speaker.conf b/src/modules/alsa/mixer/paths/analog-output-desktop-speaker.conf
|
|
new file mode 100644
|
|
index 0000000..9f18b25
|
|
--- /dev/null
|
|
+++ b/src/modules/alsa/mixer/paths/analog-output-desktop-speaker.conf
|
|
@@ -0,0 +1,98 @@
|
|
+# This file is part of PulseAudio.
|
|
+#
|
|
+# PulseAudio is free software; you can redistribute it and/or modify
|
|
+# it under the terms of the GNU Lesser General Public License as
|
|
+# published by the Free Software Foundation; either version 2.1 of the
|
|
+# License, or (at your option) any later version.
|
|
+#
|
|
+# PulseAudio is distributed in the hope that it will be useful, but
|
|
+# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
+# General Public License for more details.
|
|
+#
|
|
+# You should have received a copy of the GNU Lesser General Public License
|
|
+# along with PulseAudio; if not, write to the Free Software Foundation,
|
|
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
|
|
+
|
|
+; Path for mixers that have a 'Desktop Speaker' control
|
|
+;
|
|
+; See analog-output.conf.common for an explanation on the directives
|
|
+
|
|
+[General]
|
|
+priority = 100
|
|
+
|
|
+[Element Hardware Master]
|
|
+switch = mute
|
|
+volume = merge
|
|
+override-map.1 = all
|
|
+override-map.2 = all-left,all-right
|
|
+
|
|
+[Element Master]
|
|
+switch = mute
|
|
+volume = merge
|
|
+override-map.1 = all
|
|
+override-map.2 = all-left,all-right
|
|
+
|
|
+[Element Master Mono]
|
|
+switch = off
|
|
+volume = off
|
|
+
|
|
+; This profile path is intended to control the desktop speaker, not
|
|
+; the headphones. But it should not hurt if we leave the headphone
|
|
+; jack enabled nonetheless.
|
|
+[Element Headphone]
|
|
+switch = mute
|
|
+volume = zero
|
|
+
|
|
+[Element Headphone2]
|
|
+switch = mute
|
|
+volume = zero
|
|
+
|
|
+[Element Speaker]
|
|
+switch = off
|
|
+volume = off
|
|
+
|
|
+[Element Desktop Speaker]
|
|
+required = any
|
|
+switch = mute
|
|
+volume = merge
|
|
+override-map.1 = all
|
|
+override-map.2 = all-left,all-right
|
|
+
|
|
+[Element Front]
|
|
+switch = mute
|
|
+volume = merge
|
|
+override-map.1 = all-front
|
|
+override-map.2 = front-left,front-right
|
|
+
|
|
+[Element Rear]
|
|
+switch = mute
|
|
+volume = merge
|
|
+override-map.1 = all-rear
|
|
+override-map.2 = rear-left,rear-right
|
|
+
|
|
+[Element Surround]
|
|
+switch = mute
|
|
+volume = merge
|
|
+override-map.1 = all-rear
|
|
+override-map.2 = rear-left,rear-right
|
|
+
|
|
+[Element Side]
|
|
+switch = mute
|
|
+volume = merge
|
|
+override-map.1 = all-side
|
|
+override-map.2 = side-left,side-right
|
|
+
|
|
+[Element Center]
|
|
+switch = mute
|
|
+volume = merge
|
|
+override-map.1 = all-center
|
|
+override-map.2 = all-center,all-center
|
|
+
|
|
+[Element LFE]
|
|
+switch = mute
|
|
+volume = merge
|
|
+override-map.1 = lfe
|
|
+override-map.2 = lfe,lfe
|
|
+
|
|
+.include analog-output.conf.common
|
|
diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones-2.conf b/src/modules/alsa/mixer/paths/analog-output-headphones-2.conf
|
|
index f2fd31c..580c798 100644
|
|
--- a/src/modules/alsa/mixer/paths/analog-output-headphones-2.conf
|
|
+++ b/src/modules/alsa/mixer/paths/analog-output-headphones-2.conf
|
|
@@ -55,6 +55,10 @@ override-map.2 = all-left,all-right
|
|
switch = off
|
|
volume = off
|
|
|
|
+[Element Desktop Speaker]
|
|
+switch = off
|
|
+volume = off
|
|
+
|
|
[Element Front]
|
|
switch = off
|
|
volume = off
|
|
diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
|
|
index 2131cfe..79ebc7f 100644
|
|
--- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf
|
|
+++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
|
|
@@ -55,6 +55,10 @@ volume = zero
|
|
switch = off
|
|
volume = off
|
|
|
|
+[Element Desktop Speaker]
|
|
+switch = off
|
|
+volume = off
|
|
+
|
|
[Element Front]
|
|
switch = off
|
|
volume = off
|
|
diff --git a/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf b/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf
|
|
index 0a43e27..67ee32f 100644
|
|
--- a/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf
|
|
+++ b/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf
|
|
@@ -58,6 +58,10 @@ volume = merge
|
|
override-map.1 = all
|
|
override-map.2 = all-left,all-right
|
|
|
|
+[Element Desktop Speaker]
|
|
+switch = off
|
|
+volume = off
|
|
+
|
|
[Element Front]
|
|
switch = off
|
|
volume = off
|
|
diff --git a/src/modules/alsa/mixer/paths/analog-output-mono.conf b/src/modules/alsa/mixer/paths/analog-output-mono.conf
|
|
index 542edc4..13a2d6a 100644
|
|
--- a/src/modules/alsa/mixer/paths/analog-output-mono.conf
|
|
+++ b/src/modules/alsa/mixer/paths/analog-output-mono.conf
|
|
@@ -55,6 +55,10 @@ volume = merge
|
|
override-map.1 = all
|
|
override-map.2 = all-left,all-right
|
|
|
|
+[Element Desktop Speaker]
|
|
+switch = off
|
|
+volume = off
|
|
+
|
|
[Element Front]
|
|
switch = off
|
|
volume = off
|
|
diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker.conf b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
|
|
index aea7853..b133a2e 100644
|
|
--- a/src/modules/alsa/mixer/paths/analog-output-speaker.conf
|
|
+++ b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
|
|
@@ -55,6 +55,10 @@ volume = merge
|
|
override-map.1 = all
|
|
override-map.2 = all-left,all-right
|
|
|
|
+[Element Desktop Speaker]
|
|
+switch = off
|
|
+volume = off
|
|
+
|
|
[Element Front]
|
|
switch = mute
|
|
volume = merge
|
|
diff --git a/src/modules/alsa/mixer/paths/analog-output.conf b/src/modules/alsa/mixer/paths/analog-output.conf
|
|
index d7c1223..50fc88e 100644
|
|
--- a/src/modules/alsa/mixer/paths/analog-output.conf
|
|
+++ b/src/modules/alsa/mixer/paths/analog-output.conf
|
|
@@ -53,6 +53,10 @@ volume = zero
|
|
switch = mute
|
|
volume = off
|
|
|
|
+[Element Desktop Speaker]
|
|
+switch = mute
|
|
+volume = off
|
|
+
|
|
[Element Front]
|
|
switch = mute
|
|
volume = merge
|
|
diff --git a/src/modules/alsa/mixer/profile-sets/default.conf b/src/modules/alsa/mixer/profile-sets/default.conf
|
|
index 046938f..5d352f1 100644
|
|
--- a/src/modules/alsa/mixer/profile-sets/default.conf
|
|
+++ b/src/modules/alsa/mixer/profile-sets/default.conf
|
|
@@ -62,42 +62,42 @@ auto-profiles = yes
|
|
[Mapping analog-mono]
|
|
device-strings = hw:%f
|
|
channel-map = mono
|
|
-paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono
|
|
+paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono
|
|
paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line
|
|
priority = 1
|
|
|
|
[Mapping analog-stereo]
|
|
device-strings = front:%f hw:%f
|
|
channel-map = left,right
|
|
-paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono
|
|
+paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono
|
|
paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line
|
|
priority = 10
|
|
|
|
[Mapping analog-surround-40]
|
|
device-strings = surround40:%f
|
|
channel-map = front-left,front-right,rear-left,rear-right
|
|
-paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
|
|
+paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono
|
|
priority = 7
|
|
direction = output
|
|
|
|
[Mapping analog-surround-41]
|
|
device-strings = surround41:%f
|
|
channel-map = front-left,front-right,rear-left,rear-right,lfe
|
|
-paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
|
|
+paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono
|
|
priority = 8
|
|
direction = output
|
|
|
|
[Mapping analog-surround-50]
|
|
device-strings = surround50:%f
|
|
channel-map = front-left,front-right,rear-left,rear-right,front-center
|
|
-paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
|
|
+paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono
|
|
priority = 7
|
|
direction = output
|
|
|
|
[Mapping analog-surround-51]
|
|
device-strings = surround51:%f
|
|
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
|
|
-paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
|
|
+paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono
|
|
priority = 8
|
|
direction = output
|
|
|
|
@@ -105,7 +105,7 @@ direction = output
|
|
device-strings = surround71:%f
|
|
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
|
|
description = Analog Surround 7.1
|
|
-paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
|
|
+paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono
|
|
priority = 7
|
|
direction = output
|
|
|
|
--
|
|
1.6.0.2
|
|
|