[vlc-devel] LibVLC vmem vout and Elementary Stream ID

Jérôme Forissier jerome at taodyne.com
Thu Feb 20 16:51:08 CET 2014


On 20 févr. 2014, at 16:03, Rémi Denis-Courmont wrote:

> On Thu, 20 Feb 2014 15:53:05 +0100, Jérôme Forissier <jerome at taodyne.com>
> wrote:
>> Is there a way to retrieve the ES id of the video stream from within the
>> setup() callback of libvlc_video_set_format_callbacks()?
>> I am playing MP4 files with multiple video streams and I need to
> identify
>> them individually.
> 
> No. As things stand, that would not make sense anyway: the video output
> plugin is reused across track or input changes.

As long as setup() is called for each such change, why would this be a problem?

Let me briefly explain what I'm trying to achieve. Hopefully you can help me work this out.
My application has to render all the streams of an MP4 container to OpenGL textures (one per stream). That is, all streams are playing simultaneously.
To do this, my setup() callback sets *opaque to a different value for each stream, so that the display() callback can later assign each frame to the suitable GL texture.
At first glance it works well, except that I have no way of telling which texture corresponds to which stream.

So, should I design my code differently? And/or would you suggest any extension to the LibVLC API to support this use case?

Thanks,

-- 
Jerome




More information about the vlc-devel mailing list