window: allow for updating size from current geometry.
authorHolger Kaelberer <hk@getslash.de>
Mon, 29 Jul 2013 07:28:28 +0000 (09:28 +0200)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Fri, 25 Jul 2014 15:36:12 +0000 (17:36 +0200)
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 <gwenole.beauchesne@intel.com>
gst-libs/gst/vaapi/gstvaapiwindow.c
gst-libs/gst/vaapi/gstvaapiwindow.h

index b9a668a..7ebbdac 100644 (file)
@@ -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);
+}
index 7b7cbfe..84a6ef8 100644 (file)
@@ -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 */