Ok you need to setup a .asoundrc for the mythtv user that does all of the correct audio routing.
Copy the enclosed to .asoundrc and you should be able to route both PCM and AC3 via your digital out.
Code:
# Override the default output used by ALSA.
# If you do not override the default, your default
# device is identical to the (unmixed) analog device
# shown below. If you prefer mixed and/or digital
# output, uncomment the appropriate four lines below
# (only one slave.pcm line).
pcm.!default {
type plug
## Uncomment the following to use mixed analog by default
# slave.pcm "dmix-analog"
## Uncomment the following to use unmixed digital by default
# slave.pcm "digital-hw"
## Uncomment the following to use mixed digital by default
# slave.pcm "dmix-digital"
## Uncomment the following to use analog & digital at same time by default
slave.pcm "anadig-hw"
# slave.pcm "anadig-hw8"
}
# Alias for analog output on the nForce2/4 (hw:0,0)
# - This is identical to the device named "default"--which
# always exists and refers to hw:0,0 (unless overridden)
# - Therefore, we can specify "hw:0,0", "default", or "analog"
# to access analog output on the nForce2/4
pcm.analog {
type plug
slave.pcm "analog-hw"
}
# Control device (mixer, etc.) for the nForce2 card
ctl.analog {
type hw
card 0
}
# Alias for (rate-converted) mixed analog output on the
# nForce2 (hw:0,0)
# - This will accept audio input--regardless of rate--and
# convert to the rate required for the dmix plugin
# (in this case 48000Hz)
pcm.mixed-analog {
type plug
slave.pcm "dmix-analog"
}
# Control device (mixer, etc.) for the nForce2 card
ctl.mixed-analog {
type hw
card 0
}
# Alias for (rate-converted) digital (S/PDIF) output on the
# nForce2 (hw:0,1)
# - This will accept audio input--regardless of rate--and
# convert to the rate required for the S/PDIF hardware
# (in this case 48000Hz)
pcm.digital {
type plug
slave.pcm "digital-hw"
}
# Control device (mixer, etc.) for the nForce2 card
ctl.digital {
type hw
card 0
}
# Alias for mixed (rate-converted) digital (S/PDIF) output on the
# nForce2/4 (hw:0,1)
# - This will accept audio input--regardless of rate--and
# convert to the rate required for the S/PDIF hardware
# (in this case 48000Hz)
pcm.mixed-digital {
type plug
slave.pcm "dmix-digital"
}
# Control device (mixer, etc.) for the nForce2 card
ctl.mixed-digital {
type hw
card 0
}
# The following devices are not useful by themselves. They
# require specific rates, channels, and formats. Therefore,
# you probably do not want to use them directly. Instead use
# of of the devices defined above.
# Alias for analog output on the nForce2 (hw:0,0)
# Do not use this directly--it requires specific rate,
# channels, and format
pcm.analog-hw {
type hw
card 0
# The default value for device is 0, so no need to specify
}
# Control device (mixer, etc.) for the nForce2/4 card
ctl.analog-hw {
type hw
card 0
}
# Alias for (rate-converted) digital (S/PDIF) output on the
# nForce2 (hw:0,1)
# - This will accept audio input--regardless of rate--and
# convert to the rate required for the S/PDIF hardware
# (in this case 48000Hz)
pcm.digital {
type plug
slave.pcm "digital-hw"
}
# Control device (mixer, etc.) for the nForce2 card
ctl.digital {
type hw
card 0
}
# Alias for mixed (rate-converted) digital (S/PDIF) output on the
# nForce2/4 (hw:0,1)
# - This will accept audio input--regardless of rate--and
# convert to the rate required for the S/PDIF hardware
# (in this case 48000Hz)
pcm.mixed-digital {
type plug
slave.pcm "dmix-digital"
}
# Control device (mixer, etc.) for the nForce2 card
ctl.mixed-digital {
type hw
card 0
}
# The following devices are not useful by themselves. They
# require specific rates, channels, and formats. Therefore,
# you probably do not want to use them directly. Instead use
# of of the devices defined above.
# Alias for analog output on the nForce2 (hw:0,0)
# Do not use this directly--it requires specific rate,
# channels, and format
pcm.analog-hw {
type hw
card 0
# The default value for device is 0, so no need to specify
}
# Control device (mixer, etc.) for the nForce2/4 card
ctl.analog-hw {
type hw
card 0
}
# Alias for digital (S/PDIF) output on the nForce2/4 (hw:0,1)
# Do not use this directly--it requires specific rate,
# channels, and format
pcm.digital-hw {
type hw
card 0
device 1
}
# Control device (mixer, etc.) for the nForce2/4 card
ctl.digital-hw {
type hw
card 0
}
# Direct software mixing plugin for analog output on
# the nForce2/4 (hw:0,0)
# Do not use this directly--it requires specific rate,
# channels, and format
pcm.dmix-analog {
type dmix
ipc_key 1234
slave {
pcm "analog-hw"
period_time 0
period_size 1024
buffer_size 4096
rate 48000
}
}
# Control device (mixer, etc.) for the nForce2/4 card
ctl.dmix-analog {
type hw
card 0
}
# Direct software mixing plugin for digital (S/PDIF) output
# on the nForce2/4 (hw:0,1)
# Do not use this directly--it requires specific rate,
# channels, and format
pcm.dmix-digital {
type dmix
ipc_key 1235
slave {
pcm "digital-hw"
period_time 0
period_size 1024
buffer_size 4096
rate 48000
}
# Control device (mixer, etc.) for the nForce2/4 card
ctl.dmix-digital {
type hw
card 0
}
###################################################
# Setup for Analog + Digital dual ouput
#
# Taken From Knoppmyth Forum Posting
# http://mysettopbox.tv/phpBB2/viewtopic.php?t=8369
# this device dups audio to both digital and analog outs (ac3 will give noise on analog outs)
# I use script so mplayer & xine only send ac3 if myth ac3 flag is on
pcm.anadig {
type plug
slave.pcm "anadig-hw"
}
# Control device (mixer, etc.) for the nForce2 card
ctl.anadig {
type hw
card 0
}
# this one creates a four-channel output PCM device
pcm.multi-anadig {
type multi;
slaves.a.pcm "analog-hw"; # this is the default output
slaves.a.channels 2;
slaves.b.pcm "digital-hw"; # this is the SPDIF output
slaves.b.channels 2;
bindings.0.slave a;
bindings.0.channel 0;
bindings.1.slave a;
bindings.1.channel 1;
bindings.2.slave b;
bindings.2.channel 0;
bindings.3.slave b;
bindings.3.channel 1;
}
ctl.multi-anadig {
type hw;
card 0;
}
# this duplicates input from 2 channels to 4 channels and
# sends the output to multi, above.
pcm.anadig-hw {
type route;
slave.pcm "multi-anadig";
slave.channels 4;
ttable.0.0 1;
ttable.1.1 1;
ttable.0.2 1;
ttable.1.3 1;
}
ctl.anadig-hw {
type hw;
card 0;
}
_________________
OpenMedia Limited
New Zealands first open source PVR based on Knoppmyth
http://www.openmedia.co.nz for details