The first thing I need to do is to get the spdif port on my CMPCI to work with pulseaudio. I'm finding that defining an alsa-sink manually using device surround51 doesn't work, I don't get any audio. Allowing pulseaudio to auto-detect does allow audio to work, but only with 2 channels. With auto-detection load-module module-detect, I get: *** Sink #0 *** Name: alsa_output.hw_0 Driver: modules/module-alsa-sink.c Description: ALSA PCM on hw:0 (C-Media PCI DAC/ADC) Sample Specification: s16le 2ch 44100Hz Channel Map: front-left,front-right Owner Module: 0 Volume: muted Monitor Source: 0 Latency: 59501 usec Flags: HW_VOLUME_CTRL LATENCY HARDWARE This above gives me stereo only through the spdif port. If I used anything besides nothing or channels=2, I don't get any audio. Jim Jim Duda wrote: > Unfortunately, using a52encode as a device doesn't seem to work. I > tried by a52encode and a52. > > lroom# /usr/bin/pulseaudio --system > ALSA lib control.c:909:(snd_ctl_open_noupdate) Invalid CTL surround51:0 > W: alsa-util.c: Unable to attach to mixer surround51:0: No such file or > directory > ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM a52encode > E: module-alsa-sink.c: Error opening PCM device a52encode: No such file > or directory > E: module.c: Failed to load module "module-alsa-sink" (argument: > "sink_name=ac3_encode device=a52encode rate=48000 channels=6"): > initialization failed. > E: main.c: Module load failed. > E: main.c: failed to initialize daemon. > > lroom# /usr/bin/pulseaudio --system > ALSA lib control.c:909:(snd_ctl_open_noupdate) Invalid CTL surround51:0 > W: alsa-util.c: Unable to attach to mixer surround51:0: No such file or > directory > ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM a52 > E: module-alsa-sink.c: Error opening PCM device a52: No such file or > directory > E: module.c: Failed to load module "module-alsa-sink" (argument: > "sink_name=ac3_encode device=a52 rate=48000 channels=6"): initialization > failed. > E: main.c: Module load failed. > E: main.c: failed to initialize daemon. > > default.pa: > > load-module module-alsa-sink sink_name=ac3_raw device=surround51:0 > rate=48000 channels=6 > load-module module-alsa-sink sink_name=ac3_encode device=a52encode:0 > rate=48000 channels=6 > > .asoundrc > > pcm.a52encode { > type a52 > } > > pcm.front-spdif { > type plug > slave.pcm "iec958" > } > > pcm.ac3_raw { > type pulse > device ac3_raw > } > > pcm.ac3_encode { > type pulse > device ac3_encode > } > > > > > Jim Duda wrote: >> Tanu, >> >> Okay, what you are describing makes sense. We route the 6 channels back through alsa and the a52 encoding, then out the >> actual device driver. >> >> The front-spdif was leftover stuff in my asoundrc file. >> >> I also need to send the raw AC3, DTS stream from some applications to the external digital decoder (mplayer and xine). >> Currently, I do this by using alsa:device=spdif in the applications which require this mode, instead of the stereo >> upmix. >> >> So, to accomplish this, do I define two alsa-sinks? >> >> module-load module-alsa-sink sink_name=ac3_out device=a52encode channels=6 rate=48000 >> module-load module-alsa-size sink_name=ac3_raw device=surround51:0 >> >> Then my .asoundrc has this: >> >> pcm.!default { >> type pulse >> device ac3_out >> } >> >> pcm.passthrough { >> type pulse >> device ac3_raw >> } >> >> pcm.a52encode { >> type a52 >> } >> >> The default would do stereo upmix from 2 to 6 channels through a52 encoder. >> >> The passthrough would send the raw ac3/dts stream out the hardware. >> >> Does this make sense? (I would test now, but I have to go off and build 0.9.8 first, since FC7 uses 0.9.6 currently). >> >> Thanks, >> >> Jim >> >> >> "Tanu Kaskinen" <tanuk at iki.fi> wrote in message news:20080228205506.GA11317 at a9a.mannikko1.tontut.fi... >>> On Thu, Feb 28, 2008 at 03:09:45PM -0500, Jim Duda wrote: >>>> I would like to use pulseaudio on a machine which I have the sound card attached to an digital decoder. I'm using >>>> the >>>> alsa A52 plugin to perform a stereoupmix from 2 channels to six channels such that I get the same stereo out of the >>>> front and rear speakers. >>>> Can I use the remap module to copy 2 channels to 4? The front speaker and sub woofer would be nice too. >>> Yes you can, but there shouldn't be need for that. Since >>> 0.9.8 PulseAudio has supported automatic up- and downmixing, >>> which probably does what you want. If you have 0.9.8 and it >>> still doesn't work, check that you haven't disabled the >>> feature in daemon.conf by saying disable-remixing=yes. >>> >>> If I've understood your setup correctly, you would need to >>> encode the output of PulseAudio to AC-3. I don't have any >>> experience in that field, so the following is just my best >>> guess how it would work: >>> >>> Your new ~/.asoundrc: >>> >>> pcm.!default { >>> type pulse >>> } >>> >>> pcm.a52encode { >>> type a52 >>> } >>> >>> # What's this for? >>> pcm.front-spdif { >>> type plug >>> slave.pcm "iec958" >>> } >>> >>> >>> Comment out module-hal-detect and module-detect in >>> /etc/pulse/default.pa. Add this line instead: >>> module-load module-alsa-sink sink_name=ac3_out device=a52encode channels=6 rate=48000 >>> >>> -- >>> Tanu Kaskinen