[pulseaudio-discuss] Emulate Alsa A52 plugin in pulseaudio ?

Jim Duda jim at duda.tzo.com
Fri Feb 29 08:38:54 PST 2008


Tanu,

And finally, I found that if I remove module-detect, then pulseaudio attaches to a52encode properly.  I suspect what was 
happening is that both pulseaudio and a52encode want to use the spdif output.  With module-detect active, pulseaudio was 
grabbing the spdif port after a52encode was establish, causing a conflict.

This might actually work for me, assuming that I can access the spdif from mplayer outside of pulseaudio, while 
pulseaudio still have a52encode opened.

Seems rather dicey, but I'll test it out.

Thanks for all you help.

Jim


"Jim Duda" <jim at duda.tzo.com> wrote in message news:fq9bqv$ue0$1 at ger.gmane.org...
> Tanu,
>
> Aha, I'm getting closer.  I realized that I cannot open the hardware twice.
>
> If I do this:
>
> load-module module-alsa-sink sink_name=ac3_raw device=spdif:0
> load-module module-alsa-sink sink_name=ac3_encode device=a52encode
>
> I get an error on the second alsa-sink for a52encode, since ac3_raw already has the device.
>
> If I do this:
>
> #load-module module-alsa-sink sink_name=ac3_raw device=spdif:0
> load-module module-alsa-sink sink_name=ac3_encode device=a52encode
>
> The a52encode appears to start:
>
> *** Module #0 ***
> Name: module-alsa-sink
> Argument: sink_name=ac3_encode device=a52encode
> Usage counter: n/a
> Auto unload: no
>
> Unfortunately, pulseaudio crashes after pactl list :-(
>
> I am having fun though :-)
>
> Jim
>
>
>
>
> "Jim Duda" <jim at duda.tzo.com> wrote in message news:fq9b8k$s4r$1 at ger.gmane.org...
>>I think I've learned that in order for a52encode to possibly work, I need to have /var/run/pulse/.asoundrc defined.
>>
>> /var/run/pulse/.asoundrc:
>>
>> pcm.a52encode {
>>     type a52
>> }
>>
>> Yields:
>>
>> lroom# /usr/bin/pulseaudio --system
>> E: module-alsa-sink.c: Error opening PCM device a52encode: Device or resource busy
>> 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.
>>
>> If I change a52encode to something else in the .asoundrc, I get:
>>
>> 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.
>>
>> So, apparently the .asoundrc in /var/run/pulse is recognized.
>>
>> Using a52encode:0 results in:
>>
>> lroom# /usr/bin/pulseaudio --system
>> ALSA lib conf.c:3949:(snd_config_expand) Unknown parameters 0
>> ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM a52encode:0
>> E: module-alsa-sink.c: Error opening PCM device a52encode:0: Invalid argument
>> E: module.c: Failed to load  module "module-alsa-sink" (argument: "sink_name=ac3_encode device=a52encode:0 rate=48000 
>> channels=6"): initialization failed.
>> E: main.c: Module load failed.
>> E: main.c: failed to initialize daemon.
>>
>> Some permission problem maybe ....
>>
>> Thanks for listening :-)
>>
>> Jim
>>
>>
>> "Tanu Kaskinen" <tanuk at iki.fi> wrote in message news:20080229054425.GB12761 at a9a.mannikko1.tontut.fi...
>>> On Thu, Feb 28, 2008 at 09:36:20PM -0500, 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
>>>
>>> Which file doesn't exist?
>>> "strace -f pulseaudio --system > strace.out 2>&1" should
>>> give the answer. Before running that I'd check if changing
>>> a52encode:0 to just a52encode would help. The :0 part
>>> identifies the card and I think a52encode isn't associated
>>> with any specific card.
>>>
>>> Since I don't know much about the a52 plugin, I really am
>>> not sure that pulseaudio can use it at all.
>>>
>>> -- 
>>> Tanu Kaskinen 






More information about the pulseaudio-discuss mailing list