alsa: create a seperate mixer path for Speaker elements

On some cards line-out is independant of Sepaker and it is a good idea
to cover that so that they can independantly be activated.

https://bugzilla.redhat.com/show_bug.cgi?id=520884
This commit is contained in:
Lennart Poettering 2009-10-31 03:43:42 +01:00
parent 8a26fbf863
commit 4323c9f22f
4 changed files with 107 additions and 13 deletions

View file

@ -137,6 +137,7 @@ EXTRA_DIST = \
modules/alsa/mixer/paths/analog-input-tvtuner.conf \ modules/alsa/mixer/paths/analog-input-tvtuner.conf \
modules/alsa/mixer/paths/analog-input-video.conf \ modules/alsa/mixer/paths/analog-input-video.conf \
modules/alsa/mixer/paths/analog-output.conf \ modules/alsa/mixer/paths/analog-output.conf \
modules/alsa/mixer/paths/analog-output-speaker.conf \
modules/alsa/mixer/paths/analog-output.conf.common \ modules/alsa/mixer/paths/analog-output.conf.common \
modules/alsa/mixer/paths/analog-output-headphones.conf \ modules/alsa/mixer/paths/analog-output-headphones.conf \
modules/alsa/mixer/paths/analog-output-headphones-2.conf \ modules/alsa/mixer/paths/analog-output-headphones-2.conf \

View file

@ -0,0 +1,94 @@
# 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 '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 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]
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

View file

@ -14,12 +14,13 @@
# along with PulseAudio; if not, write to the Free Software Foundation, # along with PulseAudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
; Intended for the 'default' output ; Intended for the 'default' output. Note that a-o-speaker.conf has a
; higher priority than this
; ;
; See analog-output.conf.common for an explanation on the directives ; See analog-output.conf.common for an explanation on the directives
[General] [General]
priority = 100 priority = 99
[Element Hardware Master] [Element Hardware Master]
switch = mute switch = mute
@ -37,7 +38,7 @@ override-map.2 = all-left,all-right
switch = off switch = off
volume = off volume = off
; This profile path is intended to control the speaker, not the ; This profile path is intended to control the default output, not the
; headphones. But it should not hurt if we leave the headphone jack ; headphones. But it should not hurt if we leave the headphone jack
; enabled nonetheless. ; enabled nonetheless.
[Element Headphone] [Element Headphone]
@ -50,9 +51,7 @@ volume = zero
[Element Speaker] [Element Speaker]
switch = mute switch = mute
volume = merge volume = off
override-map.1 = all
override-map.2 = all-left,all-right
[Element Front] [Element Front]
switch = mute switch = mute

View file

@ -62,42 +62,42 @@ auto-profiles = yes
[Mapping analog-mono] [Mapping analog-mono]
device-strings = hw:%f device-strings = hw:%f
channel-map = mono channel-map = mono
paths-output = analog-output analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono paths-output = analog-output analog-output-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 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 priority = 1
[Mapping analog-stereo] [Mapping analog-stereo]
device-strings = front:%f hw:%f device-strings = front:%f hw:%f
channel-map = left,right channel-map = left,right
paths-output = analog-output analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono paths-output = analog-output analog-output-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 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 priority = 10
[Mapping analog-surround-40] [Mapping analog-surround-40]
device-strings = surround40:%f device-strings = surround40:%f
channel-map = front-left,front-right,rear-left,rear-right channel-map = front-left,front-right,rear-left,rear-right
paths-output = analog-output analog-output-lfe-on-mono paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
priority = 7 priority = 7
direction = output direction = output
[Mapping analog-surround-41] [Mapping analog-surround-41]
device-strings = surround41:%f device-strings = surround41:%f
channel-map = front-left,front-right,rear-left,rear-right,lfe channel-map = front-left,front-right,rear-left,rear-right,lfe
paths-output = analog-output analog-output-lfe-on-mono paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
priority = 8 priority = 8
direction = output direction = output
[Mapping analog-surround-50] [Mapping analog-surround-50]
device-strings = surround50:%f device-strings = surround50:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center channel-map = front-left,front-right,rear-left,rear-right,front-center
paths-output = analog-output analog-output-lfe-on-mono paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
priority = 7 priority = 7
direction = output direction = output
[Mapping analog-surround-51] [Mapping analog-surround-51]
device-strings = surround51:%f device-strings = surround51:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
paths-output = analog-output analog-output-lfe-on-mono paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
priority = 8 priority = 8
direction = output direction = output
@ -105,7 +105,7 @@ direction = output
device-strings = surround71:%f device-strings = surround71:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
description = Analog Surround 7.1 description = Analog Surround 7.1
paths-output = analog-output analog-output-lfe-on-mono paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
priority = 7 priority = 7
direction = output direction = output