[Bug 740803] waylandsink: Double-check the frame callback before dropping frames

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jun 19 09:51:25 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=740803

George Kiagiadakis <gkiagia at tolabaki.gr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gkiagia at tolabaki.gr

--- Comment #9 from George Kiagiadakis <gkiagia at tolabaki.gr> ---
This patch will create issues in the streaming thread when the wayland server
stops rendering the video window (because it may not be visible or maybe
because the lock screen is on). It is perfectly valid for the server to do this
and may take a long time (in case of the lock screen for example) for the frame
callback to be called. In the meantime, the streaming thread *should* continue
working at the same rate and drop those frames that are not going to be
displayed anyway. If you start waiting an additional frame duration for every
frame sync, then GstBaseSink will find that every one in two frames is
delivered too late and will start firing warnings and QoS events.

(In reply to Praveen R Jadhav from comment #6)
> This conditional wait operation will handle race conditions when render
> requests are made from multiple paths.

I'm not sure how you mean that multiple requests can be made from multiple
paths. If you mean expose() and show_frame() being called at the same time, I
think the solution is to just remove the implementation of expose() completely.
I implemented it a couple of years ago just to follow the pattern for all video
sinks, but I haven't found any practical use for it in wayland.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list