[vlc-devel] [RFC] Solving the slave input program hijacking

RĂ©mi Denis-Courmont remi at remlab.net
Fri May 26 18:52:35 CEST 2017

On vendredi 26 mai 2017 14:50:45 EEST Francois Cartegnie wrote:
> The root of the issue is that es_out controls only provides a reference
> to itself, which prevents identifying/differentiating (in the case of
> the core main implementation) the input (input_source, demux) issuing
> the control.

This is not just a problem for programs. It also breaks PCR when more than one 
demuxers provides it (e.g. ALSA + V4L2). I think providing a separate slave/
child ES out per demuxer is unavoidable in the long run, with a single master 
input-level ES out behind them.

I would even go further: we should remove the ES output completely and switch 
to the newer pattern of "owner" structure with callbacks and an opaque 
pointer. Using the same ES output implementation for normal input and for 
preparser makes no sense.

I however don't think that the above nor any of your three proposals are 
palatable for VLC 3.0. We have had these problems for almost two decades, so 
we should be able to live with them for another year or two.

More information about the vlc-devel mailing list