[vlc-devel] [PATCH 00/17] Restart the display module on format changes

Alexandre Janniaux ajanni at videolabs.io
Sun Nov 22 19:11:17 CET 2020


Hi,

On Sun, Nov 22, 2020 at 11:08:33AM +0200, Rémi Denis-Courmont wrote:
> Le perjantaina 20. marraskuuta 2020, 16.44.50 EET Steve Lhomme a écrit :
> > As previously discussed, in push it's possible added filters will change the
> > output of the filter chain(s).
>
> It's also possible in pull model. Push model makes it easier because you don't
> need to worry about pools, but there's really nothing new here.
>
> > The display may be able to cope with the
> > change but in case it doesn't we need to restart the display.
>
> That's not how we usually solve that problem. As was already mentioned at the
> last workshop, we already have a simple and robust solution for that, that has
> been used for years. The display requests up-front whatever format is most
> convenient, and lets the the filter chains figure insert any necessary
> conversion.

What I had understood from the last workshop was that decoder
device, in its previous partial form named `hw_hint` as we
discussed, would help the decoder choose the correct output
format for the output. Since we didn't really added filters in
this design, I was expecting this hint to also help the filter
to choose the correct output format.

The current model is pretty robust, but also pretty limited, so
I hope we can find a common ground here!

> > This patchset adds support for this (worst case) scenario. If the last
> > filter chain output is different than the previous one, the display is
> > restarted, no matter what.
>
> Creating the display before the filters is but an historical artefact of the
> pull model. If you are going to destroy the display and make a new one before
> showing a single picture, then you might as well not create the the (first)
> display.

Agreed

> > There can be some time between the time the old display is removed and the
> > new one is added and displays the new picture. So there is a display
> > glitch. It's different than the window glitch the push was supposed to get
> > rid of but still a glitch.
>
> That problem is introduced by the patchset... We have had support for changing
> conversion filters for years, that avoids changing the display.

We should probably work on the many use case scenario for this
and see how it's handled. I've started a document when this
patchset was posted for the whole design but it's not ready yet.

Regards,
--
Alexandre Janniaux
Videolabs


More information about the vlc-devel mailing list