Difference between revisions of "Audio in 1004"
(→HDMI) |
|||
Line 240: | Line 240: | ||
pcm.asym_analog { | pcm.asym_analog { | ||
type asym | type asym | ||
− | playback.pcm "plug:dmix: | + | playback.pcm "plug:dmix:0,3" |
capture.pcm "plughw:0,3" | capture.pcm "plughw:0,3" | ||
} | } |
Revision as of 17:26, 23 October 2012
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 parameter may be written by /usr/pluto/bin/nvidia-install.sh for various GT chipsets. 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 the confs.
- 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 GT series nvidia that do not identify as second card or require backports, also supports other oddball devices.
- Analog, Optical, Coax, HDMI 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
AlternateSC = 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
AlternateSC = 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:0,3" 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