x11: update x11_get_geometry() helper function with depth output.
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Mon, 22 Jul 2013 08:10:40 +0000 (10:10 +0200)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Mon, 22 Jul 2013 13:45:10 +0000 (15:45 +0200)
Allow x11_get_geometry() utility function to also return the depth
assigned to the X drawable.

gst-libs/gst/vaapi/gstvaapiutils_x11.c
gst-libs/gst/vaapi/gstvaapiutils_x11.h
gst-libs/gst/vaapi/gstvaapiwindow_x11.c

index 83a13ee..2b7931b 100644 (file)
@@ -127,7 +127,8 @@ x11_get_geometry(
     gint       *px,
     gint       *py,
     guint      *pwidth,
-    guint      *pheight
+    guint      *pheight,
+    guint      *pdepth
 )
 {
     Window rootwin;
@@ -150,5 +151,6 @@ x11_get_geometry(
     if (py)      *py      = y;
     if (pwidth)  *pwidth  = width;
     if (pheight) *pheight = height;
+    if (pdepth)  *pdepth  = depth;
     return TRUE;
 }
index 60befa5..252b4ae 100644 (file)
@@ -47,7 +47,8 @@ x11_get_geometry(
     gint       *px,
     gint       *py,
     guint      *pwidth,
-    guint      *pheight
+    guint      *pheight,
+    guint      *pdepth
 );
 
 #endif /* GST_VAAPI_UTILS_X11_H */
index d5fc0bb..a5ea277 100644 (file)
@@ -227,7 +227,7 @@ gst_vaapi_window_x11_create(GstVaapiWindow *window, guint *width, guint *height)
         GST_VAAPI_OBJECT_LOCK_DISPLAY(window);
         XGetWindowAttributes(dpy, xid, &wattr);
         priv->is_mapped = wattr.map_state == IsViewable;
-        ok = x11_get_geometry(dpy, xid, NULL, NULL, width, height);
+        ok = x11_get_geometry(dpy, xid, NULL, NULL, width, height, NULL);
         GST_VAAPI_OBJECT_UNLOCK_DISPLAY(window);
         return ok;
     }
@@ -287,7 +287,7 @@ gst_vaapi_window_x11_get_geometry(
     Display * const     dpy = GST_VAAPI_OBJECT_XDISPLAY(window);
     const Window        xid = GST_VAAPI_OBJECT_ID(window);
 
-    return x11_get_geometry(dpy, xid, px, py, pwidth, pheight);
+    return x11_get_geometry(dpy, xid, px, py, pwidth, pheight, NULL);
 }
 
 static gboolean