summaryrefslogtreecommitdiff
path: root/gst-libs/gst/gl/gstglwindow.h
diff options
context:
space:
mode:
authorJulien Isorce <julien.isorce@gmail.com>2009-10-23 01:11:27 +0200
committerMatthew Waters <ystreet00@gmail.com>2014-03-15 18:36:37 +0100
commitdb7d436bd8c3c668573207a8373b8bc0973cae79 (patch)
treec2b85a335a6ad6ebef04dd5557db5053612688b0 /gst-libs/gst/gl/gstglwindow.h
parent1dad35ef9309f55a3389110fdb693b298499086a (diff)
downloadgstreamer-plugins-bad-db7d436bd8c3c668573207a8373b8bc0973cae79.tar.gz
[387/906] glmixer: add a glmixer base element
glmixer can be seen as a glfilter except it handles N requested sink pads. Each sink pad and the src pad are video/x-raw-gl. glmixer is responsible for managing different framerates from inputs. It uses OpenGL context sharing. It means that each input is in its own OpenGL context shared together and shared with the OpenGL context of the ouput gl chain. Also add a glmosaic which is an example of implementation of glmixer. For now glmosaic is a cube but it will be fixed in the next commits. For now the glmixer has some weird behaviours in some configurations but it will be improved in the next commits. The autotools builds is temporarly broken since those changes have been made on win32.
Diffstat (limited to 'gst-libs/gst/gl/gstglwindow.h')
-rw-r--r--gst-libs/gst/gl/gstglwindow.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/gst-libs/gst/gl/gstglwindow.h b/gst-libs/gst/gl/gstglwindow.h
index 9904eb8e2..41773edef 100644
--- a/gst-libs/gst/gl/gstglwindow.h
+++ b/gst-libs/gst/gl/gstglwindow.h
@@ -79,15 +79,18 @@ struct _GstGLWindowClass {
GQuark gst_gl_window_error_quark (void);
GType gst_gl_window_get_type (void);
-GstGLWindow * gst_gl_window_new (gint width, gint height, gulong external_gl_context);
+GstGLWindow * gst_gl_window_new (gulong external_gl_context);
+
+gulong gst_gl_window_get_internal_gl_context (GstGLWindow *window);
+void gst_gl_window_activate_gl_context (GstGLWindow *window, gboolean activate);
void gst_gl_window_set_external_window_id (GstGLWindow *window, gulong id);
void gst_gl_window_set_draw_callback (GstGLWindow *window, GstGLWindowCB callback, gpointer data);
void gst_gl_window_set_resize_callback (GstGLWindow *window, GstGLWindowCB2 callback, gpointer data);
void gst_gl_window_set_close_callback (GstGLWindow *window, GstGLWindowCB callback, gpointer data);
-void gst_gl_window_draw_unlocked (GstGLWindow *window);
-void gst_gl_window_draw (GstGLWindow *window);
+void gst_gl_window_draw_unlocked (GstGLWindow *window, gint width, gint height);
+void gst_gl_window_draw (GstGLWindow *window, gint width, gint height);
void gst_gl_window_run_loop (GstGLWindow *window);
void gst_gl_window_quit_loop (GstGLWindow *window, GstGLWindowCB callback, gpointer data);