On Fri, Oct 11, 2013 at 12:42:53PM +0800, Jonathan Wilson wrote: > I have a pulseaudio module which calls pa_source_new to create an > audio source and pa_sink_new to create an audio sink. I have another > piece of code that makes calls to PulseAudio to feed audio into the > sink and get audio from the source. > Can anyone point me at: > 1.Documentation for the source and sink APIs The sinks and sources are not part of the public API. The only API documentation that I'm aware of is directly inside sink.h [1] and sorce.h [2]. > and 2.Information on which APIs I should be grepping for in order to > see where the other code says "hey, I want to feed audio to sink > xyz" and "hey, I want to pull audio from source xyz" If you want to create a PulseAudio client for playback and recording there are two possibilities: - Pulse Simple API [3] - Pulse Asynchronous API [4] The former is rather limited and uses a blocking interface but should you get going faster. Also there is 'pacat.c' [5] inside the tree which implements exactly what you want. [1] http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/pulsecore/sink.h [2] http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/pulsecore/source.h [3] http://freedesktop.org/software/pulseaudio/doxygen/simple.html [4] http://freedesktop.org/software/pulseaudio/doxygen/async.html [5] http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/utils/pacat.c