Makes sure screen resolution doesn't change in the middle of the
process.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1562>
s->last_frame_no = next_frame_no;
GST_OBJECT_UNLOCK (s);
+ XGrabServer (s->xcontext->disp);
+
if (gst_ximage_src_recalc (s) && !gst_base_src_negotiate (GST_BASE_SRC (s))) {
+ XUngrabServer (s->xcontext->disp);
+ XSync (s->xcontext->disp, False);
return GST_FLOW_NOT_NEGOTIATED;
}
image = gst_ximage_src_ximage_get (s);
+ XUngrabServer (s->xcontext->disp);
+ XSync (s->xcontext->disp, False);
+
if (!image)
return GST_FLOW_ERROR;