[vlc-devel] [PATCH 6/5] [RFC] input: allow setting the "sout" while playing and restart the output accordingly

Steve Lhomme robux4 at gmail.com
Tue Apr 26 16:23:09 CEST 2016


On Tue, Apr 26, 2016 at 3:25 PM, Rémi Denis-Courmont <remi at remlab.net> wrote:
> Le 2016-04-26 15:01, Steve Lhomme a écrit :
>>
>> On Tue, Apr 26, 2016 at 2:40 PM, Rémi Denis-Courmont <remi at remlab.net>
>> wrote:
>>>
>>> Le 2016-04-26 13:45, Steve Lhomme a écrit :
>>>>
>>>>
>>>> On Sat, Apr 23, 2016 at 3:09 PM, Steve Lhomme <robux4 at gmail.com> wrote:
>>>>>
>>>>>
>>>>> On Sat, Apr 23, 2016 at 11:52 AM, Rémi Denis-Courmont <remi at remlab.net>
>>>>> wrote:
>>>>>>
>>>>>>
>>>>>> On Friday 22 April 2016 17:56:46 Steve Lhomme wrote:
>>>>>>>
>>>>>>>
>>>>>>> setting the "sout" on the libvlc instance also works, rather than the
>>>>>>> input_thread_t
>>>>>>
>>>>>>
>>>>>>
>>>>>> No. This is known to cause a lot of problems and have caused a lot
>>>>>> more
>>>>>> in the
>>>>>> past.
>>>>>
>>>>>
>>>>>
>>>>> Where is the user supposed to set the "sout" (by means of the UI) so
>>>>> that it uses the proper render?
>>>>>
>>>>>  Looking at the "vout" it's either in the config or directly on the
>>>>> currently playing input_thread_t. I'm fine with setting the value in
>>>>> the config, the user will have to explicitly disable the renderer
>>>>> between VLC launches.
>>>>
>>>>
>>>>
>>>> If we want to be able to update the output chain when the "sout" is
>>>> set/unset during playback, we need a way to hook the callback on the
>>>> "sout" variable.
>>>
>>>
>>>
>>> If is the important word. I think that is utterly insane and thus
>>> unwanted.
>>>
>>> The sout instance, the sout plugins downstream, and the ES output
>>> upstream
>>> are all stateful and tied to the demuxer(s). We can't just change them
>>> while
>>> the input thread is running.
>>
>>
>> Isn't that what ES_OUT_RESTART_ES is for ? If they're tried, they're
>> untied at that point.
>
>
> ES_OUT_RESTART_ES is used to restart ES's of one category. Currently it's
> only a hack to add/remove video splitters, and it would no longer be needed
> if vout pools were fixed.
>
> If you restart all ES's, there is no point in retaining the input thread.

Yes, in the case of DVD playback you don't want to create a new
access/demuxer and lose all the state you were at.

> --
> Rémi Denis-Courmont
> http://www.remlab.net/
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list