gldownload: remove helper api from the library
authorMatthew Waters <matthew@centricular.com>
Fri, 11 Dec 2015 04:39:57 +0000 (15:39 +1100)
committerMatthew Waters <matthew@centricular.com>
Mon, 14 Dec 2015 02:55:16 +0000 (13:55 +1100)
It was never used by anyone and is not needed anymore with the element
and GstGLMemory's transparent support for downloading textures.

docs/libs/gst-plugins-bad-libs-docs.sgml
docs/libs/gst-plugins-bad-libs-sections.txt
docs/libs/gst-plugins-bad-libs.types
ext/gl/gstglstereomix.h
gst-libs/gst/gl/Makefile.am
gst-libs/gst/gl/gl.h
gst-libs/gst/gl/gstgl_fwd.h
gst-libs/gst/gl/gstgldownload.c [deleted file]
gst-libs/gst/gl/gstgldownload.h [deleted file]

index 76651b7..9ea8a84 100644 (file)
@@ -82,7 +82,6 @@
       <xi:include href="xml/gstglcontextglx.xml"/>
       <xi:include href="xml/gstglcontextwgl.xml"/>
       <xi:include href="xml/gstgldisplay.xml"/>
-      <xi:include href="xml/gstgldownload.xml"/>
       <xi:include href="xml/gsteglimagememory.xml"/>
       <xi:include href="xml/gstglbasefilter.xml"/>
       <xi:include href="xml/gstglfilter.xml"/>
index d34a16b..89bed70 100644 (file)
@@ -992,26 +992,6 @@ gst_gl_display_get_type
 </SECTION>
 
 <SECTION>
-<FILE>gstgldownload</FILE>
-<TITLE>GstGLDownload</TITLE>
-GstGLDownload
-gst_gl_download_new
-gst_gl_download_set_format
-gst_gl_download_transform_caps
-gst_gl_download_perform_with_data
-<SUBSECTION Standard>
-GST_GL_DOWNLOAD
-GST_GL_DOWNLOAD_CAST
-GST_GL_DOWNLOAD_CLASS
-GST_GL_DOWNLOAD_GET_CLASS
-gst_gl_download_get_type
-GST_IS_GL_DOWNLOAD
-GST_IS_GL_DOWNLOAD_CLASS
-GST_TYPE_GL_DOWNLOAD
-GstGLDownloadPrivate
-</SECTION>
-
-<SECTION>
 <FILE>gstglbasefilter</FILE>
 <TITLE>GstGLBaseFilter</TITLE>
 GstGLBaseFilter
index 2bf883e..55a94cb 100644 (file)
@@ -32,7 +32,6 @@ gst_gl_buffer_pool_get_type
 gst_gl_color_convert_get_type
 gst_gl_context_get_type
 gst_gl_display_get_type
-gst_gl_download_get_type
 gst_gl_filter_get_type
 gst_gl_framebuffer_get_type
 gst_gl_shader_get_type
index debe347..0c06d42 100644 (file)
@@ -50,7 +50,6 @@ struct _GstGLStereoMix
   GPtrArray *frames;
 
   GLuint out_tex_id;
-  GstGLDownload *download;
 
   GstGLViewConvert *viewconvert;
   GstGLStereoDownmix downmix_mode;
index 219aec8..653c1d6 100644 (file)
@@ -22,7 +22,6 @@ libgstgl_@GST_API_VERSION@_la_SOURCES = \
        gstglsl.c \
        gstglslstage.c \
        gstglcolorconvert.c \
-       gstgldownload.c \
        gstglupload.c \
        gstgluploadmeta.c \
        gstglwindow.c \
@@ -52,7 +51,6 @@ libgstgl_@GST_API_VERSION@include_HEADERS = \
        gstglsl.h \
        gstglslstage.h \
        gstglcolorconvert.h \
-       gstgldownload.h \
        gstgluploadmeta.h \
        gstglupload.h \
        gstglapi.h \
index 8d8a045..9515b6a 100644 (file)
@@ -42,7 +42,6 @@
 #include <gst/gl/gstglcolorconvert.h>
 #include <gst/gl/gstglupload.h>
 #include <gst/gl/gstgluploadmeta.h>
-#include <gst/gl/gstgldownload.h>
 #include <gst/gl/gstglbasebuffer.h>
 #include <gst/gl/gstglmemory.h>
 #include <gst/gl/gstglbufferpool.h>
index 652bb32..c436488 100644 (file)
@@ -55,10 +55,6 @@ typedef struct _GstGLShader        GstGLShader;
 typedef struct _GstGLShaderPrivate GstGLShaderPrivate;
 typedef struct _GstGLShaderClass   GstGLShaderClass;
 
-typedef struct _GstGLDownload GstGLDownload;
-typedef struct _GstGLDownloadClass GstGLDownloadClass;
-typedef struct _GstGLDownloadPrivate GstGLDownloadPrivate;
-
 typedef struct _GstGLUpload GstGLUpload;
 typedef struct _GstGLUploadClass GstGLUploadClass;
 typedef struct _GstGLUploadPrivate GstGLUploadPrivate;
diff --git a/gst-libs/gst/gl/gstgldownload.c b/gst-libs/gst/gl/gstgldownload.c
deleted file mode 100644 (file)
index 8f045c7..0000000
+++ /dev/null
@@ -1,504 +0,0 @@
-/*
- * GStreamer
- * Copyright (C) 2012 Matthew Waters <ystree00@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdio.h>
-
-#include "gl.h"
-#include "gstgldownload.h"
-
-/**
- * SECTION:gstgldownload
- * @short_description: an object that downloads GL textures
- * @see_also: #GstGLUpload, #GstGLMemory
- *
- * #GstGLDownload is an object that downloads GL textures into system memory.
- *
- * A #GstGLDownload can be created with gst_gl_download_new()
- */
-
-#define USING_OPENGL(context) (gst_gl_context_check_gl_version (context, GST_GL_API_OPENGL, 1, 0))
-#define USING_OPENGL3(context) (gst_gl_context_check_gl_version (context, GST_GL_API_OPENGL3, 3, 1))
-#define USING_GLES(context) (gst_gl_context_check_gl_version (context, GST_GL_API_GLES, 1, 0))
-#define USING_GLES2(context) (gst_gl_context_check_gl_version (context, GST_GL_API_GLES2, 2, 0))
-#define USING_GLES3(context) (gst_gl_context_check_gl_version (context, GST_GL_API_GLES2, 3, 0))
-
-static gboolean _do_download (GstGLDownload * download, GstBuffer * inbuf);
-static gboolean _init_download (GstGLDownload * download);
-static gboolean _gst_gl_download_perform_with_data_unlocked (GstGLDownload *
-    download, GLuint texture_id, GLuint texture_target,
-    gpointer data[GST_VIDEO_MAX_PLANES]);
-static void gst_gl_download_reset (GstGLDownload * download);
-
-/* *INDENT-ON* */
-/* Define the maximum number of planes we can handle - max 2 views per buffer */
-#define GST_GL_DOWNLOAD_MAX_VIEWS 2
-#define GST_GL_DOWNLOAD_MAX_PLANES (GST_VIDEO_MAX_PLANES * GST_GL_DOWNLOAD_MAX_VIEWS)
-
-struct _GstGLDownloadPrivate
-{
-  const gchar *YUY2_UYVY;
-  const gchar *I420_YV12;
-  const gchar *AYUV;
-  const gchar *ARGB;
-  const gchar *vert_shader;
-
-  GstBuffer *inbuf;
-  /* Temporary wrapped texture for perform_with_data download */
-  GstGLMemory *in_tex;
-
-  /* Output data planes */
-  gpointer out_data[GST_GL_DOWNLOAD_MAX_PLANES];
-};
-
-GST_DEBUG_CATEGORY_STATIC (gst_gl_download_debug);
-#define GST_CAT_DEFAULT gst_gl_download_debug
-
-#define DEBUG_INIT \
-  GST_DEBUG_CATEGORY_INIT (gst_gl_download_debug, "gldownload", 0, "download");
-
-G_DEFINE_TYPE_WITH_CODE (GstGLDownload, gst_gl_download, GST_TYPE_OBJECT,
-    DEBUG_INIT);
-static void gst_gl_download_finalize (GObject * object);
-
-#define GST_GL_DOWNLOAD_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
-    GST_TYPE_GL_DOWNLOAD, GstGLDownloadPrivate))
-
-static void
-gst_gl_download_class_init (GstGLDownloadClass * klass)
-{
-  g_type_class_add_private (klass, sizeof (GstGLDownloadPrivate));
-
-  G_OBJECT_CLASS (klass)->finalize = gst_gl_download_finalize;
-}
-
-static void
-gst_gl_download_init (GstGLDownload * download)
-{
-
-  download->priv = GST_GL_DOWNLOAD_GET_PRIVATE (download);
-
-  gst_video_info_init (&download->info);
-}
-
-/**
- * gst_gl_download_new:
- * @context: a #GstGLContext
- *
- * Returns: a new #GstGLDownload object
- */
-GstGLDownload *
-gst_gl_download_new (GstGLContext * context)
-{
-  GstGLDownload *download;
-
-  download = g_object_new (GST_TYPE_GL_DOWNLOAD, NULL);
-
-  download->context = gst_object_ref (context);
-  download->convert = gst_gl_color_convert_new (context);
-
-  return download;
-}
-
-static void
-gst_gl_download_finalize (GObject * object)
-{
-  GstGLDownload *download;
-
-  download = GST_GL_DOWNLOAD (object);
-
-  gst_gl_download_reset (download);
-
-  if (download->convert) {
-    gst_object_unref (download->convert);
-    download->convert = NULL;
-  }
-
-  if (download->context) {
-    gst_object_unref (download->context);
-    download->context = NULL;
-  }
-
-  G_OBJECT_CLASS (gst_gl_download_parent_class)->finalize (object);
-}
-
-static void
-gst_gl_download_reset (GstGLDownload * download)
-{
-  if (download->priv->in_tex) {
-    gst_memory_unref ((GstMemory *) download->priv->in_tex);
-    download->priv->in_tex = NULL;
-  }
-}
-
-/**
- * gst_gl_download_set_format:
- * @download: a #GstGLDownload
- * @out_info: a #GstVideoInfo
- *
- * Initializes @download with the information required for download.
- */
-void
-gst_gl_download_set_format (GstGLDownload * download, GstVideoInfo * out_info)
-{
-  g_return_if_fail (download != NULL);
-  g_return_if_fail (GST_VIDEO_INFO_FORMAT (out_info) !=
-      GST_VIDEO_FORMAT_UNKNOWN);
-  g_return_if_fail (GST_VIDEO_INFO_FORMAT (out_info) !=
-      GST_VIDEO_FORMAT_ENCODED);
-
-  GST_OBJECT_LOCK (download);
-
-  if (gst_video_info_is_equal (&download->info, out_info)) {
-    GST_OBJECT_UNLOCK (download);
-    return;
-  }
-
-  gst_gl_download_reset (download);
-  download->initted = FALSE;
-  download->info = *out_info;
-
-  GST_OBJECT_UNLOCK (download);
-}
-
-static GstCaps *
-_set_caps_features (const GstCaps * caps, const gchar * feature_name)
-{
-  GstCaps *tmp = gst_caps_copy (caps);
-  guint n = gst_caps_get_size (tmp);
-  guint i = 0;
-
-  for (i = 0; i < n; i++) {
-    GstCapsFeatures *features;
-
-    features = gst_caps_features_new (feature_name, NULL);
-    gst_caps_set_features (tmp, i, features);
-  }
-
-  return tmp;
-}
-
-GstCaps *
-gst_gl_download_transform_caps (GstGLContext * context,
-    GstPadDirection direction, GstCaps * caps, GstCaps * filter)
-{
-  GstCaps *gl_templ, *templ, *result, *tmp;
-
-  templ =
-      gst_caps_from_string (GST_VIDEO_CAPS_MAKE (GST_GL_COLOR_CONVERT_FORMATS));
-  gl_templ =
-      gst_caps_from_string (GST_VIDEO_CAPS_MAKE_WITH_FEATURES
-      (GST_CAPS_FEATURE_MEMORY_GL_MEMORY, GST_GL_COLOR_CONVERT_FORMATS));
-
-  if (direction == GST_PAD_SRC) {
-    tmp = gst_caps_intersect_full (caps, templ, GST_CAPS_INTERSECT_FIRST);
-    result = _set_caps_features (tmp, GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
-    gst_caps_unref (tmp);
-    tmp = result;
-  } else {
-    tmp = gst_caps_ref (caps);
-  }
-
-  result =
-      gst_gl_color_convert_transform_caps (context, direction, tmp, filter);
-  gst_caps_unref (tmp);
-  tmp = result;
-
-  if (direction == GST_PAD_SINK) {
-    result = _set_caps_features (tmp, GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY);
-    gst_caps_unref (tmp);
-    tmp = result;
-    result = gst_caps_intersect_full (tmp, templ, GST_CAPS_INTERSECT_FIRST);
-    gst_caps_unref (tmp);
-    tmp = result;
-  }
-
-  if (filter) {
-    result = gst_caps_intersect_full (filter, tmp, GST_CAPS_INTERSECT_FIRST);
-    gst_caps_unref (tmp);
-  } else {
-    result = tmp;
-  }
-  gst_caps_unref (templ);
-  gst_caps_unref (gl_templ);
-
-  return result;
-}
-
-/**
- * gst_gl_download_perform_with_data:
- * @download: a #GstGLDownload
- * @texture_id: the texture id to download
- * @texture_target: the GL texture target
- * @data: (out): where the downloaded data should go
- *
- * Downloads @texture_id into @data. @data size and format is specified by
- * the #GstVideoFormat passed to gst_gl_download_set_format()
- *
- * This method can only be used for download a single view.
- *
- * Returns: whether the download was successful
- */
-gboolean
-gst_gl_download_perform_with_data (GstGLDownload * download,
-    GLuint texture_id, GLuint texture_target,
-    gpointer data[GST_VIDEO_MAX_PLANES])
-{
-  gboolean ret;
-
-  g_return_val_if_fail (download != NULL, FALSE);
-
-  GST_OBJECT_LOCK (download);
-  ret =
-      _gst_gl_download_perform_with_data_unlocked (download,
-      texture_id, texture_target, data);
-  GST_OBJECT_UNLOCK (download);
-
-  return ret;
-}
-
-/* This method only supports one input texture */
-static gboolean
-_gst_gl_download_perform_with_data_unlocked (GstGLDownload * download,
-    GLuint texture_id, GLuint texture_target,
-    gpointer data[GST_VIDEO_MAX_PLANES])
-{
-  guint i;
-  gboolean res;
-  GstBuffer *inbuf;
-  guint out_width, out_height;
-
-  g_return_val_if_fail (download != NULL, FALSE);
-  g_return_val_if_fail (texture_id > 0, FALSE);
-  g_return_val_if_fail (GST_VIDEO_INFO_FORMAT (&download->info) !=
-      GST_VIDEO_FORMAT_UNKNOWN
-      && GST_VIDEO_INFO_FORMAT (&download->info) != GST_VIDEO_FORMAT_ENCODED,
-      FALSE);
-
-  for (i = 0; i < GST_VIDEO_INFO_N_PLANES (&download->info); i++) {
-    g_return_val_if_fail (data[i] != NULL, FALSE);
-  }
-
-  if (!download->priv->in_tex) {
-    GstVideoInfo temp_info;
-
-    gst_video_info_set_format (&temp_info, GST_VIDEO_FORMAT_RGBA,
-        GST_VIDEO_INFO_WIDTH (&download->info),
-        GST_VIDEO_INFO_HEIGHT (&download->info));
-
-    download->priv->in_tex =
-        gst_gl_memory_wrapped_texture (download->context,
-        texture_id, texture_target, &temp_info, 0, NULL, NULL, NULL);
-  }
-
-
-  out_width = GST_VIDEO_INFO_WIDTH (&download->info);
-  out_height = GST_VIDEO_INFO_HEIGHT (&download->info);
-
-  GST_TRACE ("doing download of texture:%u (%ux%u)",
-      download->priv->in_tex->tex_id, out_width, out_height);
-
-  download->priv->in_tex->tex_id = texture_id;
-
-  inbuf = gst_buffer_new ();
-  gst_buffer_append_memory (inbuf,
-      gst_memory_ref ((GstMemory *) download->priv->in_tex));
-
-  for (i = 0; i < GST_VIDEO_MAX_PLANES; i++)
-    download->priv->out_data[i] = data[i];
-  /* Clear remaining planes for safety */
-  while (i < GST_GL_DOWNLOAD_MAX_PLANES)
-    download->priv->out_data[i++] = NULL;
-
-  res = _do_download (download, inbuf);
-
-  download->priv->inbuf = NULL;
-  gst_buffer_unref (inbuf);
-
-  return res;
-}
-
-static gboolean
-_init_download (GstGLDownload * download)
-{
-  GstVideoFormat v_format;
-  GstCaps *in_caps, *out_caps;
-  GstCapsFeatures *out_gl_features;
-  gboolean res;
-
-  v_format = GST_VIDEO_INFO_FORMAT (&download->info);
-
-  if (download->initted)
-    return TRUE;
-
-  GST_TRACE ("initializing texture download for format %s",
-      gst_video_format_to_string (v_format));
-
-  if (USING_GLES2 (download->context) && !USING_GLES3 (download->context)) {
-    /* GL_RGBA is the only officially supported texture format in GLES2 */
-    if (v_format == GST_VIDEO_FORMAT_RGB || v_format == GST_VIDEO_FORMAT_BGR) {
-      gst_gl_context_set_error (download->context, "Cannot download RGB "
-          "textures in GLES2");
-      return FALSE;
-    }
-  }
-
-  out_gl_features =
-      gst_caps_features_from_string (GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
-  out_caps = gst_video_info_to_caps (&download->info);
-  gst_caps_set_features (out_caps, 0, out_gl_features);
-
-  in_caps = gst_caps_copy (out_caps);
-  gst_caps_set_simple (in_caps, "format", G_TYPE_STRING, "RGBA", NULL);
-
-  res = gst_gl_color_convert_set_caps (download->convert, in_caps, out_caps);
-
-  gst_caps_unref (in_caps);
-  gst_caps_unref (out_caps);
-
-  return res;
-}
-
-static gboolean
-_do_download (GstGLDownload * download, GstBuffer * inbuf)
-{
-  GstBuffer *outbuf;
-  GstMapInfo map_info;
-  gboolean ret = TRUE;
-  gint i;
-  GstVideoInfo *info;
-  guint views, out_planes;
-  gpointer *data = download->priv->out_data;
-
-  if (!download->initted) {
-    if (!_init_download (download)) {
-      GST_DEBUG_OBJECT (download, "Failed to initialise");
-      return FALSE;
-    }
-  }
-
-  outbuf = gst_gl_color_convert_perform (download->convert, inbuf);
-  if (!outbuf) {
-    GST_DEBUG_OBJECT (download, "Failed to colour convert for output");
-    return FALSE;
-  }
-
-  info = &download->info;
-  if (GST_VIDEO_INFO_MULTIVIEW_MODE (info) ==
-      GST_VIDEO_MULTIVIEW_MODE_SEPARATED)
-    views = GST_VIDEO_INFO_VIEWS (info);
-  else
-    views = 1;
-  out_planes = GST_VIDEO_INFO_N_PLANES (info) * views;
-
-  for (i = 0; i < out_planes; i++) {
-    GstMemory *out_mem = gst_buffer_peek_memory (outbuf, i);
-    gpointer temp_data = ((GstGLBaseBuffer *) out_mem)->data;
-    ((GstGLBaseBuffer *) out_mem)->data = data[i];
-
-    if (!gst_memory_map (out_mem, &map_info, GST_MAP_READ)) {
-      GST_ERROR_OBJECT (download, "Failed to map memory");
-      ret = FALSE;
-    }
-    gst_memory_unmap (out_mem, &map_info);
-    ((GstGLBaseBuffer *) out_mem)->data = temp_data;
-    GST_MINI_OBJECT_FLAG_SET (out_mem, GST_GL_BASE_BUFFER_FLAG_NEED_DOWNLOAD);
-  }
-
-  gst_buffer_unref (outbuf);
-
-  return ret;
-}
-
-static gboolean
-_gst_gl_download_perform_unlocked (GstGLDownload * download,
-    GstBuffer * inbuf, GstBuffer * outbuf)
-{
-  guint i;
-  gboolean res = FALSE;
-  guint out_width, out_height;
-  GstVideoFrame out_frame;
-
-  g_return_val_if_fail (download != NULL, FALSE);
-  g_return_val_if_fail (GST_VIDEO_INFO_FORMAT (&download->info) !=
-      GST_VIDEO_FORMAT_UNKNOWN
-      && GST_VIDEO_INFO_FORMAT (&download->info) != GST_VIDEO_FORMAT_ENCODED,
-      FALSE);
-
-  out_width = GST_VIDEO_INFO_WIDTH (&download->info);
-  out_height = GST_VIDEO_INFO_HEIGHT (&download->info);
-
-  GST_TRACE_OBJECT (download, "doing download of buffer %" GST_PTR_FORMAT
-      " (%ux%u)", inbuf, out_width, out_height);
-
-  /* FIXME: Map multiple views */
-  if (!gst_video_frame_map (&out_frame, &download->info, outbuf, GST_MAP_WRITE))
-    return FALSE;
-
-  for (i = 0; i < GST_VIDEO_INFO_N_PLANES (&download->info); i++) {
-    if (out_frame.data[i] == NULL)
-      goto fail;
-    download->priv->out_data[i] = out_frame.data[i];
-  }
-  while (i < GST_GL_DOWNLOAD_MAX_PLANES)
-    download->priv->out_data[i++] = NULL;
-
-  res = _do_download (download, inbuf);
-
-fail:
-  gst_video_frame_unmap (&out_frame);
-  download->priv->inbuf = NULL;
-
-  return res;
-}
-
-/**
- * gst_gl_download_perform:
- * @download: a #GstGLDownload
- * @inbuf: (transfer none): a #GstBuffer input buffer
- * @outbuf: (transfer none) (out): a #GstBuffer output buffer
- *
- * Downloads the contents of @inbuf into @outbuf.
- *
- * The output buffer contents must match the #GstVideoFormat passed
- * to gst_gl_download_set_format(), and the input buffer must
- * contain #GstGLMemory memory items.
- *
- * This method supports downloading multiple views.
- *
- * Returns: whether the download was successful
- */
-gboolean
-gst_gl_download_perform (GstGLDownload * download,
-    GstBuffer * inbuf, GstBuffer * outbuf)
-{
-  gboolean ret;
-
-  g_return_val_if_fail (download != NULL, FALSE);
-
-  GST_OBJECT_LOCK (download);
-  ret = _gst_gl_download_perform_unlocked (download, inbuf, outbuf);
-  GST_OBJECT_UNLOCK (download);
-
-  return ret;
-}
diff --git a/gst-libs/gst/gl/gstgldownload.h b/gst-libs/gst/gl/gstgldownload.h
deleted file mode 100644 (file)
index d476854..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * GStreamer
- * Copyright (C) 2012 Matthew Waters <ystree00@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef __GST_GL_DOWNLOAD_H__
-#define __GST_GL_DOWNLOAD_H__
-
-#include <gst/video/video.h>
-#include <gst/gstmemory.h>
-
-#include <gst/gl/gl.h>
-
-G_BEGIN_DECLS
-
-GType gst_gl_download_get_type (void);
-#define GST_TYPE_GL_DOWNLOAD (gst_gl_download_get_type())
-#define GST_GL_DOWNLOAD(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_DOWNLOAD,GstGLDownload))
-#define GST_GL_DOWNLOAD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_GL_DISPLAY,GstGLDownloadClass))
-#define GST_IS_GL_DOWNLOAD(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_GL_DOWNLOAD))
-#define GST_IS_GL_DOWNLOAD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_GL_DOWNLOAD))
-#define GST_GL_DOWNLOAD_CAST(obj) ((GstGLDownload*)(obj))
-
-/**
- * GstGLDownload:
- *
- * Opaque #GstGLDownload object
- */
-struct _GstGLDownload
-{
-  /* <private> */
-  GstObject        parent;
-
-  GstGLContext     *context;
-  GstGLColorConvert *convert;
-
-  /* output data */
-  GstVideoInfo     info;
-
-  gboolean         initted;
-
-  GstGLDownloadPrivate *priv;
-
-  gpointer _reserved[GST_PADDING];
-};
-
-/**
- * GstGLDownloadClass:
- *
- * The #GstGLDownloadClass struct only contains private data
- */
-struct _GstGLDownloadClass
-{
-  /* <private> */
-  GstObjectClass object_class;
-};
-
-GstGLDownload * gst_gl_download_new          (GstGLContext * context);
-
-void gst_gl_download_set_format                (GstGLDownload * download, GstVideoInfo * out_info);
-GstCaps * gst_gl_download_transform_caps       (GstGLContext * convert,
-                                                GstPadDirection direction,
-                                                GstCaps * caps,
-                                                GstCaps * filter);
-
-gboolean gst_gl_download_perform_with_data          (GstGLDownload * download,
-                                                     GLuint texture_id, GLuint texture_target,
-                                                     gpointer data[GST_VIDEO_MAX_PLANES]);
-gboolean gst_gl_download_perform (GstGLDownload * download,
-                                  GstBuffer *inbuf, GstBuffer *outbuf);
-
-G_END_DECLS
-
-#endif /* __GST_GL_DOWNLOAD_H__ */