summaryrefslogtreecommitdiffstats
path: root/sys/glsink/gstgldisplay.h
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2007-12-24 21:04:46 +0000
committerDavid Schleef <ds@schleef.org>2007-12-24 21:04:46 +0000
commit6899b8bb6d8ef5b3a0e5b702595f2a0cb28a194d (patch)
tree2e79c1721ab54939e5d86de5cdafd40409fc0ea2 /sys/glsink/gstgldisplay.h
parent15dbe49f8103bfcf493a225868734fdf8c924d03 (diff)
downloadgst-plugins-bad-6899b8bb6d8ef5b3a0e5b702595f2a0cb28a194d.tar.gz
gst-plugins-bad-6899b8bb6d8ef5b3a0e5b702595f2a0cb28a194d.tar.bz2
gst-plugins-bad-6899b8bb6d8ef5b3a0e5b702595f2a0cb28a194d.zip
sys/glsink/: Rename glvideo.[ch] to gstgldisplay.[ch].
Original commit message from CVS: * sys/glsink/Makefile.am: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: Rename glvideo.[ch] to gstgldisplay.[ch].
Diffstat (limited to 'sys/glsink/gstgldisplay.h')
-rw-r--r--sys/glsink/gstgldisplay.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/sys/glsink/gstgldisplay.h b/sys/glsink/gstgldisplay.h
new file mode 100644
index 00000000..677c569f
--- /dev/null
+++ b/sys/glsink/gstgldisplay.h
@@ -0,0 +1,84 @@
+
+#ifndef __GST_GL_H__
+#define __GST_GL_H__
+
+#include <GL/glx.h>
+#include <GL/gl.h>
+#include <gst/gst.h>
+#include <gst/video/video.h>
+
+typedef struct _GstGLDisplay GstGLDisplay;
+typedef struct _GstGLDisplayClass GstGLDisplayClass;
+
+#define GST_TYPE_GL_DISPLAY \
+ (gst_gl_display_get_type())
+#define GST_GL_DISPLAY(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_DISPLAY,GstGLDisplay))
+#define GST_GL_DISPLAY_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_GL_DISPLAY,GstGLDisplayClass))
+#define GST_IS_GL_DISPLAY(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_GL_DISPLAY))
+#define GST_IS_GL_DISPLAY_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_GL_DISPLAY))
+
+
+struct _GstGLDisplay {
+ GObject object;
+
+ Display *display;
+ GC gc;
+ XVisualInfo *visinfo;
+ GLXContext context;
+ GMutex *lock;
+
+ Screen *screen;
+ int screen_num;
+ Visual *visual;
+ Window root;
+ guint32 white;
+ guint32 black;
+ int depth;
+
+ int max_texture_size;
+
+ gboolean have_ycbcr_texture;
+ gboolean have_texture_rectangle;
+ gboolean have_color_matrix;
+
+ Window window;
+ Window assigned_window;
+
+ int win_width;
+ int win_height;
+
+};
+
+struct _GstGLDisplayClass {
+ GObjectClass object_class;
+};
+
+GType gst_gl_display_get_type (void);
+
+
+GstGLDisplay *gst_gl_display_new (void);
+gboolean gst_gl_display_connect (GstGLDisplay *display,
+ const char *display_name);
+gboolean gst_gl_display_can_handle_type (GstGLDisplay *display,
+ GstVideoFormat type);
+void gst_gl_display_lock (GstGLDisplay *display);
+void gst_gl_display_unlock (GstGLDisplay *display);
+void gst_gl_display_set_window (GstGLDisplay *display, Window window);
+void gst_gl_display_update_attributes (GstGLDisplay *display);
+void gst_gl_display_clear (GstGLDisplay *display);
+void gst_gl_display_draw_image (GstGLDisplay * display, GstVideoFormat type,
+ void *data, int width, int height);
+void gst_gl_display_draw_rbo (GstGLDisplay * display, GLuint rbo,
+ int width, int height);
+void gst_gl_display_draw_texture (GstGLDisplay * display, GLuint texture,
+ int width, int height);
+void gst_gl_display_check_error (GstGLDisplay *display, int line);
+GLuint gst_gl_display_upload_texture_rectangle (GstGLDisplay *display,
+ GstVideoFormat type, void *data, int width, int height);
+
+#endif
+