mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-10 03:19:40 +00:00
wayland: Don't return GST_FLOW_ERROR on flushing
Setting the sink to flushing causes gst_vaapi_window_wayland_sync() to return FALSE which makes gst_vaapi_window_wayland_render() return FALSE which ends up posting an ERROR message in gst_vaapisink_show_frame_unlocked(). Solution is to just return TRUE in the EBUSY case. https://bugzilla.gnome.org/show_bug.cgi?id=753598
This commit is contained in:
parent
18a8b87975
commit
a83057cdb1
1 changed files with 2 additions and 8 deletions
|
@ -186,8 +186,7 @@ gst_vaapi_window_wayland_sync (GstVaapiWindow * window)
|
|||
goto again;
|
||||
if (saved_errno == EBUSY) { /* closing */
|
||||
wl_display_cancel_read (wl_display);
|
||||
priv->is_cancelled = TRUE;
|
||||
break;
|
||||
return FALSE;
|
||||
}
|
||||
goto error;
|
||||
}
|
||||
|
@ -518,12 +517,7 @@ gst_vaapi_window_wayland_render (GstVaapiWindow * window,
|
|||
/* Wait for the previous frame to complete redraw */
|
||||
if (!gst_vaapi_window_wayland_sync (window)) {
|
||||
wl_buffer_destroy (buffer);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (priv->is_cancelled) {
|
||||
wl_buffer_destroy (buffer);
|
||||
return TRUE;
|
||||
return !priv->is_cancelled;
|
||||
}
|
||||
|
||||
frame = frame_state_new (window);
|
||||
|
|
Loading…
Reference in a new issue