
mythtv-user at comcast
Aug 19, 2006, 7:01 PM
Post #5 of 43
(4173 views)
Permalink
|
|
Re: AC3 Passthrough Problems - snd_hda_intel users
[In reply to]
|
|
Any ideas? If you are making use of the snd_hda_intel driver to deliver digital surround sound, could you post your asound.conf/.asoundrc, modprobe.conf, alsa version, etc? Thanks! On Mon, 2006-08-14 at 22:34 -0700, Matt Redmon wrote: > I'm having some problems getting surround sound out of MythTV and into > my receiver. > > The following command will put out AC3 surround sound audio: > mplayer -ac hwac3 -ao alsa:device=analog > > If I change the device over to "digital" I get static: > mplayer -ac hwac3 -ao alsa:device=digital > > Both of the following will put out analog 2-channel audio: > mplayer -ao alsa:device=analog > mplayer -ao alsa:device=digital > But the latter one has static mixed in with the sound > > Neither of the following will work in MythTV when "Pass AC3 To SPDIF" is > checked: > ALSA:analog > ALSA:digital > > But ALSA:analog will work as long as "Pass AC3 To SPDIF" is not checked. > > Xine works just fine for AC3 surround sound. All I had to do was change > the speaker arrangement to Passthrough. > > Any idea why both xine and mplayer will work but MythTV won't? > > I have an Intel HDA audio device on my D915PBL motherboard. All of my > recordings have AC3 sound. > > Thanks! > > Matt > > > > > > > My /etc/asound.conf: > # ALSA configuration file > > ##### USAGE ##### > # Save this file as "~/.asoundrc" (for user-specific sound > configuration) or > # "/etc/asound.conf" (for system-wide sound configuration) and specify > ALSA > # device names ad described in the next section. > > > ##### DEVICE NAMES ##### > # This configuration file defines four devices for use by the user. > Those > # devices are "analog", "mixed-analog", "digital", and "mixed-digital". > The > # user may also re-define "default" to be identical to one of the > above-named > # devices (i.e. to send all sound output to the digital output unless > otherwise > # specified). Use the device names as described below: > # - "analog" outputs to the analog output directly and (at least on > software > # sound cards) blocks other audio output. After playback completes, > "queued" > # sounds are output in sequence. > # - "mixed-analog" mixes audio output from multiple programs into the > analog > # output (so you can hear beeps, alerts, and other noises while playing > back > # an audio stream). > # - "digital" outputs to the digital output directly. Since most > (all?) > # digital outputs expect 48kHz PCM audio, this may not work for some > playback > # (i.e. CD's--which are 44.1kHz PCM audio--or 32kHz audio streams from > TV > # recordings, etc.). > # - "mixed-digital" > > # All other devices created within this file are used only by the > configuration > # file itself and should /not/ be used directly. In other words, do not > use > # the devices "analog-hw", "dmix-analog", "digital-hw", or > "dmix-digital". > > > ##### IMPORTANT ##### > # To make this ALSA configuration file work with your sound card, you > will need > # to define the appropriate card and device information for the > "analog-hw" and > # "digital-hw" devices below. You can find the card and device > information > # using "aplay -l". > > > ##### Configuration File ##### > > # 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). > # > # Note, also, that as of ALSA 1.0.9, "software" sound cards have been > modified > # such that their default "default" device is identical to the > "mixed-analog" > # device. Whether using an ALSA version before or after 1.0.9, it does > no harm > # and has no affect on performance to redefine the device (even if the > # redefinition does not change anything). Also, by using this ALSA > # configuration file, you once again have access to unmixed analog > output using > # the "analog" device. > 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" > } > > # Control device (mixer, etc.) for the card > ctl.!default { > type hw > card 0 > } > > # Alias for (converted) analog output on the card > # - 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 card > # - Note that as of ALSA 1.0.9, "software" sound card definitions > redefine > # "default" to do mixing, meaning this device is different from > "default" and > # allows playback while blocking other sound sources (until playback > # completes). > pcm.analog { > type plug > slave.pcm "analog-hw" > } > > # Control device (mixer, etc.) for the card > ctl.analog { > type hw > card 0 > } > > # Alias for (converted) mixed analog output on the card > # - This will accept audio input--regardless of rate--and convert to the > rate > # required for the dmix plugin (in this case 48000Hz) > # - Note that as of ALSA 1.0.9, "software" sound card definitions > redefine > # "default" to do mixing, meaning this device is identical to "default" > for > # "software" sound cards. > pcm.mixed-analog { > type plug > slave.pcm "dmix-analog" > } > > # Control device (mixer, etc.) for the card > ctl.mixed-analog { > type hw > card 0 > } > > # Alias for (converted) digital (S/PDIF) output on the card > # - 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 card > ctl.digital { > type hw > card 0 > } > > # Alias for mixed (converted) digital (S/PDIF) output on the card > # - 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 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 card > # 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 > # - Uncomment one of the below or create a new "device N" line as > appropriate > # for your sound card or > # device 1 > # device 4 > } > > # Control device (mixer, etc.) for the card > ctl.analog-hw { > type hw > card 0 > } > > # Alias for digital (S/PDIF) output on the card > # Do not use this directly--it requires specific rate, channels, and > format > pcm.digital-hw { > type hw > card 0 > # device 1 > # - Comment out "device 1" above and uncomment one of the below or > create a > # new "device N" line as appropriate for your sound card or > device 2 > # device 4 > } > > # Control device (mixer, etc.) for the card > ctl.digital-hw { > type hw > card 0 > } > > # Direct software mixing plugin for analog output on the card > # 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 card > ctl.dmix-analog { > type hw > card 0 > } > > # Direct software mixing plugin for digital (S/PDIF) output on the card > # 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 card > ctl.dmix-digital { > type hw > card 0 > } > > ----------------------------------------------- > > aplay -l > **** List of PLAYBACK Hardware Devices **** > card 0: Intel [HDA Intel], device 0: ALC880 Analog [ALC880 Analog] > Subdevices: 1/1 > Subdevice #0: subdevice #0 > card 0: Intel [HDA Intel], device 2: ALC880 Digital [ALC880 Digital] > Subdevices: 1/1 > Subdevice #0: subdevice #0 > > ----------------------------------------------- > > aplay -L > PCM list: > hw { > @args.0 CARD > @args.1 DEV > @args.2 SUBDEV > @args.CARD { > type string > default { > @func getenv > vars { > 0 ALSA_PCM_CARD > 1 ALSA_CARD > } > default { > @func refer > name 'defaults.pcm.card' > } > } > } > @args.DEV { > type integer > default { > @func igetenv > vars { > 0 ALSA_PCM_DEVICE > } > default { > @func refer > name 'defaults.pcm.device' > } > } > } > @args.SUBDEV { > type integer > default { > @func refer > name 'defaults.pcm.subdevice' > } > } > type hw > card $CARD > device $DEV > subdevice $SUBDEV > } > plughw { > @args.0 CARD > @args.1 DEV > @args.2 SUBDEV > @args.CARD { > type string > default { > @func getenv > vars { > 0 ALSA_PCM_CARD > 1 ALSA_CARD > } > default { > @func refer > name 'defaults.pcm.card' > } > } > } > @args.DEV { > type integer > default { > @func igetenv > vars { > 0 ALSA_PCM_DEVICE > } > default { > @func refer > name 'defaults.pcm.device' > } > } > } > @args.SUBDEV { > type integer > default { > @func refer > name 'defaults.pcm.subdevice' > } > } > type plug > slave.pcm { > type hw > card $CARD > device $DEV > subdevice $SUBDEV > } > } > plug { > @args.0 SLAVE > @args.SLAVE { > type string > } > type plug > slave.pcm $SLAVE > } > shm { > @args.0 SOCKET > @args.1 PCM > @args.SOCKET { > type string > } > @args.PCM { > type string > } > type shm > server $SOCKET > pcm $PCM > } > tee { > @args.0 SLAVE > @args.1 FILE > @args.2 FORMAT > @args.SLAVE { > type string > } > @args.FILE { > type string > } > @args.FORMAT { > type string > default raw > } > type file > slave.pcm $SLAVE > file $FILE > format $FORMAT > } > file { > @args.0 FILE > @args.1 FORMAT > @args.FILE { > type string > } > @args.FORMAT { > type string > default raw > } > type file > slave.pcm null > file $FILE > format $FORMAT > } > null { > type null > } > cards 'cards.pcm' > front 'cards.pcm.front' > rear 'cards.pcm.rear' > center_lfe 'cards.pcm.center_lfe' > side 'cards.pcm.side' > surround40 'cards.pcm.surround40' > surround41 'cards.pcm.surround41' > surround50 'cards.pcm.surround50' > surround51 'cards.pcm.surround51' > surround71 'cards.pcm.surround71' > iec958 'cards.pcm.iec958' > spdif 'cards.pcm.iec958' > modem 'cards.pcm.modem' > phoneline 'cards.pcm.phoneline' > dmix 'cards.pcm.dmix' > dsnoop 'cards.pcm.dsnoop' > default { > type plug > slave.pcm dmix-digital > } > analog { > type plug > slave.pcm analog-hw > } > mixed-analog { > type plug > slave.pcm dmix-analog > } > digital { > type plug > slave.pcm digital-hw > } > mixed-digital { > type plug > slave.pcm dmix-digital > } > analog-hw { > type hw > card 0 > } > digital-hw { > type hw > card 0 > device 2 > } > dmix-analog { > type dmix > ipc_key 1234 > slave { > pcm analog-hw > period_time 0 > period_size 1024 > buffer_size 4096 > rate 48000 > } > } > dmix-digital { > type dmix > ipc_key 1235 > slave { > pcm digital-hw > period_time 0 > period_size 1024 > buffer_size 4096 > rate 48000 > } > } > > ----------------------------------------- > > Relevant section of modprobe.conf: > # ALSA portion > alias char-major-116 snd > alias snd-card-0 snd-hda-intel > # OSS/Free portion > alias char-major-14 soundcore > # card #1 > alias sound-service-0-0 snd-mixer-oss > alias sound-service-0-1 snd-seq-oss > alias sound-service-0-3 snd-pcm-oss > alias sound-service-0-8 snd-seq-oss > alias sound-service-0-12 snd-pcm-oss > > _______________________________________________ > mythtv-users mailing list > mythtv-users [at] mythtv > http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users _______________________________________________ mythtv-users mailing list mythtv-users [at] mythtv http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
|