wayland: render the raw surface if VPP failed.

As a last resort, if video processing capabilities (VPP) are not available,
or they did not produce anything conclusive enough, then try to fallback to
the original rendering code path whereby the whole VA surface is rendered
as is, no matter of video cropping or deinterlacing requests.

Note: under those conditions, the visual outcome won't be correct but at
least, something gets displayed instead of bailing out.
This commit is contained in:
Gwenole Beauchesne 2013-08-27 18:24:12 +02:00
parent 7759acd2f0
commit 1362352825

View file

@ -463,11 +463,13 @@ gst_vaapi_window_wayland_render(
if (priv->use_vpp) {
GstVaapiSurface * const vpp_surface =
vpp_convert(window, surface, src_rect, dst_rect, flags);
if (!vpp_surface)
return FALSE;
surface = vpp_surface;
width = window->width;
height = window->height;
if (G_UNLIKELY(!vpp_surface))
need_vpp = FALSE;
else {
surface = vpp_surface;
width = window->width;
height = window->height;
}
}
GST_VAAPI_OBJECT_LOCK_DISPLAY(window);