From 0e1f7f6e8d09b2d76f6afa941b2574ea9ab1012e Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Thu, 13 Feb 2020 10:41:29 +1100 Subject: [PATCH] gl/window/win32: implement get_window_handle() Some other frameworks need the HWND to retrieve information from. --- gst-libs/gst/gl/win32/gstglwindow_win32.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gst-libs/gst/gl/win32/gstglwindow_win32.c b/gst-libs/gst/gl/win32/gstglwindow_win32.c index fd5c69efa9..86667b2de0 100644 --- a/gst-libs/gst/gl/win32/gstglwindow_win32.c +++ b/gst-libs/gst/gl/win32/gstglwindow_win32.c @@ -54,6 +54,7 @@ G_DEFINE_TYPE_WITH_CODE (GstGLWindowWin32, gst_gl_window_win32, static void gst_gl_window_win32_set_window_handle (GstGLWindow * window, guintptr handle); static guintptr gst_gl_window_win32_get_display (GstGLWindow * window); +static guintptr gst_gl_window_win32_get_window_handle (GstGLWindow * window); static void gst_gl_window_win32_set_preferred_size (GstGLWindow * window, gint width, gint height); static void gst_gl_window_win32_show (GstGLWindow * window); @@ -74,6 +75,8 @@ gst_gl_window_win32_class_init (GstGLWindowWin32Class * klass) window_class->draw = GST_DEBUG_FUNCPTR (gst_gl_window_win32_draw); window_class->get_display = GST_DEBUG_FUNCPTR (gst_gl_window_win32_get_display); + window_class->get_window_handle = + GST_DEBUG_FUNCPTR (gst_gl_window_win32_get_window_handle); window_class->set_preferred_size = GST_DEBUG_FUNCPTR (gst_gl_window_win32_set_preferred_size); window_class->show = GST_DEBUG_FUNCPTR (gst_gl_window_win32_show); @@ -324,6 +327,16 @@ gst_gl_window_win32_get_display (GstGLWindow * window) return (guintptr) window_win32->device; } +static guintptr +gst_gl_window_win32_get_window_handle (GstGLWindow * window) +{ + GstGLWindowWin32 *window_win32; + + window_win32 = GST_GL_WINDOW_WIN32 (window); + + return (guintptr) window_win32->internal_win_id; +} + static void gst_gl_window_win32_set_window_handle (GstGLWindow * window, guintptr id) {