From 08dc3036f45fa9222b531f68e8913a52edb5d821 Mon Sep 17 00:00:00 2001 From: Holger Kaelberer Date: Mon, 29 Jul 2013 09:28:28 +0200 Subject: [PATCH] window: allow for updating size from current geometry. Add gst_vaapi_window_reconfigure() interface to force an update of the GstVaapiWindow "soft" size, based on the current geometry of the underlying native window. This can be useful for instance to synchronize the window size when the user changed it. Thanks to Fabrice Bellet for rebasing the patch. [changed interface to gst_vaapi_window_reconfigure()] Signed-off-by: Gwenole Beauchesne --- gst-libs/gst/vaapi/gstvaapiwindow.c | 16 ++++++++++++++++ gst-libs/gst/vaapi/gstvaapiwindow.h | 3 +++ 2 files changed, 19 insertions(+) diff --git a/gst-libs/gst/vaapi/gstvaapiwindow.c b/gst-libs/gst/vaapi/gstvaapiwindow.c index b9a668a..7ebbdac 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow.c +++ b/gst-libs/gst/vaapi/gstvaapiwindow.c @@ -483,3 +483,19 @@ gst_vaapi_window_put_pixmap (GstVaapiWindow * window, } return klass->render_pixmap (window, pixmap, src_rect, dst_rect); } + +/** + * gst_vaapi_window_reconfigure: + * @window: a #GstVaapiWindow + * + * Updates internal window size from geometry of the underlying window + * implementation if necessary. + */ +void +gst_vaapi_window_reconfigure (GstVaapiWindow * window) +{ + g_return_if_fail (window != NULL); + + window->check_geometry = TRUE; + gst_vaapi_window_ensure_size (window); +} diff --git a/gst-libs/gst/vaapi/gstvaapiwindow.h b/gst-libs/gst/vaapi/gstvaapiwindow.h index 7b7cbfe..84a6ef8 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow.h +++ b/gst-libs/gst/vaapi/gstvaapiwindow.h @@ -93,6 +93,9 @@ gboolean gst_vaapi_window_put_pixmap (GstVaapiWindow * window, GstVaapiPixmap * pixmap, const GstVaapiRectangle * src_rect, const GstVaapiRectangle * dst_rect); +void +gst_vaapi_window_reconfigure (GstVaapiWindow * window); + G_END_DECLS #endif /* GST_VAAPI_WINDOW_H */ -- 2.7.4