From c3dcabd90c29bcd82357d141b471fa1a4fd4a3af Mon Sep 17 00:00:00 2001 From: gb Date: Fri, 26 Mar 2010 08:35:24 +0000 Subject: [PATCH] Check GstVaapiWindow::render() is available prior to calling it. --- gst-libs/gst/vaapi/gstvaapiwindow.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gst-libs/gst/vaapi/gstvaapiwindow.c b/gst-libs/gst/vaapi/gstvaapiwindow.c index 495d86f..5f521d4 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow.c +++ b/gst-libs/gst/vaapi/gstvaapiwindow.c @@ -482,12 +482,17 @@ gst_vaapi_window_put_surface( guint flags ) { + GstVaapiWindowClass *klass; GstVaapiRectangle src_rect_default, dst_rect_default; g_return_val_if_fail(GST_VAAPI_IS_WINDOW(window), FALSE); g_return_val_if_fail(window->priv->is_constructed, FALSE); g_return_val_if_fail(GST_VAAPI_IS_SURFACE(surface), FALSE); + klass = GST_VAAPI_WINDOW_GET_CLASS(window); + if (!klass->render) + return FALSE; + if (!src_rect) { src_rect = &src_rect_default; get_surface_rect(surface, &src_rect_default); @@ -498,9 +503,5 @@ gst_vaapi_window_put_surface( get_window_rect(window, &dst_rect_default); } - return GST_VAAPI_WINDOW_GET_CLASS(window)->render(window, - surface, - src_rect, - dst_rect, - flags); + return klass->render(window, surface, src_rect, dst_rect, flags); } -- 2.7.4