[vlc-devel] LibVLC vmem vout and Elementary Stream ID
remi at remlab.net
Wed Feb 26 18:40:25 CET 2014
Le mercredi 26 février 2014, 18:27:05 Jérôme Forissier a écrit :
> Now, with libvlc_video_set_callbacks()/libvlc_video_set_format_callbacks(),
> one vmem output is instantiated from the decoder thread whenever a new
> video stream is found in the input medium. In this case, we *do* have an ES
> ID which may be passed to the setup() callback.
No, this is no different from the general case. The video output cores tries to
reuse the video output as far as possible. There are no warranties that
changing video track, or changing input file will destroy the current output
and create a new one. It might happen if the core determines that it is
unavoidable, but otherwise not. Conversely, the video output could be created
later than the video ES started proper, or could be a visualization for an
audio track, or could be the result of a video splitter.
> So I am proposing to add a
> new parameter to setup(): int es_id, "the ID of the elementary stream that
> caused the decoder to instantiate the video output".
You cannot add *any* new parameter. That would break binary compatibility. You
need to either add a new callback, or a new function.
> If this sounds acceptable I will send a patch to the list.
More information about the vlc-devel