[pulseaudio-discuss] Questions about sinks and sink inputs

Tanu Kaskinen tanuk at iki.fi
Mon Nov 23 20:13:51 PST 2015


On Sun, 2015-11-22 at 23:33 +1000, Jonathan Wilson wrote:
> I am trying to understand how sinks and sink inputs work.
> The code I am trying to figure out creates the following sinks:
> master_sink (external sink obtained from ALSA sink module via pa_namereq_get)
> raw_sink (created with the flat_volume_sink parameter of the 
> pa_sink_new_data structure set to master_sink)
> voip_sink (created with the flat_volume_sink parameter of the 
> pa_sink_new_data structure set to raw_sink)
> 
> And the following sink inputs:
> aep_sink_input (created with the sink parameter of the 
> pa_sink_input_new_data structure set to raw_sink and the origin_sink 
> parameter of the pa_sink_input_new_data structure set to voip_sink)
> hw_sink_input (created with the sink parameter of the 
> pa_sink_input_new_data structure set to master_sink and the origin_sink 
> parameter of the pa_sink_input_new_data structure set to raw_sink)
> cs_call_sink_input (created with the sink parameter of the 
> pa_sink_input_new_data structure set to voip_sink and the origin_sink 
> parameter of the pa_sink_input_new_data structure set to 0)
> 
> I then have some other code that feeds audio into the voip_sink sink
> Can someone tell me the pathway in which audio will go from the app through 
> to being fed into master_sink (and from there into the hardware)?
> Which sinks and sink inputs will it pass through and in which order?
> 
> What about if audio passes into the raw_sink sink, what path will it take 
> through the code in that case?

I guess this is Maemo or MeeGo, or possibly Sailfish? I have worked on
those systems in the past, and this sounds very familiar (and certainly
not something that is in upstream). Could you send
/etc/pulse/system.pa?

> And where should I be looking (e.g. specific callback functions on the 
> sinks or sink inputs) for anything that might be doing any kind of 
> processing on the audio?

Are you looking for a way to do your own processing, or are you just
trying to understand what processing your device does and how?

-- 
Tanu


More information about the pulseaudio-discuss mailing list