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
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to