if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "bulge0", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "bulge0", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "fisheye0", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "fisheye0", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "glow0", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "glow0", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "glow1", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "glow1", shader);
}
if (!kernel_ready) {
gst_gl_filter_draw_texture (filter, texture, width, height);
}
-void
+static void
gst_gl_effects_glow_step_three (gint width, gint height, guint texture,
gpointer data)
{
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "glow2", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "glow2", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
gst_gl_filter_draw_texture (filter, texture, width, height);
}
-void
+static void
gst_gl_effects_glow_step_four (gint width, gint height, guint texture,
gpointer data)
{
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "glow3", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "glow3", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "identity0", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "identity0",
+ shader);
if (shader) {
GError *error = NULL;
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "lumamap0", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "lumamap0", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "mirror0", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "mirror0", shader);
#if GST_GL_HAVE_GLES2
if (USING_GLES2 (context)) {
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "rgbmap0", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "rgbmap0", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "sin0", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "sin0", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "square0", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "square0", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "squeeze0", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "squeeze0", shader);
#if GST_GL_HAVE_GLES2
if (USING_GLES2 (context)) {
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "stretch0", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "stretch0", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "tunnel0", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "tunnel0", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (GST_GL_FILTER (effects)->context);
- g_hash_table_insert (effects->shaderstable, "twirl0", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "twirl0", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "xray1", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "xray1", shader);
}
if (!kernel_ready) {
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "xray2", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "xray2", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "xray_desat", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "xray_desat", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "xray_sob_hconv", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "xray_sob_hconv",
+ shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "xray_sob_vconv", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "xray_sob_vconv",
+ shader);
}
if (!gst_gl_shader_compile_and_check (shader,
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "xray_sob_len", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "xray_sob_len",
+ shader);
}
if (!gst_gl_shader_compile_and_check (shader,
/* end of sobel passes */
-void
+static void
gst_gl_effects_xray_step_five (gint width, gint height, guint texture,
gpointer data)
{
if (!shader) {
shader = gst_gl_shader_new (context);
- g_hash_table_insert (effects->shaderstable, "xray4", shader);
+ g_hash_table_insert (effects->shaderstable, (gchar *) "xray4", shader);
}
if (!gst_gl_shader_compile_and_check (shader,
GstGLFilterClass filter_class;
};
+GType gst_gl_differencematte_get_type (void);
+
#endif /* _GST_GL_DIFFERENCEMATTE_H_ */
GstGLFilterClass filter_class;
};
-GType gst_gl_glfilterapp_get_type (void);
+GType gst_gl_filter_app_get_type (void);
G_END_DECLS
GstGLFilterClass filter_class;
};
-GType gst_gl_glfilterblur_get_type (void);
+GType gst_gl_filterblur_get_type (void);
#endif /* _GST_GL_FILTERBLUR_H_ */
GstGLFilterClass filter_class;
};
-GType gst_gl_glfiltercube_get_type (void);
+GType gst_gl_filter_cube_get_type (void);
G_END_DECLS
GstGLFilterClass filter_class;
};
-GType gst_gl_glfilterglass_get_type (void);
+GType gst_gl_filter_glass_get_type (void);
G_END_DECLS
GstGLFilterClass filter_class;
};
-GType gst_gl_glfilterlaplacian_get_type (void);
+GType gst_gl_filter_laplacian_get_type (void);
G_END_DECLS
}
static void
-gst_gl_filter_reflected_screen_draw_background ()
+gst_gl_filter_reflected_screen_draw_background (void)
{
glBegin (GL_QUADS);
}
static void
-gst_gl_filter_reflected_screen_draw_floor ()
+gst_gl_filter_reflected_screen_draw_floor (void)
{
GLUquadricObj *q;
//create a quadric for the floor's drawing
GstGLFilterClass filter_class;
};
-GType gst_gl_glfilterreflectedscreen_get_type (void);
+GType gst_gl_filter_reflected_screen_get_type (void);
G_END_DECLS
GstGLFilterClass filter_class;
};
-GType gst_gl_glfiltershader_get_type (void);
+GType gst_gl_filtershader_get_type (void);
#endif /* _GST_GL_FILTERSHADER_H_ */
GstGLFilterClass filter_class;
};
-GType gst_gl_glfiltersobel_get_type (void);
+GType gst_gl_filtersobel_get_type (void);
#endif /* _GST_GL_FILTERSOBEL_H_ */
GstGLFilterClass filter_class;
};
+GType gst_gl_overlay_get_type (void);
+
G_END_DECLS
#endif /* _GST_GL_OVERLAY_H_ */
#include "gstgleffects.h"
#include "gstglcolorscale.h"
-GType gst_gl_filter_cube_get_type (void);
-GType gst_gl_effects_get_type (void);
-
#if GST_GL_HAVE_OPENGL
#include "gstgltestsrc.h"
#include "gstglfilterlaplacian.h"
#include "gstglfilterglass.h"
#include "gstglfilterapp.h"
+#include "gstglfilterblur.h"
#include "gstglfilterreflectedscreen.h"
#include "gstglfiltershader.h"
+#include "gstglfiltersobel.h"
#include "gstgldeinterlace.h"
#include "gstglmosaic.h"
#include "gstglvideomixer.h"
-
-GType gst_gl_deinterlace_get_type (void);
-GType gst_gl_filter_app_get_type (void);
-GType gst_gl_filter_reflected_screen_get_type (void);
-GType gst_gl_filterblur_get_type (void);
-GType gst_gl_filtershader_get_type (void);
-GType gst_gl_filtersobel_get_type (void);
-GType gst_gl_filter_laplacian_get_type (void);
-GType gst_gl_filter_glass_get_type (void);
-GType gst_gl_mosaic_get_type (void);
-
#if HAVE_PNG
#include "gstgldifferencematte.h"
#include "gstglbumper.h"
-
-GType gst_gl_differencematte_get_type (void);
-GType gst_gl_bumper_get_type (void);
-
#if HAVE_JPEG
#include "gstgloverlay.h"
-
-GType gst_gl_overlay_get_type (void);
-
#endif /* HAVE_JPEG */
#endif /* HAVE_PNG */
#endif /* GST_GL_HAVE_OPENGL */
out:
if (!str)
- return "unknown";
+ str = g_string_new ("unknown");
ret = g_string_free (str, FALSE);
return ret;
out:
if (!str)
- return "unknown";
+ str = g_string_new ("unknown");
ret = g_string_free (str, FALSE);
return ret;
return TRUE;
}
-gboolean
+static gboolean
_create_context_opengl (GstGLContext * context, gint * gl_major,
gint * gl_minor, GError ** error)
{
return TRUE;
}
-GstGLAPI
+static GstGLAPI
_compiled_api (void)
{
GstGLAPI ret = GST_GL_API_NONE;
gst_gl_wrapped_context_init (GstGLWrappedContext * context)
{
}
-
-/* Must be called in the gl thread */
-GstGLWrappedContext *
-gst_gl_wrapped_context_new (void)
-{
- GstGLWrappedContext *context =
- g_object_new (GST_GL_TYPE_WRAPPED_CONTEXT, NULL);
-
- return context;
-}
#undef GST_GL_EXT_FUNCTION
#undef GST_GL_EXT_END
-gboolean
+static gboolean
_gst_gl_feature_check_for_extension (const GstGLFeatureData * data,
const char *driver_prefix, const char *extensions_string,
const char **suffix)
return mem;
}
-gpointer
+static gpointer
_gl_mem_map (GstGLMemory * gl_mem, gsize maxsize, GstMapFlags flags)
{
gpointer data;
}
}
-void
+static void
_gl_mem_unmap (GstGLMemory * gl_mem)
{
if ((gl_mem->map_flags & GST_MAP_WRITE) == GST_MAP_WRITE) {
gl_mem->map_flags = 0;
}
-void
+static void
_gl_mem_copy_thread (GstGLContext * context, gpointer data)
{
GstGLMemoryCopyParams *copy_params;
}
}
-GstMemory *
+static GstMemory *
_gl_mem_copy (GstGLMemory * src, gssize offset, gssize size)
{
GstGLMemory *dest;
return (GstMemory *) dest;
}
-GstMemory *
+static GstMemory *
_gl_mem_share (GstGLMemory * mem, gssize offset, gssize size)
{
return NULL;
}
-gboolean
+static gboolean
_gl_mem_is_span (GstGLMemory * mem1, GstGLMemory * mem2, gsize * offset)
{
return FALSE;
}
-GstMemory *
+static GstMemory *
_gl_mem_alloc (GstAllocator * allocator, gsize size,
GstAllocationParams * params)
{
return NULL;
}
-void
+static void
_gl_mem_free (GstAllocator * allocator, GstMemory * mem)
{
GstGLMemory *gl_mem = (GstGLMemory *) mem;
#define GST_GL_MIXER_UNLOCK(mix) \
(g_mutex_unlock(&GST_GL_MIXER_GET_LOCK (mix)))
-static void gst_gl_mixer_pad_class_init (GstGLMixerPadClass * klass);
-static void gst_gl_mixer_pad_init (GstGLMixerPad * mixerpad);
-
static void gst_gl_mixer_pad_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
static void gst_gl_mixer_pad_set_property (GObject * object, guint prop_id,
"RGBA"))
);
-static void gst_gl_mixer_finalize (GObject * object);
-
static gboolean gst_gl_mixer_src_query (GstPad * pad, GstObject * object,
GstQuery * query);
static gboolean gst_gl_mixer_src_activate_mode (GstPad * pad,
priv->active = FALSE; /* unused at the moment */
}
-gboolean
+static gboolean
_fill_vtable (GstGLShader * shader, GstGLContext * context)
{
GstGLFuncs *gl = context->gl_vtable;
while(end>=s && strchr(chars,end[0])) (end--)[0]=0; \
}
-char *gst_gl_shadervariable_datatype[] = {
+const char *gst_gl_shadervariable_datatype[] = {
"bool",
"int",
"uint",
return ret;
}
-gboolean
+static gboolean
_gst_gl_upload_perform_for_gl_texture_upload_meta (GstVideoGLTextureUploadMeta *
meta, guint texture_id[4])
{
*pTexture = data.result;
}
-void
+static void
_del_texture (GstGLContext * context, guint * texture)
{
context->gl_vtable->DeleteTextures (1, texture);
static int TrappedErrorCode = 0;
static int (*old_error_handler) (Display *, XErrorEvent *);
+gboolean gst_gl_window_x11_handle_event (GstGLWindowX11 * window_x11);
+
enum
{
ARG_0,
g_main_loop_run (window_x11->loop);
}
-static inline gchar *
+static inline const gchar *
event_type_to_string (guint type)
{
switch (type) {
static GstGLDisplay *display;
-void
+static void
setup (void)
{
display = gst_gl_display_new ();
}
-void
+static void
teardown (void)
{
gst_object_unref (display);
static GLint shader_attr_texture_loc;
#endif
-void
+static void
init (gpointer data)
{
GstGLContext *context = data;
#endif
}
-void
+static void
deinit (gpointer data)
{
GstGLContext *context = data;
#endif
}
-void
+static void
clear_tex (gpointer data)
{
GstGLContext *context = data;
b = b > 1.0 ? 0.0 : b + 0.015;
}
-void
+static void
draw_tex (gpointer data)
{
gst_gl_framebuffer_use_v2 (fbo, 320, 240, fbo_id, rbo, tex,
(GLCB_V2) clear_tex, data);
}
-void
+static void
draw_render (gpointer data)
{
GstGLContext *context = data;
GST_END_TEST;
-Suite *
-gst_gl_memory_suite (void)
+static Suite *
+gst_gl_context_suite (void)
{
Suite *s = suite_create ("GstGLContext");
TCase *tc_chain = tcase_create ("general");
return s;
}
-GST_CHECK_MAIN (gst_gl_memory);
+GST_CHECK_MAIN (gst_gl_context);
static GstGLDisplay *display;
static GstGLContext *context;
-void
+static void
setup (void)
{
display = gst_gl_display_new ();
gst_gl_memory_init ();
}
-void
+static void
teardown (void)
{
gst_object_unref (display);
GST_END_TEST;
-Suite *
+static Suite *
gst_gl_memory_suite (void)
{
Suite *s = suite_create ("GstGLMemory");
RED, GREEN, BLUE, RED, GREEN, BLUE, RED, GREEN, BLUE, RED
};
-void
+static void
setup (void)
{
GError *error = NULL;
upload = gst_gl_upload_new (context);
}
-void
+static void
teardown (void)
{
GLuint error = context->gl_vtable->GetError ();
gst_object_unref (display);
}
-void
+static void
init (gpointer data)
{
#if GST_GL_HAVE_GLES2
#endif
}
-void
+static void
draw_render (gpointer data)
{
GstGLContext *context = data;
GST_END_TEST;
-Suite *
+static Suite *
gst_gl_upload_suite (void)
{
Suite *s = suite_create ("GstGLUpload");