diff options
author | David Schleef <ds@schleef.org> | 2007-12-24 21:04:46 +0000 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2007-12-24 21:04:46 +0000 |
commit | 6899b8bb6d8ef5b3a0e5b702595f2a0cb28a194d (patch) | |
tree | 2e79c1721ab54939e5d86de5cdafd40409fc0ea2 /sys/glsink/gstgldisplay.h | |
parent | 15dbe49f8103bfcf493a225868734fdf8c924d03 (diff) | |
download | gst-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.h | 84 |
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 + |