Ah ok ignore that - I finally found what Colin's patch fixes :-) It is specifically when using udev (not alsa module loading as I have been previously) that it has an effect ie. if you have: load-module module-alsa-sink device=a52 rate=48000 sink_properties=device.description=a52 sink_name=a52 load-module module-alsa-sink device=ALC889A_Digital sink_properties=device.description=SPDIF sink_name=SPDIF it won't help, but if you use udev and udev loads SPDIF stereo and A52, then it seems to work (although I am having other issues). Frankly, I think it would be much better to have A52 in Pulseaudio with switchable channel maps so that there's one sink. I'll see how much further I can get with this. Cheers, Mike ________________________________ From: Michael Rans <mcarans@xxxxxxxxxxx> To: General PulseAudio Discussion <pulseaudio-discuss at mail.0pointer.de> Sent: Sun, 11 July, 2010 19:40:23 Subject: Re: {PATCH][RFC] AC3 passthrough support Further to my email below, I find that using udev detection and the change you suggested to default.conf, I get resource busy - I don't think my card likes it that it's SPDIF is opened twice, once as a stereo digital device and again through A52: E: alsa-util.c: snd_pcm_avail() returned a value that is exceptionally large: 11549256 bytes (21823 ms). E: alsa-util.c: Most likely this is a bug in the ALSA driver '(null)'. Please report this issue to the ALSA developers. ... E: alsa-util.c: snd_pcm_mmap_begin() returned a value that is exceptionally large: 11549256 bytes (21823 ms). E: alsa-util.c: Most likely this is a bug in the ALSA driver '(null)'. Please report this issue to the ALSA developers. ... D: alsa-sink.c: snd_pcm_mmap_commit: Resource temporarily unavailable E: alsa-sink.c: Assertion 'err != -11' failed at modules/alsa/alsa-sink.c:395, function try_recover(). Aborting. Assuming this is not just my system's problem, this would be why a Pulseaudio A52 plugin would be better. Cheers, Mike ________________________________ From: Michael Rans <mcarans@xxxxxxxxxxx> To: General PulseAudio Discussion <pulseaudio-discuss at mail.0pointer.de> Sent: Sun, 11 July, 2010 18:40:36 Subject: Re: {PATCH][RFC] AC3 passthrough support Thanks for this detailed reply. Would I be right in saying that for this to happen, you cannot define your own sinks in default.pa using load-module module-alsa-sink ... but must use the moduel detection? Or can profiles be made to work with the load-module module-alsa-sink ... lines? Cheers, Mike ________________________________ From: Tanu Kaskinen <tanuk@xxxxxx> To: pulseaudio-discuss at mail.0pointer.de Sent: Sun, 11 July, 2010 12:23:25 Subject: Re: {PATCH][RFC] AC3 passthrough support On Sun, 2010-07-11 at 09:26 +0000, Michael Rans wrote: > That's the the problem - as you put it "both sinks (spdif/stereo and > spdif/a52) can't exist at the same time". > > If A52 encoding occurred in Pulseaudio, there would only be one sink, > hence the switch between stereo and A52 would be transparent and could > occur even while the music is playing (with a small interruption). No, doing the encoding in pulseaudio wouldn't change the situation. There must be separate sinks for stereo and surround modes, because sinks can't change their channel map on the fly. (Of course that could be changed, but I don't think such change gets lots of support from the developers.) What do you mean by "transparent"? You can change the profile while music plays, that's not a problem. > Is the A52 profile in Ubuntu Lucid 10.04LTS? Most likely yes. I now actually checked what's the situation with the a52 profile on my own machine. I don't have the profile available, even though I have other spdif profiles, so I looked at the initialization to see what's wrong, and found this: D: alsa-mixer.c: Looking at profile output:iec958-ac3-surround-40 D: alsa-mixer.c: Checking for playback on Digital Surround 4.0 (IEC958/AC3) (iec958-ac3-surround-40) D: alsa-util.c: Trying a52:0 with SND_PCM_NO_AUTO_FORMAT ... I: (alsa-lib)pcm.c: Unknown PCM a52:0 I: alsa-util.c: Error opening PCM device a52:0: No such file or directory So alsa doesn't find the a52 device at all, even though I do seem to have the plugin installed (this file exists: /usr/lib/alsa-lib/libasound/libasound_module_pcm_a52.so). I don't feel like experimenting, but I would guess that device string "a52" instead of "a52:0" would work better. ...nah, I did feel like experimenting after all, since all I had to do was to edit one file (/usr/local/share/pulseaudio/alsa-mixer/profile-sets/default.conf) and do some pulseaudio restarting. It turned out that plain a52 didn't work any better, so what's wrong? Well, at least on Debian there is no device configured by default that would use the a52 plugin, so I had to add this to ~/.asoundrc: pcm.a52 { type a52 } Now I got further: D: alsa-mixer.c: Looking at profile output:iec958-ac3-surround-40 D: alsa-mixer.c: Checking for playback on Digital Surround 4.0 (IEC958/AC3) (iec958-ac3-surround-40) D: alsa-util.c: Trying a52:0 with SND_PCM_NO_AUTO_FORMAT ... I: (alsa-lib)conf.c: Unknown parameters 0 I: (alsa-lib)pcm.c: Unknown PCM a52:0 I: alsa-util.c: Error opening PCM device a52:0: Invalid argument D: alsa-util.c: Trying a52 with SND_PCM_NO_AUTO_FORMAT ... D: alsa-util.c: Managed to open a52 D: alsa-util.c: snd_pcm_hw_params_set_channels(4) failed: Invalid argument D: alsa-util.c: Trying a52 without SND_PCM_NO_AUTO_FORMAT ... D: alsa-util.c: Managed to open a52 D: alsa-util.c: snd_pcm_hw_params_set_channels(4) failed: Invalid argument D: alsa-util.c: Trying plug:a52 with SND_PCM_NO_AUTO_FORMAT ... D: alsa-util.c: Managed to open plug:a52 D: alsa-util.c: snd_pcm_hw_params_set_channels(4) failed: Invalid argument D: alsa-util.c: Trying plug:a52 without SND_PCM_NO_AUTO_FORMAT ... D: alsa-util.c: Managed to open plug:a52 D: alsa-util.c: snd_pcm_hw_params_set_channels(4) failed: Invalid argument I: alsa-util.c: Failed to set hardware parameters on plug:a52: Invalid argument That looks good (that's the 4.0 profile, and by default the a52 plugin uses the 5.1 channel configuration, so the failure is expected). From that log we can see that indeed, "a52:0" doesn't work, but "a52" does. That means that you don't have the profile available, because you don't have the modification in your profile set configuration. So, what about the 5.1 profile? D: alsa-mixer.c: Looking at profile output:iec958-ac3-surround-51 D: alsa-mixer.c: Checking for playback on Digital Surround 5.1 (IEC958/AC3) (iec958-ac3-surround-51) D: alsa-util.c: Trying a52:0 with SND_PCM_NO_AUTO_FORMAT ... I: (alsa-lib)conf.c: Unknown parameters 0 I: (alsa-lib)pcm.c: Unknown PCM a52:0 I: alsa-util.c: Error opening PCM device a52:0: Invalid argument D: alsa-util.c: Trying a52 with SND_PCM_NO_AUTO_FORMAT ... D: alsa-util.c: Managed to open a52 D: alsa-util.c: Maximum hw buffer size is 320 ms D: alsa-util.c: Set buffer size first (to 4797 samples), period size second (to 1199 samples). I: alsa-util.c: Device a52 doesn't support 44100 Hz, changed to 48000 Hz. D: alsa-mixer.c: Profile output:iec958-ac3-surround-51 supported. Whee, it works! I don't have anything to connect the digital output, though, so I didn't test actual playback, but at least the profile is now available. So, the first problem when trying to make the a52 alsa plugin work out of the box with pulseaudio is that (at least on all distros) the a52 device isn't configured by default. I think it's the job for the distributions to automatically configure the device when the a52 plugin is installed. The second problem is that the a52 device doesn't support the card argument. I would imagine that the a52 plugin can actually be configured to use certain card, but passing that configuration just doesn't work with the simple configuration that I used. It might be possible to come up with a more complex definition for the a52 device that passes the parameter correctly to the plugin, but my asoundrc skills are not that good. In case the a52 plugin really can't be configured to use certain card, then that's a bug in the plugin. After those two problems we get to the problems with assertion failures and too fast playback speed etc... -- Tanu Kaskinen _______________________________________________ pulseaudio-discuss mailing list pulseaudio-discuss at mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20100711/0f1ad128/attachment.htm>