[vlc-devel] Display update/restart
Steve Lhomme
robux4 at ycbcr.xyz
Tue Nov 17 07:46:20 CET 2020
On 2020-11-16 18:58, Rémi Denis-Courmont wrote:
> Le lundi 16 novembre 2020, 18:01:29 EET Steve Lhomme a écrit :
>> The issue is not the glitch. It's how long it's going to take to unload
>> a display module and reload it, for a tiny change that would take almost
>> no time to handle directly.
>
> That's if you assume that only D3D and GL are used.
No. A format change would allow any display to reject/switch to the new
format. It doesn't matter who implements it. GDI or VDPAU would reject
it and we do the change the hard way.
> We have other displays that have limitations on input chroma and/or picture
> size. You cannot assume that a display will handle the change. Simple as that.
If you read my first email I said this very clearly:
"So we have to handle the restart/recreate no matter what."
> If your display is slow to (un)load, you have a problem anyway, as it will
> break buffering and piss users off as it is.
This is new to 4.0 and the push model. In 3.0 it didn't matter because
the decoder would have to wait for the new display to get its buffers.
So it could take however long it wanted.
In push the decoder might push all it can and wait until a picture is
released/used by the video output. I don't think there's a particular
buffering issue. Once the display is opened the video output should drop
whatever is too late. As explained elsewhere there is a buffer size
issue if the decoder creates a new pool at every picture it outputs
because of a tiny format change. Again that's a huge waste of resources
when there's a small change.
More information about the vlc-devel
mailing list