summaryrefslogtreecommitdiffstats
path: root/sys/glsink/gstglbuffer.h
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2007-12-29 00:37:41 +0000
committerDavid Schleef <ds@schleef.org>2007-12-29 00:37:41 +0000
commit9c52a9cd0993b34d0cf02a8fea4fd39b4e8609c0 (patch)
treec0c10a8f3bc5e6b2287a3b01944dfdc029b603fb /sys/glsink/gstglbuffer.h
parent07e3e6e2bd4c69380aeab3a0517ed0a0175d1964 (diff)
downloadgst-plugins-bad-9c52a9cd0993b34d0cf02a8fea4fd39b4e8609c0.tar.gz
gst-plugins-bad-9c52a9cd0993b34d0cf02a8fea4fd39b4e8609c0.tar.bz2
gst-plugins-bad-9c52a9cd0993b34d0cf02a8fea4fd39b4e8609c0.zip
Major cleanup of code. Convert glupload to BaseTransform.
Original commit message from CVS: * configure.ac: * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstglconvert.c: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglfilter.h: * sys/glsink/gstglfilterexample.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstglupload.c: Major cleanup of code. Convert glupload to BaseTransform. Handle caps negotiation mostly correctly. Reenable in build.
Diffstat (limited to 'sys/glsink/gstglbuffer.h')
-rw-r--r--sys/glsink/gstglbuffer.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/sys/glsink/gstglbuffer.h b/sys/glsink/gstglbuffer.h
index e5a39441..cf2e0141 100644
--- a/sys/glsink/gstglbuffer.h
+++ b/sys/glsink/gstglbuffer.h
@@ -14,6 +14,7 @@ typedef struct _GstGLBuffer GstGLBuffer;
#define GST_GL_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_GL_BUFFER, GstGLBuffer))
typedef enum {
+ GST_GL_BUFFER_FORMAT_UNKNOWN,
GST_GL_BUFFER_FORMAT_RGBA,
GST_GL_BUFFER_FORMAT_RGB,
GST_GL_BUFFER_FORMAT_YUYV,
@@ -41,21 +42,32 @@ struct _GstGLBuffer {
GType gst_gl_buffer_get_type (void);
GstGLBuffer * gst_gl_buffer_new (GstGLDisplay *display,
+ int width, int height);
+GstGLBuffer * gst_gl_buffer_new_with_format (GstGLDisplay *display,
GstGLBufferFormat format, int width, int height);
-GstGLBuffer * gst_gl_buffer_new_from_data (GstGLDisplay *display,
- GstVideoFormat format, int width, int height, void *data);
+GstGLBuffer * gst_gl_buffer_new_from_video_format (GstGLDisplay *display,
+ GstVideoFormat format, int width, int height);
+void gst_gl_buffer_upload (GstGLBuffer *buffer,
+ GstVideoFormat format, void *data);
void gst_gl_buffer_download (GstGLBuffer *buffer, GstVideoFormat format,
void *data);
#define GST_GL_VIDEO_CAPS \
"video/x-raw-gl," \
- "format=(int)[0,10]," \
+ "format=(int)1," \
+ "is_yuv=(boolean)FALSE," \
"width=(int)[1,2048]," \
"height=(int)[1,2048]," \
"pixel-aspect-ratio=(fraction)1/1," \
"framerate=(fraction)[0/1,100/1]"
+GstGLBufferFormat gst_gl_buffer_format_from_video_format (GstVideoFormat format);
+int gst_gl_buffer_format_get_size (GstGLBufferFormat format, int width,
+ int height);
+gboolean gst_gl_buffer_format_parse_caps (GstCaps *caps, GstGLBufferFormat *format,
+ int *width, int *height);
+
#endif