[pulseaudio-discuss] Questions about sinks and sink inputs
Jonathan Wilson
jfwfreo at tpgi.com.au
Sun Nov 22 11:39:57 PST 2015
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?
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?
More information about the pulseaudio-discuss
mailing list