[Bug 740803] waylandsink: Double-check the frame callback before dropping frames
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Sep 26 14:20:02 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=740803
Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #291625|none |needs-work
status| |
--- Comment #4 from Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> ---
Review of attachment 291625:
--> (https://bugzilla.gnome.org/review?bug=740803&attachment=291625)
::: ext/wayland/gstwaylandsink.c
@@ +604,3 @@
+ redraw_flag = g_atomic_int_get (&sink->redraw_pending);
+ while (redraw_flag == TRUE && retry > 0) {
+ wl_display_roundtrip (sink->display->display);
wl_display_roundtrip_queue()
@@ +605,3 @@
+ while (redraw_flag == TRUE && retry > 0) {
+ wl_display_roundtrip (sink->display->display);
+ redraw_flag = g_atomic_int_get (&sink->redraw_pending);
This is no longer an atomic op, it's protected by the render_lock now. That
basically means, you'll get a deadlock. You need to drop the render lock before
calling wl_display_roundtrip_queue().
@@ +606,3 @@
+ wl_display_roundtrip (sink->display->display);
+ redraw_flag = g_atomic_int_get (&sink->redraw_pending);
+ retry--;
If retry is 1, why do you keep this code ?
--
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