[pulseaudio-discuss] Getting the pollfds from the PA mainloop

Stephan Soller stephan.soller at helionweb.de
Sun Mar 30 08:04:19 PDT 2014


Hi,

is there a way to get the pollfds out of the poll() based Pulse Audio 
mainloop? Basically I want to do the poll() myself so I can poll for 
other stuff as well (some v4l2 devices and UNIX domain sockets).

In ALSA there is the snd_pcm_poll_descriptors*() family of functions to 
get the required pollfds. But I haven't found an equivalent Pulse Audio 
function for that kind of stuff.

I looked at the PA mainloop source code and found no matching functions 
(http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/pulse/mainloop.c). 
I found the pollfds and n_pollfds members in the pa_mainloop struct but 
no way to access them from the outside. Does that mean I'm stuck with ALSA?

A little background: I'm currently building an audio/video live mixing 
program. It combines several video and audio streams (webcams, frame 
grabber, mics, ...) into one live stream and sends it to an encoder 
process (ffmpeg).

One big poll() loop fechtes video and audio data and manages some UNIX 
domain sockets to send the result onwards. OpenGL is used to combine the 
different video streams. The program only shuffles data around and if 
possible I want to keep everything in one single threaded poll() loop.

Any ideas are welcome.

Happy programming
Stephan


More information about the pulseaudio-discuss mailing list