2 * gstvaapivideobuffer_glx.c - Gst VA video buffer
4 * Copyright (C) 2011 Intel Corporation
5 * Copyright (C) 2011 Collabora Ltd.
6 * Author: Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation; either version 2.1
11 * of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free
20 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301 USA
25 * SECTION:gstvaapivideobufferglx
26 * @short_description: VA video buffer for GStreamer with GLX support
30 #include "gstvaapivideobuffer_glx.h"
31 #include "gstvaapivideoconverter_glx.h"
32 #include "gstvaapivideopool.h"
33 #include "gstvaapivideobuffer_priv.h"
34 #include "gstvaapidisplay_priv.h"
37 #include "gstvaapidebug.h"
39 G_DEFINE_TYPE(GstVaapiVideoBufferGLX,
40 gst_vaapi_video_buffer_glx,
41 GST_VAAPI_TYPE_VIDEO_BUFFER);
44 gst_vaapi_video_buffer_glx_class_init(GstVaapiVideoBufferGLXClass *klass)
46 GstSurfaceBufferClass * const surface_class =
47 GST_SURFACE_BUFFER_CLASS(klass);
49 surface_class->create_converter = gst_vaapi_video_converter_glx_new;
53 gst_vaapi_video_buffer_glx_init(GstVaapiVideoBufferGLX *buffer)