2 * gstvaapidisplay_wayland_priv.h - Internal VA/Wayland interface
4 * Copyright (C) 2012 Intel Corporation
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public License
8 * as published by the Free Software Foundation; either version 2.1
9 * of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free
18 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 * Boston, MA 02110-1301 USA
22 #ifndef GST_VAAPI_DISPLAY_WAYLAND_PRIV_H
23 #define GST_VAAPI_DISPLAY_WAYLAND_PRIV_H
25 #include <gst/vaapi/gstvaapidisplay_wayland.h>
29 #define GST_VAAPI_DISPLAY_WAYLAND_GET_PRIVATE(obj) \
30 (G_TYPE_INSTANCE_GET_PRIVATE((obj), \
31 GST_VAAPI_TYPE_DISPLAY_WAYLAND, \
32 GstVaapiDisplayWaylandPrivate))
34 #define GST_VAAPI_DISPLAY_WAYLAND_CAST(display) \
35 ((GstVaapiDisplayWayland *)(display))
38 * GST_VAAPI_DISPLAY_WL_DISPLAY:
39 * @display: a #GstVaapiDisplay
41 * Macro that evaluates to the underlying Wayland #wl_display object
44 #undef GST_VAAPI_DISPLAY_WL_DISPLAY
45 #define GST_VAAPI_DISPLAY_WL_DISPLAY(display) \
46 GST_VAAPI_DISPLAY_WAYLAND_CAST(display)->priv->wl_display
48 struct _GstVaapiDisplayWaylandPrivate {
50 struct wl_display *wl_display;
51 struct wl_compositor *compositor;
52 struct wl_shell *shell;
53 struct wl_output *output;
60 guint create_display : 1;
65 #endif /* GST_VAAPI_DISPLAY_WAYLAND_PRIV_H */