[vlc-devel] questions about demux

Wung Hugh hughwung at gmail.com
Sun Jan 1 10:29:42 CET 2017


Hey guys, I’m working on the dual subtitle feature,
and I need more information about demuxers.

Is a demux module supposed to call es_out_Send
for all tracks(called elementary stream in vlc)? Or only the selected tracks?

I assume we can select a track by sending DEMUX_SET_ES,
which means only selected tracks are sent, right?
It seems very few demux modules are using this currently.
If that is the case, I can conceive several ways to deal with this:

1. Create a new query DEMUX_UNSET_ES to unselect an es, while DEMUX_SET_ES
 allow multiple selections.
2. Change the way DEMUX_SET_ES is used. For ex. arg1 will be indicating
the size of an array, arg2 is a pointer to an array. This way we can supply a
list of selected tracks.

I guess the interfaces of DEMUX_SET_ES, INPUT_CONTROL_SET_ES, ES_OUT_SET_ES_BY_ID
and several data structures in es_out.c should all be changed to accommodate 
multiple track selections.

Any comments?


More information about the vlc-devel mailing list