[vlc-devel] [vlc-commits] display: reroute and deprecate display size event

Rémi Denis-Courmont remi at remlab.net
Sat May 26 12:25:51 CEST 2018


Until this patch the size event set a polled flag (ch_display_size, IIRC). The flag was tested and cleared by the vout thread whenever it ran the vout wrapper management code.

Now sends a control to the vout thread, which processes it ASAP. So it can vastly increase the likelihood to trigger races in vout display plug-ins. It might also exhibit live loops if the event triggers a chain reaction.

However IMO, it makes no sense for the display plug-in to send a size event, that ultimately will just be looped back to the display plug-in. I would either remove it, or handle it internally.

Le 26 mai 2018 11:40:30 GMT+02:00, robux4 at ycbcr.xyz a écrit :
>It does seem to be locked somewhere. I have to kill the app but the UI
>is still responsive.
>I never had any similar issue like that before. And just before this
>patch everything is working fine.
>
>On 26 May 2018 at 08:52 +0200, Rémi Denis-Courmont <remi at remlab.net>,
>wrote:
>> This change just deduplicates the size event handling. The result is
>the same as before: send a display size change control. The only
>potential difference that comes to mind is the timing, which might be
>faster.
>>
>> Regardless, sending an event back to your self (through the core) is
>schizophrenic. There are no reason to call this in a plug-in with
>windowing.
>>
>> Of course, besides potential races within the display plug-in, this
>also races against the size events of the window provider. But that
>potential bug is not new, it is also in 3.0.1
>>
>> > Le 26 mai 2018 06:45:38 GMT+02:00, robux4 at ycbcr.xyz a écrit :
>> > > This commit broke Windows playback.
>> > >
>> > > It doesn't seem to be enough to revert just this one. The define
>it relied on is gone too.
>> > >
>> > > On 20 May 2018 at 19:52 +0200, Rémi Denis-Courmont
><git at videolan.org>, wrote:
>> > > > vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> |
>Fri May 18 21:18:47 2018 +0300|
>[a4942d980a4d92ab8819b019d47804d43410efb2] | committer: Rémi
>Denis-Courmont
>> > > >
>> > > > display: reroute and deprecate display size event
>> > > >
>> > > > The window size should be determined by the window provider,
>not the
>> > > > display plugin.
>> > > >
>> > > > >
>http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a4942d980a4d92ab8819b019d47804d43410efb2
>> > > > ---
>> > > >
>> > > > include/vlc_vout_display.h | 7 +++++--
>> > > > 1 file changed, 5 insertions(+), 2 deletions(-)
>> > > >
>> > > > diff --git a/include/vlc_vout_display.h
>b/include/vlc_vout_display.h
>> > > > index edc1238aee..e70a20ad8e 100644
>> > > > --- a/include/vlc_vout_display.h
>> > > > +++ b/include/vlc_vout_display.h
>> > > > @@ -313,10 +313,13 @@ static inline void
>vout_display_SendEvent(vout_display_t *vd, int query, ...)
>> > > > va_end(args);
>> > > > }
>> > > >
>> > > > -static inline void
>vout_display_SendEventDisplaySize(vout_display_t *vd, int width, int
>height)
>> > > > +VLC_DEPRECATED /* Use vout_window_ReportSize() in window
>provider instead. */
>> > > > +static inline void
>vout_display_SendEventDisplaySize(vout_display_t *vd,
>> > > > + int width, int height)
>> > > > {
>> > > > - vout_display_SendEvent(vd, VOUT_DISPLAY_EVENT_DISPLAY_SIZE,
>width, height);
>> > > > + vout_window_ReportSize(vd->cfg->window, width, height);
>> > > > }
>> > > > +
>> > > > static inline void
>vout_display_SendEventPicturesInvalid(vout_display_t *vd)
>> > > > {
>> > > > vout_display_SendEvent(vd,
>VOUT_DISPLAY_EVENT_PICTURES_INVALID);
>> > > >
>> > > > _______________________________________________
>> > > > vlc-commits mailing list
>> > > > vlc-commits at videolan.org
>> > > > https://mailman.videolan.org/listinfo/vlc-commits
>>
>> --
>> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez
>excuser ma brièveté._______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel

-- 
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20180526/e797b37a/attachment.html>


More information about the vlc-devel mailing list