1 From 99b8b8f92e3785ff05f30c9c1e4a722593dfc492 Mon Sep 17 00:00:00 2001
2 From: Haihua Hu <b55597@freescale.com>
3 Date: Wed, 9 Mar 2016 13:00:39 +0800
4 Subject: [PATCH 17/26] glwindow: work around for no frame when imxplayer use
7 change parent window of internal_window in window_show function.
9 Upstream Status: Inappropriate [i.MX specific]
11 Signed-off-by: Haihua Hu <b55597@freescale.com>
13 gst-libs/gst/gl/x11/gstglwindow_x11.c | 14 +++++++++++---
14 1 file changed, 11 insertions(+), 3 deletions(-)
16 diff --git a/gst-libs/gst/gl/x11/gstglwindow_x11.c b/gst-libs/gst/gl/x11/gstglwindow_x11.c
17 index d08b757..bc7b9c0 100644
18 --- a/gst-libs/gst/gl/x11/gstglwindow_x11.c
19 +++ b/gst-libs/gst/gl/x11/gstglwindow_x11.c
20 @@ -322,13 +322,13 @@ gst_gl_window_x11_set_window_handle (GstGLWindow * window, guintptr id)
21 g_main_context_get_thread_default ());
24 - XGetWindowAttributes (window_x11->device, window_x11->parent_win, &attr);
25 + /*XGetWindowAttributes (window_x11->device, window_x11->parent_win, &attr);
27 XResizeWindow (window_x11->device, window_x11->internal_win_id,
28 attr.width, attr.height);
30 XReparentWindow (window_x11->device, window_x11->internal_win_id,
31 - window_x11->parent_win, 0, 0);
32 + window_x11->parent_win, 0, 0);*/
34 XSync (window_x11->device, FALSE);
36 @@ -359,7 +359,7 @@ _show_window (GstGLWindow * window)
37 GstGLWindowX11 *window_x11 = GST_GL_WINDOW_X11 (window);
38 guint width = window_x11->priv->preferred_width;
39 guint height = window_x11->priv->preferred_height;
40 - XWindowAttributes attr;
41 + XWindowAttributes attr, parent_attr;
43 XGetWindowAttributes (window_x11->device, window_x11->internal_win_id, &attr);
45 @@ -371,6 +371,14 @@ _show_window (GstGLWindow * window)
46 XResizeWindow (window_x11->device, window_x11->internal_win_id,
47 attr.width, attr.height);
48 XSync (window_x11->device, FALSE);
50 + XGetWindowAttributes (window_x11->device, window_x11->parent_win, &parent_attr);
52 + XResizeWindow (window_x11->device, window_x11->internal_win_id,
53 + parent_attr.width, parent_attr.height);
55 + XReparentWindow (window_x11->device, window_x11->internal_win_id,
56 + window_x11->parent_win, 0, 0);
59 XMapWindow (window_x11->device, window_x11->internal_win_id);