[vlc-devel] LibVLC vmem vout and Elementary Stream ID
Jérôme Forissier
jerome at taodyne.com
Wed Feb 26 18:27:05 CET 2014
On 24 févr. 2014, at 18:15, Rémi Denis-Courmont wrote:
> Le lundi 24 février 2014, 17:30:37 Jérôme Forissier a écrit :
>> The ID is all I need for now, but if a new API is to be added, I guess it
>> should expose more than the ID.
>
> The track ID is already exposed where it makes sense with the current design,
> I think. That is to say at the level of the media player instance.
>
> But as I already wrote, a video output instance does not map to an elementary
> stream. It does not even map to an input medium. This is a deliberate and
> concious design choice, to improve the user experience for the common case of
> a single (active) video track.
>
> So I do not really get how you would even define the ES ID of a video output.
> As far as I can tell, such a notion makes no sense within the current VLC
> architecture.
OK, got it. I won't try to associate a stream ID to a video output in the general case.
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.
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".
If this sounds acceptable I will send a patch to the list.
Thanks,
--
Jérôme
More information about the vlc-devel
mailing list