# 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. ; Default profile definitions for the ALSA backend of PulseAudio. This ; is used as fallback for all cards that have no special mapping ; assigned. (and should be good enough for the vast majority of ; cards). Use the udev property PULSE_PROFILE_SET to assign a ; different profile set than this one to a device. So what is this ; about? Simply, what we do here is map ALSA devices to how they are ; exposed in PA. We say which ALSA device string to use to open a ; device, which channel mapping to use then, and which mixer path to ; use. This is encoded in a 'mapping'. Multiple of these mappings can ; be bound together in a 'profile' which is then directly exposed in ; the UI as a card profile. Each mapping assigned to a profile will ; result in one sink/source to be created if the profile is selected ; for the card. ; [General] ; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate ; # them by combining every input mapping with every output mapping. ; ; [Mapping id] ; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. ; channel-map = ... # Channel mapping to use for this device ; description = ... ; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. ; # If multiple are found to be working they will be available as device ports ; paths-output = ... ; element-input = ... # Instead of configuring a full mixer path simply configure a single ; # mixer element for volume/mute handling ; element-output = ... ; priority = ... ; direction = any | input | output # Only useful for? ; ; [Profile id] ; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be ; # defined in this file too ; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be ; # defined in this file too ; description = ... ; priority = ... # Numeric value to deduce priority for this profile ; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile ; # will be assumed as working without probing. Makes initialization ; # a bit faster but only works if the card is really known well. [General] auto-profiles = yes [Mapping analog-mono] device-strings = hw:%f channel-map = mono paths-output = analog-output 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-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-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-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-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-lfe-on-mono priority = 8 direction = output [Mapping analog-surround-71] 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-lfe-on-mono priority = 7 direction = output [Mapping iec958-stereo] device-strings = iec958:%f channel-map = left,right priority = 5 [Mapping iec958-surround-40] device-strings = iec958:%f channel-map = front-left,front-right,rear-left,rear-right priority = 1 [Mapping iec958-ac3-surround-40] device-strings = a52:%f channel-map = front-left,front-right,rear-left,rear-right priority = 2 direction = output [Mapping iec958-ac3-surround-51] device-strings = a52:%f channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe priority = 3 direction = output [Mapping hdmi-stereo] device-strings = hdmi:%f channel-map = left,right priority = 4 direction = output ; An example for defining multiple-sink profiles #[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] #description = Foobar #output-mappings = analog-stereo iec958-stereo #input-mappings = analog-stereo