<div><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 20 May 2019 at 2:25 AM, Thomas Guillem <<a href="mailto:thomas@gllm.fr">thomas@gllm.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On Sat, May 18, 2019, at 15:28, Roland Bewick wrote:<br>
> Hi, turns out there's a few things I'm still uncertain about:<br>
> <br>
> 1. Because selection of ES does not complete before the <br>
> vlc_player_SelectTrackList ends, the list of spu ids passed to the api <br>
> must be allocated in memory.<br>
<br>
Let the player handle this allocation, not the player user (so duplicate it from player implementation).</blockquote><div dir="auto"><br></div><div dir="auto">That’s a better idea, thanks :-)</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
> <br>
> The list then needs to be freed once the selection is complete (I do <br>
> that in input.c:ControlRelease)<br>
> <br>
> I can update the documentation about this.<br>
> <br>
> 2. In passing the list of es ids to es_out_Control I realised I also <br>
> need to deal with demux_Control (DEMUX_SET_ES). To be honest I have very <br>
> little knowledge<br>
> in this area and would appreciate some input.<br>
> <br>
> There seem to be two modules (ASF and bluray) that depend on this event <br>
> to enable the subtitle stream. However, I have doubts that simultaneous <br>
> subtitle streams are supported.<br>
> I don't have the hardware to test bluray myrself and I'm also not sure <br>
> if I can find a WMV (ASF) with multiple embedded sub tracks?<br>
> <br>
> So, I feel options are pretty limited with regards to the new <br>
> INPUT_CONTROL_SET_ES_LIST event.<br>
> <br>
> Please refer to the following code:<br>
> =================<br>
> <br>
> case INPUT_CONTROL_SET_ES:<br>
> {<br>
>      if( es_out_Control( input_priv(p_input)->p_es_out_display,<br>
>                          ES_OUT_SET_ES, <a href="http://param.id" rel="noreferrer" target="_blank">param.id</a> ) == VLC_SUCCESS )<br>
>          demux_Control( input_priv(p_input)->master->p_demux, DEMUX_SET_ES,<br>
>                         vlc_es_id_GetInputId( <a href="http://param.id" rel="noreferrer" target="_blank">param.id</a> ) );<br>
>      break;<br>
> }<br>
> <br>
> case INPUT_CONTROL_SET_ES_LIST:<br>
> {<br>
>      if( es_out_Control( input_priv(p_input)->p_es_out_display,<br>
>                          ES_OUT_SET_ES_LIST, <a href="http://param.list.cat" rel="noreferrer" target="_blank">param.list.cat</a>,<br>
>                          param.list.ids ) == VLC_SUCCESS )<br>
>      {<br>
>          /* What to do here? */<br>
>      }<br>
>      break;<br>
> }<br>
> <br>
> =================<br>
> <br>
> A. I can add a DEMUX_SET_ES_LIST event and add support in relevant files <br>
> that check for the DEMUX_SET_ES event.<br>
>      - I can't test this option as I mentioned above.<br>
<br>
Maybe, but we can take care of implementing it for each modules that needs it.</blockquote><div dir="auto"><br></div><div dir="auto">In that case, I think this is the cleanest option as it paves the way for how the dual subtitles should be supported in those modules. For now I could check the list length within the individual implementations (like you suggested in C) and if there’s a single element use the DEMUX_SET_ES behaviour.</div><div dir="auto"><br></div><div dir="auto">Thanks again,</div><div dir="auto">Roland</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
> <br>
> B. Loop and call the existing DEMUX_SET_ES for each ES ID (Don't touch <br>
> any of the individual consumers)<br>
>      - I'm using existing code, however I can't guarantee dual subtitles <br>
> will actually be enabled (I can't test this either)<br>
<br>
No<br>
<br>
> <br>
> C. Don't call the demux_Control in the INPUT_CONTROL_SET_ES_LIST event, <br>
> and only use vlc_player_SelectTrackList when dual subtitles are enabled.<br>
>      - Single subtitle behaviour will be unchanged.<br>
>      - Dual subtitles will work for External subtitles and embedded in <br>
> formats such as .MKV. Bluray / ASF will be unsupported.<br>
<br>
Or call DEMUX_SET_ES if the list contains only one element.<br>
<br>
> <br>
> <br>
> Thanks,<br>
> <br>
> Roland<br>
> <br>
> _______________________________________________<br>
> vlc-devel mailing list<br>
> To unsubscribe or modify your subscription options:<br>
> <a href="https://mailman.videolan.org/listinfo/vlc-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/vlc-devel</a><br>
_______________________________________________<br>
vlc-devel mailing list<br>
To unsubscribe or modify your subscription options:<br>
<a href="https://mailman.videolan.org/listinfo/vlc-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/vlc-devel</a></blockquote></div></div>