[pulseaudio-discuss] alsa pulse plugin question - what do the "device", "sink", and "source" parameters map to?

Jim Duda jim at duda.tzo.com
Mon Feb 25 09:00:09 PST 2008


I'm trying to use pulseaudio to allow two applications to interface with each other.  It works, but not consistently. 
I'm wondering if I fully understand the context of how "device", "source", and "sink" are used with the alsa pulse 
plugin.

SERVER SIDE

The machine "linux" is the name of the server machine (very creative isn't it).

On the "server" side, pulseaudio is running.  I define a null-sink module which a remote client, running on another 
machine, can send its audio data to through the alsa pulse plugin.

server /etc/pulse/default.pa null-sink definition:
load-module module-null-sink sink_name=sphinx_record description="Sphinx Recording Source"

The server application references the audio data using the alsa pulse plugin, locally.  What does "device" refer to 
within the context of the pulseaudio default.pa definitions?  Using "sphinx_record" usually results in "PULSEAUDIO:: 
cannot establish stream".  Am I using the "device" and "sink" parameters correctly?  I don't think I quite understand 
how they are to be used.

pcm.sphinx_record {
    type pulse
    device sphinx_record
}

ctl.sphinx_record {
    type pulse
    device sphinx_record
    source sphinx_record.monitor
}

CLIENT SIDE

The client application runs on another machine.  The client appliation uses the "sphinx_record" alsa handle to send 
audio to the null-sink on the linux server.  Am I using the "device" and "sink" parameters correctly?  I don't think I 
quite understand how they are to be used.

pcm.sphinx_record{
    type pulse
    device sphinx_record
    server linux
}

ctl.sphinx_playback {
    type pulse
   device sphinx_record
   sink sphinx_record
   server linux
}

Thanks,

Jim







More information about the pulseaudio-discuss mailing list