Audio in 1004
Alternate sound configurations can be set in /etc/pluto.conf. MOST sound cards should work out of the box, and do not require this parameter. This can be done at avwizard on the Audio Selector step 5, or at any time by running /usr/pluto/bin/SetupAudioVideo.sh NOTE: Audio/video should NOT be actively playing when running SetupAudioVideo.sh.
Below are example /etc/asound.conf files generated by these configurations. /etc/pluto/xine.conf files borrow the card# and device# (if any) as shown by the asound.conf
AlternateSC = null : Most cards function without this parameter, this is the default state.
- Analog, Optical, Coax and HDMI are treated the way they always have been, given only the card# to write to
- nVidia GT series HDMI is automatically detected, and given a special set of values, also using the card# and the device#.
AlternateSC = 1 : Should only be necessary with some newer non-GT series nvidia and oddballs.
- Analog.2C_Optical.2C_Coax, Optical, and Coax are given the card# and the device# to write to the confs.
AlternateSC = 2 : should only be necessary for HDMI oddballs that do not work under other two schemes, covers newer equipment.
- HDMI are given the GT series extended scheme, including both the card# and device#.
AlternateSC = null
Analog, Optical, Coax, HDMI
</etc/pluto/alsa/virtual_cards.conf>
pcm_slave.spdif_convert48k {
pcm "spdif:0"
rate 48000
}
pcm.spdif_playback {
type plug
slave spdif_convert48k
}
pcm_slave.hdmi_convert48k {
pcm "hdmi:0"
rate 48000
}
pcm.hdmi_playback {
type plug
slave hdmi_convert48k
}
pcm.asym_spdif {
type asym
playback.pcm "spdif_playback"
capture.pcm "plughw:0"
}
pcm.asym_hdmi {
type asym
playback.pcm "hdmi_playback"
capture.pcm "plughw:0"
}
pcm.asym_analog {
type asym
playback.pcm "plug:dmix:0"
capture.pcm "plughw:0"
}
pcm.!default asym_analog
nVidia GT series HDMI
</etc/pluto/alsa/virtual_cards.conf>
pcm_slave.spdif_convert48k {
pcm "spdif:1,7"
rate 48000
}
pcm.spdif_playback {
type plug
slave spdif_convert48k
}
pcm_slave.hdmi_convert48k {
pcm "hdmi:1,7"
rate 48000
}
pcm.hdmi_playback {
type plug
slave hdmi_convert48k
}
pcm.asym_spdif {
type asym
playback.pcm "spdif_playback"
capture.pcm "plughw:1,7"
}
pcm.asym_hdmi {
type asym
playback.pcm "hdmi_playback"
capture.pcm "plughw:1,7"
}
pcm.asym_analog {
type asym
playback.pcm "plug:dmix:1,7"
capture.pcm "plughw:1,7"
}
pcm.!hdmi {
@args [ AES0 AES1 AES2 AES3 ]
@args.AES0 {
type integer
# consumer, not-copyright, emphasis-none, mode=0
default 0x04
}
@args.AES1 {
type integer
# original, PCM coder
default 0x00
}
@args.AES2 {
type integer
# source and channel
default 0x00
}
@args.AES3 {
type integer
# fs=48000Hz, clock accuracy=1000ppm
default 0x00
}
type hooks
slave.pcm {
type hw
card 1
device 7
}
hooks.0 {
type ctl_elems
hook_args [
{
name "IEC958 Playback Default"
lock true
preserve true
value [ $AES0 $AES1 $AES2 $AES3 ]
}
{
name "IEC958 Playback Switch"
lock true
preserve true
value true
}
]
}
}
pcm.!default asym_hdmi
Alternate = 1
Analog, Optical, Coax, and HDMI
</etc/pluto/alsa/virtual_cards.conf>
pcm_slave.spdif_convert48k {
pcm "spdif:0,3"
rate 48000
}
pcm.spdif_playback {
type plug
slave spdif_convert48k
}
pcm_slave.hdmi_convert48k {
pcm "hdmi:0,3"
rate 48000
}
pcm.hdmi_playback {
type plug
slave hdmi_convert48k
}
pcm.asym_spdif {
type asym
playback.pcm "spdif_playback"
capture.pcm "plughw:0,3"
}
pcm.asym_hdmi {
type asym
playback.pcm "hdmi_playback"
capture.pcm "plughw:0,3"
}
pcm.asym_analog {
type asym
playback.pcm "plug:dmix:0,3"
capture.pcm "plughw:0,3"
}
pcm.!default asym_hdmi
Alternate = 2
HDMI
</etc/pluto/alsa/virtual_cards.conf>
pcm_slave.spdif_convert48k {
pcm "spdif:0,3"
rate 48000
}
pcm.spdif_playback {
type plug
slave spdif_convert48k
}
pcm_slave.hdmi_convert48k {
pcm "hdmi:0,3"
rate 48000
}
pcm.hdmi_playback {
type plug
slave hdmi_convert48k
}
pcm.asym_spdif {
type asym
playback.pcm "spdif_playback"
capture.pcm "plughw:0,3"
}
pcm.asym_hdmi {
type asym
playback.pcm "hdmi_playback"
capture.pcm "plughw:0,3"
}
pcm.asym_analog {
type asym
playback.pcm "plug:dmix:1,7"
capture.pcm "plughw:0,3"
}
pcm.!hdmi {
@args [ AES0 AES1 AES2 AES3 ]
@args.AES0 {
type integer
# consumer, not-copyright, emphasis-none, mode=0
default 0x04
}
@args.AES1 {
type integer
# original, PCM coder
default 0x00
}
@args.AES2 {
type integer
# source and channel
default 0x00
}
@args.AES3 {
type integer
# fs=48000Hz, clock accuracy=1000ppm
default 0x00
}
type hooks
slave.pcm {
type hw
card 0
device 3
}
hooks.0 {
type ctl_elems
hook_args [
{
name "IEC958 Playback Default"
lock true
preserve true
value [ $AES0 $AES1 $AES2 $AES3 ]
}
{
name "IEC958 Playback Switch"
lock true
preserve true
value true
}
]
}
}
pcm.!default asym_hdmi