Hi, I hope this is correct list for general questions about PulseAudio development. I devel some stuff for FFmpeg project and I want to update pulse output device. I have few questions: - Is this possible to detect that mute/volume for sink input has changed without calling pa_context_get_sink_input_info periodically? I saw some commits recently that seems to add this, but ubuntu still use 4.0 for example, so probably not, but I still wanted to ask about it. - If not, would you judge pa_context_get_sink_input_info to be expensive function? I think about calling it every time new data are written or something. - Is it possible to write non-interleaved data? For example, for stereo instead of L R L R L R L R... samples to write: L L L L L .... R R R R R.... samples - pa_stream_write has parameter pa_free_cb_t to provide zero-copy. Unfortunately it doesn't accept user data, in case of FFmpeg, the buffer is inside AVBuffer, AVPacket, or AVFrame (AVBuffer technically). Each of them contains a variable with a buffer that should be passed to pa_stream_write, but free function should unref this structure, not buffer itself. It cannot be extracted without copying and this zero-copy is hard to reach. My question is: do you think it is doable/acceptable to add other function that would accept userdata for free callback? I know there is pa_stream_begin_write, but this is not suitable neither. -- Best Regards, Lukasz Marek You can avoid reality, but you cannot avoid the consequences of avoiding reality. - Ayn Rand