mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-03 09:01:52 -05:00
enable dmix-ing and proper 5.1 routing for USB audio devices
add a configuration file for USB audio devices
This commit is contained in:
parent
f54f03bfc4
commit
09eb800771
1 changed files with 334 additions and 0 deletions
334
src/conf/cards/USB-Audio.conf
Normal file
334
src/conf/cards/USB-Audio.conf
Normal file
|
|
@ -0,0 +1,334 @@
|
||||||
|
#
|
||||||
|
# USB-Audio.conf - configuration for USB Audio devices
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# DO NO EDIT; this is an internal ALSA file.
|
||||||
|
# If you want to add your own definitions, put them into /etc/asound.conf or
|
||||||
|
# ~/.asoundrc, with "cards." before the "USB-Audio", e.g.:
|
||||||
|
#
|
||||||
|
# cards.USB-Audio.pcm.use_dmix."NoiseBlaster 3000" no
|
||||||
|
#
|
||||||
|
# If your device requires such a definition to work correctly, please report it
|
||||||
|
# to <alsa-devel@lists.sourceforge.net>.
|
||||||
|
|
||||||
|
|
||||||
|
# If a device has sample formats not supported by dmix, dmix can be disabled
|
||||||
|
# here.
|
||||||
|
USB-Audio.pcm.use_dmix {
|
||||||
|
"AudioPhile" no # uses big-endian 24-bit samples
|
||||||
|
}
|
||||||
|
|
||||||
|
# If a device does not have a four-channel mode for the front/rear outputs,
|
||||||
|
# other modes can be selected here.
|
||||||
|
# six_channels - for devices that route the last two of the four channels
|
||||||
|
# to the center/LFE outputs
|
||||||
|
# two_stereo_devices - for devices that have two stereo audio interfaces
|
||||||
|
USB-Audio.pcm.surround40_type {
|
||||||
|
"AudioPhile" two_stereo_devices
|
||||||
|
"OmniStudio" two_stereo_devices
|
||||||
|
"Quattro" two_stereo_devices
|
||||||
|
"SB Audigy 2 NX" six_channels
|
||||||
|
}
|
||||||
|
|
||||||
|
# If a device does not use the first PCM device for digital data, the device
|
||||||
|
# number for the iec958 device can be changed here.
|
||||||
|
USB-Audio.pcm.iec958_device {
|
||||||
|
# "NoiseBlaster 3000" 42
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# If a device requires non-standard definitions for front, surround40,
|
||||||
|
# surround51, surround71 or iec958, they can be defined here.
|
||||||
|
|
||||||
|
# USB-Audio."NoiseBlaster 3000".pcm.surround51 {
|
||||||
|
# @args [ CARD ]
|
||||||
|
# @args.CARD { type string }
|
||||||
|
# ...
|
||||||
|
# }
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
<confdir:pcm/front.conf>
|
||||||
|
|
||||||
|
USB-Audio.pcm.front.0 {
|
||||||
|
@args [ CARD ]
|
||||||
|
@args.CARD { type string }
|
||||||
|
@func refer
|
||||||
|
name {
|
||||||
|
@func concat
|
||||||
|
strings [
|
||||||
|
"cards.USB-Audio."
|
||||||
|
{ @func card_name card $CARD }
|
||||||
|
".pcm.front:CARD=" $CARD
|
||||||
|
]
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
# We could use softvol, but the driver might have guessed a
|
||||||
|
# wrong name for the real volume control.
|
||||||
|
type hw
|
||||||
|
card $CARD
|
||||||
|
device 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
USB-Audio.pcm.default {
|
||||||
|
@args [ CARD ]
|
||||||
|
@args.CARD { type string }
|
||||||
|
type asym
|
||||||
|
playback.pcm {
|
||||||
|
type plug
|
||||||
|
slave.pcm {
|
||||||
|
@func refer
|
||||||
|
name {
|
||||||
|
@func concat
|
||||||
|
strings [
|
||||||
|
"cards.USB-Audio.pcm.default_playback_dmix_"
|
||||||
|
{
|
||||||
|
@func refer
|
||||||
|
name {
|
||||||
|
@func concat
|
||||||
|
strings [
|
||||||
|
"cards.USB-Audio.pcm.use_dmix."
|
||||||
|
{ @func card_name card $CARD }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
default yes
|
||||||
|
}
|
||||||
|
":CARD=" $CARD
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
capture.pcm {
|
||||||
|
type plug
|
||||||
|
slave.pcm {
|
||||||
|
@func concat
|
||||||
|
strings [ "dsnoop:" $CARD ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
USB-Audio.pcm.default_playback_dmix_yes {
|
||||||
|
@args [ CARD ]
|
||||||
|
@args.CARD { type string }
|
||||||
|
@func concat
|
||||||
|
strings [ "dmix:" $CARD ]
|
||||||
|
}
|
||||||
|
|
||||||
|
USB-Audio.pcm.default_playback_dmix_no {
|
||||||
|
@args [ CARD ]
|
||||||
|
@args.CARD { type string }
|
||||||
|
type hw
|
||||||
|
card $CARD
|
||||||
|
device 0
|
||||||
|
}
|
||||||
|
|
||||||
|
<confdir:pcm/surround40.conf>
|
||||||
|
|
||||||
|
USB-Audio.pcm.surround40.0 {
|
||||||
|
@args [ CARD ]
|
||||||
|
@args.CARD { type string }
|
||||||
|
@func refer
|
||||||
|
name {
|
||||||
|
@func concat
|
||||||
|
strings [
|
||||||
|
"cards.USB-Audio."
|
||||||
|
{ @func card_name card $CARD }
|
||||||
|
".pcm.surround40:CARD=" $CARD
|
||||||
|
]
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
@func refer
|
||||||
|
name {
|
||||||
|
@func concat
|
||||||
|
strings [
|
||||||
|
"cards.USB-Audio.pcm.surround40_"
|
||||||
|
{
|
||||||
|
@func refer
|
||||||
|
name {
|
||||||
|
@func concat
|
||||||
|
strings [
|
||||||
|
"cards.USB-Audio.pcm.surround40_type."
|
||||||
|
{ @func card_name card $CARD }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
default default
|
||||||
|
}
|
||||||
|
":CARD=" $CARD
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
USB-Audio.pcm.surround40_default {
|
||||||
|
@args [ CARD ]
|
||||||
|
@args.CARD { type string }
|
||||||
|
type hw
|
||||||
|
card $CARD
|
||||||
|
device 0
|
||||||
|
}
|
||||||
|
|
||||||
|
USB-Audio.pcm.surround40_six_channels {
|
||||||
|
@args [ CARD ]
|
||||||
|
@args.CARD { type string }
|
||||||
|
type route
|
||||||
|
ttable.0.0 1
|
||||||
|
ttable.1.1 1
|
||||||
|
ttable.2.4 1
|
||||||
|
ttable.3.5 1
|
||||||
|
slave {
|
||||||
|
pcm {
|
||||||
|
type hw
|
||||||
|
card $CARD
|
||||||
|
device 0
|
||||||
|
}
|
||||||
|
channels 6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
USB-Audio.pcm.surround40_two_stereo_devices {
|
||||||
|
@args [ CARD ]
|
||||||
|
@args.CARD { type string }
|
||||||
|
type route
|
||||||
|
ttable.0.0 1
|
||||||
|
ttable.1.1 1
|
||||||
|
ttable.2.2 1
|
||||||
|
ttable.3.3 1
|
||||||
|
slave.pcm {
|
||||||
|
type multi
|
||||||
|
slaves {
|
||||||
|
a {
|
||||||
|
pcm {
|
||||||
|
type hw
|
||||||
|
card $CARD
|
||||||
|
device 0
|
||||||
|
}
|
||||||
|
channels 2
|
||||||
|
}
|
||||||
|
b {
|
||||||
|
pcm {
|
||||||
|
type hw
|
||||||
|
card $CARD
|
||||||
|
device 1
|
||||||
|
}
|
||||||
|
channels 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bindings [
|
||||||
|
{ slave a channel 0 }
|
||||||
|
{ slave a channel 1 }
|
||||||
|
{ slave b channel 0 }
|
||||||
|
{ slave b channel 1 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
<confdir:pcm/surround41.conf>
|
||||||
|
<confdir:pcm/surround50.conf>
|
||||||
|
<confdir:pcm/surround51.conf>
|
||||||
|
|
||||||
|
USB-Audio.pcm.surround51.0 {
|
||||||
|
@args [ CARD ]
|
||||||
|
@args.CARD { type string }
|
||||||
|
@func refer
|
||||||
|
name {
|
||||||
|
@func concat
|
||||||
|
strings [
|
||||||
|
"cards.USB-Audio."
|
||||||
|
{ @func card_name card $CARD }
|
||||||
|
".pcm.surround51:CARD=" $CARD
|
||||||
|
]
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
type route
|
||||||
|
ttable.0.0 1
|
||||||
|
ttable.1.1 1
|
||||||
|
ttable.2.4 1
|
||||||
|
ttable.3.5 1
|
||||||
|
ttable.4.2 1
|
||||||
|
ttable.5.3 1
|
||||||
|
slave {
|
||||||
|
pcm {
|
||||||
|
type hw
|
||||||
|
card $CARD
|
||||||
|
device 0
|
||||||
|
}
|
||||||
|
channels 6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
<confdir:pcm/surround71.conf>
|
||||||
|
|
||||||
|
USB-Audio.pcm.surround71.0 {
|
||||||
|
@args [ CARD ]
|
||||||
|
@args.CARD { type string }
|
||||||
|
@func refer
|
||||||
|
name {
|
||||||
|
@func concat
|
||||||
|
strings [
|
||||||
|
"cards.USB-Audio."
|
||||||
|
{ @func card_name card $CARD }
|
||||||
|
".pcm.surround71:CARD=" $CARD
|
||||||
|
]
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
type route
|
||||||
|
ttable.0.0 1
|
||||||
|
ttable.1.1 1
|
||||||
|
ttable.2.4 1
|
||||||
|
ttable.3.5 1
|
||||||
|
ttable.4.2 1
|
||||||
|
ttable.5.3 1
|
||||||
|
ttable.6.6 1
|
||||||
|
ttable.7.7 1
|
||||||
|
slave {
|
||||||
|
pcm {
|
||||||
|
type hw
|
||||||
|
card $CARD
|
||||||
|
device 0
|
||||||
|
}
|
||||||
|
channels 8
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
<confdir:pcm/iec958.conf>
|
||||||
|
|
||||||
|
USB-Audio.pcm.iec958.0 {
|
||||||
|
@args [ CARD AES0 AES1 AES2 AES3 ]
|
||||||
|
@args.CARD { type string }
|
||||||
|
@args.AES0 { type integer }
|
||||||
|
@args.AES1 { type integer }
|
||||||
|
@args.AES2 { type integer }
|
||||||
|
@args.AES3 { type integer }
|
||||||
|
@func refer
|
||||||
|
name {
|
||||||
|
@func concat
|
||||||
|
strings [
|
||||||
|
"cards.USB-Audio."
|
||||||
|
{ @func card_name card $CARD }
|
||||||
|
".pcm.iec958:CARD=" $CARD
|
||||||
|
",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3
|
||||||
|
]
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
# FIXME: we cannot set the AES parameters
|
||||||
|
type hw
|
||||||
|
card $CARD
|
||||||
|
device {
|
||||||
|
@func refer
|
||||||
|
name {
|
||||||
|
@func concat
|
||||||
|
strings [
|
||||||
|
"cards.USB-Audio.pcm.iec958_device."
|
||||||
|
{ @func card_name card $CARD }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
default 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# vim: ft=alsaconf
|
||||||
Loading…
Add table
Add a link
Reference in a new issue