We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.
gstglquery.h \
gstgl_fwd.h \
gstgl_enums.h \
+ gl-prelude.h \
gl.h
noinst_HEADERS = \
#define _GST_EGL_H_
#include <gst/gl/gstglconfig.h>
+#include <gst/gl/gl-prelude.h>
#if GST_GL_HAVE_WINDOW_DISPMANX && defined(__GNUC__)
#ifndef __VCCOREVER__
typedef gintptr EGLAttrib;
#endif
-GST_EXPORT
+GST_GL_API
const gchar * gst_egl_get_error_string (EGLint err);
#endif /* _GST_EGL_H_ */
G_BEGIN_DECLS
-GST_EXPORT GType gst_egl_image_get_type (void);
+GST_GL_API GType gst_egl_image_get_type (void);
#define GST_TYPE_EGL_IMAGE (gst_egl_image_get_type())
#define GST_IS_EGL_IMAGE(obj) (GST_IS_MINI_OBJECT_TYPE(obj, GST_TYPE_EGL_IMAGE))
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GstEGLImage * gst_egl_image_new_wrapped (GstGLContext * context,
gpointer image,
GstGLFormat format,
gpointer user_data,
GstEGLImageDestroyNotify user_data_destroy);
-GST_EXPORT
+GST_GL_API
gpointer gst_egl_image_get_image (GstEGLImage * image);
-GST_EXPORT
+GST_GL_API
GstEGLImage * gst_egl_image_from_texture (GstGLContext * context,
GstGLMemory * gl_mem,
guintptr * attribs);
#if GST_GL_HAVE_DMABUF
-GST_EXPORT
+GST_GL_API
GstEGLImage * gst_egl_image_from_dmabuf (GstGLContext * context,
gint dmabuf,
GstVideoInfo * in_info,
gint plane,
gsize offset);
-GST_EXPORT
+GST_GL_API
gboolean gst_egl_image_export_dmabuf (GstEGLImage *image, int *fd, gint *stride, gsize *offset);
#endif
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
GType gst_gl_display_egl_get_type (void);
#define GST_TYPE_GL_DISPLAY_EGL (gst_gl_display_egl_get_type())
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GstGLDisplayEGL *gst_gl_display_egl_new (void);
-GST_EXPORT
+GST_GL_API
GstGLDisplayEGL *gst_gl_display_egl_new_with_egl_display (gpointer display);
-GST_EXPORT
+GST_GL_API
GstGLDisplayEGL *gst_gl_display_egl_from_gl_display (GstGLDisplay * display);
-GST_EXPORT
+GST_GL_API
gpointer gst_gl_display_egl_get_from_native (GstGLDisplayType type, guintptr display);
#define GST_GL_DISPLAY_EGL_NAME "gst.gl.display.egl"
G_BEGIN_DECLS
#define GST_TYPE_GL_MEMORY_EGL_ALLOCATOR (gst_gl_memory_egl_allocator_get_type())
-GST_EXPORT GType gst_gl_memory_egl_allocator_get_type(void);
+GST_GL_API GType gst_gl_memory_egl_allocator_get_type(void);
#define GST_IS_GL_MEMORY_EGL_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_MEMORY_EGL_ALLOCATOR))
#define GST_IS_GL_MEMORY_EGL_ALLOCATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_GL_MEMORY_EGL_ALLOCATOR))
*/
#define GST_GL_MEMORY_EGL_ALLOCATOR_NAME "GLMemoryEGL"
-GST_EXPORT
+GST_GL_API
void gst_gl_memory_egl_init_once (void);
-GST_EXPORT
+GST_GL_API
gboolean gst_is_gl_memory_egl (GstMemory * mem);
-GST_EXPORT
+GST_GL_API
gpointer gst_gl_memory_egl_get_image (GstGLMemoryEGL * mem);
-GST_EXPORT
+GST_GL_API
gpointer gst_gl_memory_egl_get_display (GstGLMemoryEGL * mem);
/**
--- /dev/null
+/* GStreamer GL Library
+ * Copyright (C) 2018 GStreamer developers
+ *
+ * gl-prelude.h: prelude include header for gst-gl library
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_GL_PRELUDE_H__
+#define __GST_GL_PRELUDE_H__
+
+#include <gst/gst.h>
+
+#ifndef GST_GL_API
+#define GST_GL_API GST_EXPORT
+#endif
+
+#endif /* __GST_GL_PRELUDE_H__ */
#define __GST_GL_API_H__
#include <gst/gl/gstglconfig.h>
+#include <gst/gl/gl-prelude.h>
#include <gst/gst.h>
GST_GL_PLATFORM_ANY = G_MAXUINT32
} GstGLPlatform;
-GST_EXPORT
+GST_GL_API
gchar * gst_gl_api_to_string (GstGLAPI api);
-GST_EXPORT
+GST_GL_API
GstGLAPI gst_gl_api_from_string (const gchar * api_s);
-GST_EXPORT
+GST_GL_API
gchar * gst_gl_platform_to_string (GstGLPlatform platform);
-GST_EXPORT
+GST_GL_API
GstGLPlatform gst_gl_platform_from_string (const gchar * platform_s);
G_END_DECLS
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
GType gst_gl_base_filter_get_type(void);
#define GST_TYPE_GL_BASE_FILTER (gst_gl_base_filter_get_type())
#define GST_GL_BASE_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_BASE_FILTER,GstGLBaseFilter))
* from the #GstGLBaseMemoryError enumeration
*/
#define GST_TYPE_GL_BASE_MEMORY (gst_gl_base_memory_get_type())
-GST_EXPORT
+GST_GL_API
GType gst_gl_base_memory_get_type(void);
#define GST_TYPE_GL_BASE_MEMORY_ALLOCATOR (gst_gl_base_memory_allocator_get_type())
-GST_EXPORT
+GST_GL_API
GType gst_gl_base_memory_allocator_get_type(void);
#define GST_IS_GL_BASE_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_BASE_MEMORY_ALLOCATOR))
#define GST_GL_BASE_MEMORY_CAST(mem) ((GstGLBaseMemory *)mem)
-GST_EXPORT
+GST_GL_API
GQuark gst_gl_base_memory_error_quark (void);
#define GST_GL_BASE_MEMORY_ERROR (gst_gl_base_memory_error_quark ())
typedef void (*GstGLAllocationParamsFreeFunc) (gpointer params);
#define GST_TYPE_GL_ALLOCATION_PARAMS (gst_gl_allocation_params_get_type())
-GST_EXPORT
+GST_GL_API
GType gst_gl_allocation_params_get_type (void);
/**
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_allocation_params_init (GstGLAllocationParams * params,
gsize struct_size,
guint alloc_flags,
GDestroyNotify notify);
/* free with gst_gl_allocation_params_free */
-GST_EXPORT
+GST_GL_API
GstGLAllocationParams * gst_gl_allocation_params_copy (GstGLAllocationParams * src);
-GST_EXPORT
+GST_GL_API
void gst_gl_allocation_params_free (GstGLAllocationParams * params);
/* subclass usage */
-GST_EXPORT
+GST_GL_API
void gst_gl_allocation_params_free_data (GstGLAllocationParams * params);
/* subclass usage */
-GST_EXPORT
+GST_GL_API
void gst_gl_allocation_params_copy_data (GstGLAllocationParams * src,
GstGLAllocationParams * dest);
*/
#define GST_GL_BASE_MEMORY_ALLOCATOR_NAME "GLBaseMemory"
-GST_EXPORT
+GST_GL_API
void gst_gl_base_memory_init_once (void);
-GST_EXPORT
+GST_GL_API
gboolean gst_is_gl_base_memory (GstMemory * mem);
-GST_EXPORT
+GST_GL_API
void gst_gl_base_memory_init (GstGLBaseMemory * mem,
GstAllocator * allocator,
GstMemory * parent,
gpointer user_data,
GDestroyNotify notify);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_base_memory_alloc_data (GstGLBaseMemory * gl_mem);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_base_memory_memcpy (GstGLBaseMemory * src,
GstGLBaseMemory * dest,
gssize offset,
gssize size);
-GST_EXPORT
+GST_GL_API
GstGLBaseMemory * gst_gl_base_memory_alloc (GstGLBaseMemoryAllocator * allocator,
GstGLAllocationParams * params);
G_BEGIN_DECLS
#define GST_TYPE_GL_BUFFER_ALLOCATOR (gst_gl_buffer_allocator_get_type())
-GST_EXPORT
+GST_GL_API
GType gst_gl_buffer_allocator_get_type(void);
#define GST_IS_GL_BUFFER_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_ALLOCATOR))
typedef struct _GstGLBufferAllocationParams GstGLBufferAllocationParams;
#define GST_TYPE_GL_BUFFER_ALLOCATION_PARAMS (gst_gl_buffer_allocation_params_get_type())
-GST_EXPORT
+GST_GL_API
GType gst_gl_buffer_allocation_params_get_type (void);
/**
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GstGLBufferAllocationParams * gst_gl_buffer_allocation_params_new (GstGLContext * context,
gsize alloc_size,
GstAllocationParams * alloc_params,
*/
#define GST_GL_BUFFER_ALLOCATOR_NAME "GLBuffer"
-GST_EXPORT
+GST_GL_API
void gst_gl_buffer_init_once (void);
-GST_EXPORT
+GST_GL_API
gboolean gst_is_gl_buffer (GstMemory * mem);
G_END_DECLS
G_BEGIN_DECLS
/* buffer pool functions */
-GST_EXPORT
+GST_GL_API
GType gst_gl_buffer_pool_get_type (void);
#define GST_TYPE_GL_BUFFER_POOL (gst_gl_buffer_pool_get_type())
#define GST_IS_GL_BUFFER_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_BUFFER_POOL))
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GstBufferPool *gst_gl_buffer_pool_new (GstGLContext * context);
-GST_EXPORT
+GST_GL_API
GstGLAllocationParams * gst_buffer_pool_config_get_gl_allocation_params (GstStructure * config);
-GST_EXPORT
+GST_GL_API
void gst_buffer_pool_config_set_gl_allocation_params (GstStructure * config,
GstGLAllocationParams * params);
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
GType gst_gl_color_convert_get_type (void);
#define GST_TYPE_GL_COLOR_CONVERT (gst_gl_color_convert_get_type())
#define GST_GL_COLOR_CONVERT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_COLOR_CONVERT,GstGLColorConvert))
"framerate = " GST_VIDEO_FPS_RANGE ", " \
"texture-target = (string) { 2D, rectangle, external-oes }"
-GST_EXPORT
+GST_GL_API
GstGLColorConvert * gst_gl_color_convert_new (GstGLContext * context);
-GST_EXPORT
+GST_GL_API
GstCaps * gst_gl_color_convert_transform_caps (GstGLContext * context,
GstPadDirection direction,
GstCaps * caps,
GstCaps * filter);
-GST_EXPORT
+GST_GL_API
GstCaps * gst_gl_color_convert_fixate_caps (GstGLContext * context,
GstPadDirection direction,
GstCaps * caps,
GstCaps * other);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_color_convert_set_caps (GstGLColorConvert * convert,
GstCaps * in_caps,
GstCaps * out_caps);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_color_convert_decide_allocation (GstGLColorConvert * convert,
GstQuery * query);
-GST_EXPORT
+GST_GL_API
GstBuffer * gst_gl_color_convert_perform (GstGLColorConvert * convert, GstBuffer * inbuf);
G_END_DECLS
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
GType gst_gl_context_get_type (void);
#define GST_TYPE_GL_CONTEXT (gst_gl_context_get_type())
#define GST_IS_GL_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GST_TYPE_GL_CONTEXT))
#define GST_GL_CONTEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_TYPE_GL_CONTEXT, GstGLContextClass))
-GST_EXPORT
+GST_GL_API
GQuark gst_gl_context_error_quark (void);
/**
/* methods */
-GST_EXPORT
+GST_GL_API
GstGLContext * gst_gl_context_new (GstGLDisplay *display);
-GST_EXPORT
+GST_GL_API
GstGLContext * gst_gl_context_new_wrapped (GstGLDisplay *display,
guintptr handle,
GstGLPlatform context_type,
GstGLAPI available_apis);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_context_activate (GstGLContext *context, gboolean activate);
-GST_EXPORT
+GST_GL_API
GThread * gst_gl_context_get_thread (GstGLContext *context);
-GST_EXPORT
+GST_GL_API
GstGLContext * gst_gl_context_get_current (void);
-GST_EXPORT
+GST_GL_API
GstGLDisplay * gst_gl_context_get_display (GstGLContext *context);
-GST_EXPORT
+GST_GL_API
gpointer gst_gl_context_get_proc_address (GstGLContext *context, const gchar *name);
-GST_EXPORT
+GST_GL_API
GstGLPlatform gst_gl_context_get_gl_platform (GstGLContext *context);
-GST_EXPORT
+GST_GL_API
GstGLAPI gst_gl_context_get_gl_api (GstGLContext *context);
-GST_EXPORT
+GST_GL_API
guintptr gst_gl_context_get_gl_context (GstGLContext *context);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_context_can_share (GstGLContext * context, GstGLContext *other_context);
-GST_EXPORT
+GST_GL_API
void gst_gl_context_swap_buffers (GstGLContext * context);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_context_create (GstGLContext *context, GstGLContext *other_context, GError ** error);
-GST_EXPORT
+GST_GL_API
void gst_gl_context_destroy (GstGLContext *context);
-GST_EXPORT
+GST_GL_API
gpointer gst_gl_context_default_get_proc_address (GstGLAPI gl_api, const gchar *name);
-GST_EXPORT
+GST_GL_API
gpointer gst_gl_context_get_proc_address_with_platform (GstGLPlatform context_type, GstGLAPI gl_api, const gchar *name);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_context_set_window (GstGLContext *context, GstGLWindow *window);
-GST_EXPORT
+GST_GL_API
GstGLWindow * gst_gl_context_get_window (GstGLContext *context);
-GST_EXPORT
+GST_GL_API
void gst_gl_context_get_gl_version (GstGLContext *context, gint *maj, gint *min);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_context_check_gl_version (GstGLContext * context, GstGLAPI api, gint maj, gint min);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_context_check_feature (GstGLContext *context, const gchar *feature);
-GST_EXPORT
+GST_GL_API
void gst_gl_context_get_gl_platform_version (GstGLContext * context, gint * major, gint * minor);
-GST_EXPORT
+GST_GL_API
guintptr gst_gl_context_get_current_gl_context (GstGLPlatform context_type);
-GST_EXPORT
+GST_GL_API
GstGLAPI gst_gl_context_get_current_gl_api (GstGLPlatform platform, guint *major, guint *minor);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_context_is_shared (GstGLContext * context);
-GST_EXPORT
+GST_GL_API
void gst_gl_context_set_shared_with (GstGLContext * context, GstGLContext * share);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_context_fill_info (GstGLContext * context, GError ** error);
/* FIXME: remove */
-GST_EXPORT
+GST_GL_API
void gst_gl_context_thread_add (GstGLContext * context,
GstGLContextThreadFunc func, gpointer data);
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GstGLAsyncDebug * gst_gl_async_debug_new (void);
-GST_EXPORT
+GST_GL_API
void gst_gl_async_debug_free (GstGLAsyncDebug * ad);
-GST_EXPORT
+GST_GL_API
void gst_gl_async_debug_init (GstGLAsyncDebug * ad);
-GST_EXPORT
+GST_GL_API
void gst_gl_async_debug_unset (GstGLAsyncDebug * ad);
-GST_EXPORT
+GST_GL_API
void gst_gl_async_debug_freeze (GstGLAsyncDebug * ad);
-GST_EXPORT
+GST_GL_API
void gst_gl_async_debug_thaw (GstGLAsyncDebug * ad);
/**
#if !defined(GST_DISABLE_GST_DEBUG)
-GST_EXPORT
+GST_GL_API
void gst_gl_insert_debug_marker (GstGLContext * context,
const gchar * format, ...) G_GNUC_PRINTF (2, 3);
-GST_EXPORT
+GST_GL_API
void gst_gl_async_debug_output_log_msg (GstGLAsyncDebug * ad);
-GST_EXPORT
+GST_GL_API
void gst_gl_async_debug_store_log_msg (GstGLAsyncDebug * ad,
GstDebugCategory * cat,
GstDebugLevel level,
gint line,
GObject * object,
const gchar * format, ...) G_GNUC_PRINTF (8, 9);
-GST_EXPORT
+GST_GL_API
void gst_gl_async_debug_store_log_msg_valist (GstGLAsyncDebug * ad,
GstDebugCategory * cat,
GstDebugLevel level,
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
GType gst_gl_display_get_type (void);
#define GST_TYPE_GL_DISPLAY (gst_gl_display_get_type())
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GstGLDisplay *gst_gl_display_new (void);
#define gst_gl_display_lock(display) GST_OBJECT_LOCK (display)
#define gst_gl_display_unlock(display) GST_OBJECT_UNLOCK (display)
-GST_EXPORT
+GST_GL_API
guintptr gst_gl_display_get_handle (GstGLDisplay * display);
-GST_EXPORT
+GST_GL_API
GstGLDisplayType gst_gl_display_get_handle_type (GstGLDisplay * display);
-GST_EXPORT
+GST_GL_API
void gst_gl_display_filter_gl_api (GstGLDisplay * display,
GstGLAPI gl_api);
-GST_EXPORT
+GST_GL_API
GstGLAPI gst_gl_display_get_gl_api (GstGLDisplay * display);
-GST_EXPORT
+GST_GL_API
GstGLAPI gst_gl_display_get_gl_api_unlocked (GstGLDisplay * display);
/**
* The name used in #GstContext queries for requesting a #GstGLDisplay
*/
#define GST_GL_DISPLAY_CONTEXT_TYPE "gst.gl.GLDisplay"
-GST_EXPORT
+GST_GL_API
void gst_context_set_gl_display (GstContext * context, GstGLDisplay * display);
-GST_EXPORT
+GST_GL_API
gboolean gst_context_get_gl_display (GstContext * context, GstGLDisplay ** display);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_display_create_context (GstGLDisplay * display,
GstGLContext * other_context, GstGLContext ** p_context, GError **error);
-GST_EXPORT
+GST_GL_API
GstGLContext * gst_gl_display_get_gl_context_for_thread (GstGLDisplay * display,
GThread * thread);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_display_add_context (GstGLDisplay * display,
GstGLContext * context);
-GST_EXPORT
+GST_GL_API
GstGLWindow * gst_gl_display_create_window (GstGLDisplay * display);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_display_remove_window (GstGLDisplay * display, GstGLWindow * window);
-GST_EXPORT
+GST_GL_API
GstGLWindow * gst_gl_display_find_window (GstGLDisplay * display, gpointer data, GCompareFunc compare_func);
G_END_DECLS
((driver_major) > (target_major) || \
((driver_major) == (target_major) && (driver_minor) >= (target_minor)))
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_check_extension (const char *name, const gchar * ext);
G_END_DECLS
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
GType gst_gl_filter_get_type(void);
#define GST_TYPE_GL_FILTER (gst_gl_filter_get_type())
#define GST_GL_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_FILTER,GstGLFilter))
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
void gst_gl_filter_add_rgba_pad_templates (GstGLFilterClass *klass);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_filter_filter_texture (GstGLFilter * filter, GstBuffer * inbuf,
GstBuffer * outbuf);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_filter_render_to_target (GstGLFilter *filter,
GstGLMemory * input,
GstGLMemory * output,
GstGLFilterRenderFunc func,
gpointer data);
-GST_EXPORT
+GST_GL_API
void gst_gl_filter_draw_fullscreen_quad (GstGLFilter *filter);
-GST_EXPORT
+GST_GL_API
void gst_gl_filter_render_to_target_with_shader (GstGLFilter * filter,
GstGLMemory * input,
GstGLMemory * output,
GST_GL_DEPTH24_STENCIL8 = 0x88F0,
} GstGLFormat;
-GST_EXPORT
+GST_GL_API
guint gst_gl_format_type_n_bytes (guint format,
guint type);
-GST_EXPORT
+GST_GL_API
GstGLFormat gst_gl_format_from_video_info (GstGLContext * context,
GstVideoInfo * vinfo,
guint plane);
-GST_EXPORT
+GST_GL_API
guint gst_gl_sized_gl_format_from_gl_format_type (GstGLContext * context,
guint format,
guint type);
-GST_EXPORT
+GST_GL_API
GstGLTextureTarget gst_gl_texture_target_from_string (const gchar * str);
-GST_EXPORT
+GST_GL_API
const gchar * gst_gl_texture_target_to_string (GstGLTextureTarget target);
-GST_EXPORT
+GST_GL_API
guint gst_gl_texture_target_to_gl (GstGLTextureTarget target);
-GST_EXPORT
+GST_GL_API
GstGLTextureTarget gst_gl_texture_target_from_gl (guint target);
-GST_EXPORT
+GST_GL_API
const gchar * gst_gl_texture_target_to_buffer_pool_option (GstGLTextureTarget target);
G_END_DECLS
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
GType gst_gl_framebuffer_get_type (void);
#define GST_TYPE_GL_FRAMEBUFFER (gst_gl_framebuffer_get_type())
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GstGLFramebuffer * gst_gl_framebuffer_new (GstGLContext *context);
-GST_EXPORT
+GST_GL_API
GstGLFramebuffer * gst_gl_framebuffer_new_with_default_depth (GstGLContext *context,
guint width,
guint height);
-GST_EXPORT
+GST_GL_API
guint gst_gl_framebuffer_get_id (GstGLFramebuffer * fb);
-GST_EXPORT
+GST_GL_API
void gst_gl_framebuffer_attach (GstGLFramebuffer * fb,
guint attachment_point,
GstGLBaseMemory * mem);
-GST_EXPORT
+GST_GL_API
void gst_gl_framebuffer_bind (GstGLFramebuffer * fb);
-GST_EXPORT
+GST_GL_API
void gst_gl_context_clear_framebuffer (GstGLContext * context);
-GST_EXPORT
+GST_GL_API
void gst_gl_framebuffer_get_effective_dimensions (GstGLFramebuffer * fb,
guint * width,
guint * height);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_context_check_framebuffer_status (GstGLContext * context,
guint fbo_target);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_framebuffer_draw_to_texture (GstGLFramebuffer * fb,
GstGLMemory * mem,
GstGLFramebufferFunc func,
G_BEGIN_DECLS
#define GST_TYPE_GL_MEMORY_ALLOCATOR (gst_gl_memory_allocator_get_type())
-GST_EXPORT
+GST_GL_API
GType gst_gl_memory_allocator_get_type(void);
#define GST_IS_GL_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_MEMORY_ALLOCATOR))
#define GST_TYPE_GL_VIDEO_ALLOCATION_PARAMS (gst_gl_video_allocation_params_get_type())
-GST_EXPORT
+GST_GL_API
GType gst_gl_video_allocation_params_get_type (void);
typedef struct _GstGLVideoAllocationParams GstGLVideoAllocationParams;
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_video_allocation_params_init_full (GstGLVideoAllocationParams * params,
gsize struct_size,
guint alloc_flags,
gpointer gl_handle,
gpointer user_data,
GDestroyNotify notify);
-GST_EXPORT
+GST_GL_API
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new (GstGLContext * context,
GstAllocationParams * alloc_params,
GstVideoInfo * v_info,
GstVideoAlignment * valign,
GstGLTextureTarget target,
GstGLFormat tex_format);
-GST_EXPORT
+GST_GL_API
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_data (GstGLContext * context,
GstAllocationParams * alloc_params,
GstVideoInfo * v_info,
gpointer user_data,
GDestroyNotify notify);
-GST_EXPORT
+GST_GL_API
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_texture (GstGLContext * context,
GstAllocationParams * alloc_params,
GstVideoInfo * v_info,
gpointer user_data,
GDestroyNotify notify);
-GST_EXPORT
+GST_GL_API
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_gl_handle (GstGLContext * context,
GstAllocationParams * alloc_params,
GstVideoInfo * v_info,
GDestroyNotify notify);
/* subclass usage */
-GST_EXPORT
+GST_GL_API
void gst_gl_video_allocation_params_free_data (GstGLVideoAllocationParams * params);
/* subclass usage */
-GST_EXPORT
+GST_GL_API
void gst_gl_video_allocation_params_copy_data (GstGLVideoAllocationParams * src_vid,
GstGLVideoAllocationParams * dest_vid);
*/
#define GST_GL_MEMORY_ALLOCATOR_NAME "GLMemory"
-GST_EXPORT
+GST_GL_API
void gst_gl_memory_init_once (void);
-GST_EXPORT
+GST_GL_API
gboolean gst_is_gl_memory (GstMemory * mem);
-GST_EXPORT
+GST_GL_API
void gst_gl_memory_init (GstGLMemory * mem,
GstAllocator * allocator,
GstMemory * parent,
gpointer user_data,
GDestroyNotify notify);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_memory_copy_into (GstGLMemory *gl_mem,
guint tex_id,
GstGLTextureTarget target,
GstGLFormat tex_format,
gint width,
gint height);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_memory_copy_teximage (GstGLMemory * src,
guint tex_id,
GstGLTextureTarget out_target,
gint out_width,
gint out_height);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_memory_read_pixels (GstGLMemory * gl_mem,
gpointer read_pointer);
-GST_EXPORT
+GST_GL_API
void gst_gl_memory_texsubimage (GstGLMemory * gl_mem,
gpointer read_pointer);
/* accessors */
-GST_EXPORT
+GST_GL_API
gint gst_gl_memory_get_texture_width (GstGLMemory * gl_mem);
-GST_EXPORT
+GST_GL_API
gint gst_gl_memory_get_texture_height (GstGLMemory * gl_mem);
-GST_EXPORT
+GST_GL_API
GstGLFormat gst_gl_memory_get_texture_format (GstGLMemory * gl_mem);
-GST_EXPORT
+GST_GL_API
GstGLTextureTarget gst_gl_memory_get_texture_target (GstGLMemory * gl_mem);
-GST_EXPORT
+GST_GL_API
guint gst_gl_memory_get_texture_id (GstGLMemory * gl_mem);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_memory_setup_buffer (GstGLMemoryAllocator * allocator,
GstBuffer * buffer,
GstGLVideoAllocationParams * params,
gpointer *wrapped_data,
gsize n_wrapped_pointers);
-GST_EXPORT
+GST_GL_API
GstGLMemoryAllocator * gst_gl_memory_allocator_get_default (GstGLContext *context);
G_END_DECLS
G_BEGIN_DECLS
#define GST_TYPE_GL_MEMORY_PBO_ALLOCATOR (gst_gl_memory_pbo_allocator_get_type())
-GST_EXPORT
+GST_GL_API
GType gst_gl_memory_pbo_allocator_get_type(void);
#define GST_IS_GL_MEMORY_PBO_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_MEMORY_PBO_ALLOCATOR))
*/
#define GST_GL_MEMORY_PBO_ALLOCATOR_NAME "GLMemoryPBO"
-GST_EXPORT
+GST_GL_API
void gst_gl_memory_pbo_init_once (void);
-GST_EXPORT
+GST_GL_API
gboolean gst_is_gl_memory_pbo (GstMemory * mem);
-GST_EXPORT
+GST_GL_API
void gst_gl_memory_pbo_download_transfer (GstGLMemoryPBO * gl_mem);
-GST_EXPORT
+GST_GL_API
void gst_gl_memory_pbo_upload_transfer (GstGLMemoryPBO * gl_mem);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_memory_pbo_copy_into_texture (GstGLMemoryPBO *gl_mem,
guint tex_id,
GstGLTextureTarget target,
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
GType gst_gl_overlay_compositor_get_type (void);
/**
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GstGLOverlayCompositor *gst_gl_overlay_compositor_new (GstGLContext * context);
-GST_EXPORT
+GST_GL_API
void gst_gl_overlay_compositor_free_overlays (GstGLOverlayCompositor * compositor);
-GST_EXPORT
+GST_GL_API
void gst_gl_overlay_compositor_upload_overlays (GstGLOverlayCompositor * compositor,
GstBuffer * buf);
-GST_EXPORT
+GST_GL_API
void gst_gl_overlay_compositor_draw_overlays (GstGLOverlayCompositor * compositor);
-GST_EXPORT
+GST_GL_API
GstCaps * gst_gl_overlay_compositor_add_caps(GstCaps * caps);
G_END_DECLS
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
void gst_gl_query_init (GstGLQuery * query,
GstGLContext * context,
GstGLQueryType query_type);
-GST_EXPORT
+GST_GL_API
void gst_gl_query_unset (GstGLQuery * query);
-GST_EXPORT
+GST_GL_API
GstGLQuery * gst_gl_query_new (GstGLContext * context,
GstGLQueryType query_type);
-GST_EXPORT
+GST_GL_API
void gst_gl_query_free (GstGLQuery * query);
-GST_EXPORT
+GST_GL_API
void gst_gl_query_start (GstGLQuery * query);
-GST_EXPORT
+GST_GL_API
void gst_gl_query_end (GstGLQuery * query);
-GST_EXPORT
+GST_GL_API
void gst_gl_query_counter (GstGLQuery * query);
-GST_EXPORT
+GST_GL_API
guint64 gst_gl_query_result (GstGLQuery * query);
#define gst_gl_query_start_log_valist(query,cat,level,object,format,varargs) \
G_BEGIN_DECLS
#define GST_TYPE_GL_RENDERBUFFER_ALLOCATOR (gst_gl_renderbuffer_allocator_get_type())
-GST_EXPORT GType gst_gl_renderbuffer_allocator_get_type(void);
+GST_GL_API GType gst_gl_renderbuffer_allocator_get_type(void);
#define GST_IS_GL_RENDERBUFFER_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_RENDERBUFFER_ALLOCATOR))
#define GST_IS_GL_RENDERBUFFER_ALLOCATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_GL_RENDERBUFFER_ALLOCATOR))
#include <gst/gl/gstglbasememory.h>
-GST_EXPORT GType gst_gl_renderbuffer_allocation_params_get_type (void);
+GST_GL_API GType gst_gl_renderbuffer_allocation_params_get_type (void);
#define GST_TYPE_RENDERBUFFER_ALLOCATION_PARAMS (gst_gl_renderbuffer_allocation_params_get_type)
typedef struct
gpointer _padding[GST_PADDING];
} GstGLRenderbufferAllocationParams;
-GST_EXPORT
+GST_GL_API
GstGLRenderbufferAllocationParams * gst_gl_renderbuffer_allocation_params_new (GstGLContext * context,
GstAllocationParams * alloc_params,
GstGLFormat renderbuffer_format,
guint width,
guint height);
-GST_EXPORT
+GST_GL_API
GstGLRenderbufferAllocationParams * gst_gl_renderbuffer_allocation_params_new_wrapped (GstGLContext * context,
GstAllocationParams * alloc_params,
GstGLFormat renderbuffer_format,
gpointer user_data,
GDestroyNotify notify);
-GST_EXPORT
+GST_GL_API
void gst_gl_renderbuffer_init_once (void);
-GST_EXPORT
+GST_GL_API
gboolean gst_is_gl_renderbuffer (GstMemory * mem);
/* accessors */
-GST_EXPORT
+GST_GL_API
gint gst_gl_renderbuffer_get_width (GstGLRenderbuffer * gl_mem);
-GST_EXPORT
+GST_GL_API
gint gst_gl_renderbuffer_get_height (GstGLRenderbuffer * gl_mem);
-GST_EXPORT
+GST_GL_API
GstGLFormat gst_gl_renderbuffer_get_format (GstGLRenderbuffer * gl_mem);
-GST_EXPORT
+GST_GL_API
guint gst_gl_renderbuffer_get_id (GstGLRenderbuffer * gl_mem);
G_END_DECLS
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
GType gst_gl_shader_get_type (void);
#define GST_TYPE_GL_SHADER (gst_gl_shader_get_type())
GstObjectClass parent_class;
};
-GST_EXPORT
+GST_GL_API
GstGLShader * gst_gl_shader_new (GstGLContext *context);
-GST_EXPORT
+GST_GL_API
GstGLShader * gst_gl_shader_new_with_stages (GstGLContext * context, GError ** error, ...);
-GST_EXPORT
+GST_GL_API
GstGLShader * gst_gl_shader_new_link_with_stages (GstGLContext * context, GError ** error, ...);
-GST_EXPORT
+GST_GL_API
GstGLShader * gst_gl_shader_new_default (GstGLContext * context, GError ** error);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_shader_attach (GstGLShader * shader, GstGLSLStage * stage);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_shader_attach_unlocked (GstGLShader * shader, GstGLSLStage * stage);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_detach (GstGLShader * shader, GstGLSLStage * stage);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_detach_unlocked (GstGLShader * shader, GstGLSLStage * stage);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_shader_compile_attach_stage (GstGLShader * shader,
GstGLSLStage *stage,
GError ** error);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_shader_link (GstGLShader * shader, GError ** error);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_shader_is_linked (GstGLShader *shader);
-GST_EXPORT
+GST_GL_API
int gst_gl_shader_get_program_handle (GstGLShader * shader);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_release (GstGLShader *shader);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_release_unlocked (GstGLShader * shader);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_use (GstGLShader *shader);
-GST_EXPORT
+GST_GL_API
void gst_gl_context_clear_shader (GstGLContext *context);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_1i (GstGLShader *shader, const gchar *name, gint value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_1iv (GstGLShader *shader, const gchar *name, guint count, const gint *value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_1f (GstGLShader *shader, const gchar *name, gfloat value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_1fv (GstGLShader *shader, const gchar *name, guint count, const gfloat *value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_2i (GstGLShader *shader, const gchar *name, gint v0, gint v1);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_2iv (GstGLShader *shader, const gchar *name, guint count, const gint *value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_2f (GstGLShader *shader, const gchar *name, gfloat v0, gfloat v1);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_2fv (GstGLShader *shader, const gchar *name, guint count, const gfloat *value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_3i (GstGLShader *shader, const gchar *name, gint v0, gint v1, gint v2);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_3iv (GstGLShader *shader, const gchar *name, guint count, const gint * value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_3f (GstGLShader *shader, const gchar *name, gfloat v0, gfloat v1, gfloat v2);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_3fv (GstGLShader *shader, const gchar *name, guint count, const gfloat *value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_4i (GstGLShader *shader, const gchar *name, gint v0, gint v1, gint v2, gint v3);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_4iv (GstGLShader *shader, const gchar *name, guint count, const gint *value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_4f (GstGLShader *shader, const gchar *name, gfloat v0, gfloat v1, gfloat v2, gfloat v3);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_4fv (GstGLShader *shader, const gchar *name, guint count, const gfloat *value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_matrix_2fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_matrix_3fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_matrix_4fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_matrix_2x3fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_matrix_2x4fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_matrix_3x2fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_matrix_3x4fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_matrix_4x2fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_set_uniform_matrix_4x3fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
-GST_EXPORT
+GST_GL_API
gint gst_gl_shader_get_attribute_location (GstGLShader *shader, const gchar *name);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_bind_attribute_location (GstGLShader * shader, guint index, const gchar * name);
-GST_EXPORT
+GST_GL_API
void gst_gl_shader_bind_frag_data_location (GstGLShader * shader, guint index, const gchar * name);
G_END_DECLS
#define __GST_GL_SHADER_STRINGS_H__
#include <gst/gst.h>
+#include <gst/gl/gl-prelude.h>
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
const gchar *gst_gl_shader_string_vertex_default;
-GST_EXPORT
+GST_GL_API
const gchar *gst_gl_shader_string_fragment_default;
-GST_EXPORT
+GST_GL_API
const gchar *gst_gl_shader_string_vertex_mat4_texture_transform;
-GST_EXPORT
+GST_GL_API
const gchar *gst_gl_shader_string_vertex_mat4_vertex_transform;
-GST_EXPORT
+GST_GL_API
const gchar *gst_gl_shader_string_fragment_external_oes_default;
G_END_DECLS
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
GQuark gst_glsl_error_quark (void);
/**
GST_GLSL_PROFILE_ANY = -1,
} GstGLSLProfile;
-GST_EXPORT
+GST_GL_API
GstGLSLVersion gst_glsl_version_from_string (const gchar * string);
-GST_EXPORT
+GST_GL_API
const gchar * gst_glsl_version_to_string (GstGLSLVersion version);
-GST_EXPORT
+GST_GL_API
GstGLSLProfile gst_glsl_profile_from_string (const gchar * string);
-GST_EXPORT
+GST_GL_API
const gchar * gst_glsl_profile_to_string (GstGLSLProfile profile);
-GST_EXPORT
+GST_GL_API
gchar * gst_glsl_version_profile_to_string (GstGLSLVersion version,
GstGLSLProfile profile);
-GST_EXPORT
+GST_GL_API
gboolean gst_glsl_version_profile_from_string (const gchar * string,
GstGLSLVersion * version_ret,
GstGLSLProfile * profile_ret);
-GST_EXPORT
+GST_GL_API
gboolean gst_glsl_string_get_version_profile (const gchar *s,
GstGLSLVersion * version,
GstGLSLProfile * profile);
-GST_EXPORT
+GST_GL_API
GstGLSLVersion gst_gl_version_to_glsl_version (GstGLAPI gl_api, gint maj, gint min);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_context_supports_glsl_profile_version (GstGLContext * context,
GstGLSLVersion version,
GstGLSLProfile profile);
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GType gst_glsl_stage_get_type (void);
-GST_EXPORT
+GST_GL_API
GstGLSLStage * gst_glsl_stage_new (GstGLContext * context, guint type);
-GST_EXPORT
+GST_GL_API
GstGLSLStage * gst_glsl_stage_new_with_string (GstGLContext * context,
guint type,
GstGLSLVersion version,
GstGLSLProfile profile,
const gchar * str);
-GST_EXPORT
+GST_GL_API
GstGLSLStage * gst_glsl_stage_new_with_strings (GstGLContext * context,
guint type,
GstGLSLVersion version,
gint n_strings,
const gchar ** str);
-GST_EXPORT
+GST_GL_API
GstGLSLStage * gst_glsl_stage_new_default_fragment (GstGLContext * context);
-GST_EXPORT
+GST_GL_API
GstGLSLStage * gst_glsl_stage_new_default_vertex (GstGLContext * context);
-GST_EXPORT
+GST_GL_API
guint gst_glsl_stage_get_handle (GstGLSLStage * stage);
-GST_EXPORT
+GST_GL_API
GstGLSLProfile gst_glsl_stage_get_profile (GstGLSLStage * stage);
-GST_EXPORT
+GST_GL_API
GstGLSLVersion gst_glsl_stage_get_version (GstGLSLStage * stage);
-GST_EXPORT
+GST_GL_API
guint gst_glsl_stage_get_shader_type (GstGLSLStage * stage);
-GST_EXPORT
+GST_GL_API
gboolean gst_glsl_stage_set_strings (GstGLSLStage * stage,
GstGLSLVersion version,
GstGLSLProfile profile,
gint n_strings,
const gchar ** str);
-GST_EXPORT
+GST_GL_API
gboolean gst_glsl_stage_compile (GstGLSLStage * stage,
GError ** error);
void (*free_gl) (GstGLSyncMeta * sync, GstGLContext * context);
};
-GST_EXPORT
+GST_GL_API
GType gst_gl_sync_meta_api_get_type (void);
-GST_EXPORT
+GST_GL_API
const GstMetaInfo * gst_gl_sync_meta_get_info (void);
#define gst_buffer_get_gl_sync_meta(b) ((GstGLSyncMeta*)gst_buffer_get_meta((b),GST_GL_SYNC_META_API_TYPE))
-GST_EXPORT
+GST_GL_API
GstGLSyncMeta * gst_buffer_add_gl_sync_meta (GstGLContext * context, GstBuffer *buffer);
-GST_EXPORT
+GST_GL_API
GstGLSyncMeta * gst_buffer_add_gl_sync_meta_full (GstGLContext * context, GstBuffer * buffer,
gpointer data);
-GST_EXPORT
+GST_GL_API
void gst_gl_sync_meta_set_sync_point (GstGLSyncMeta * sync_meta, GstGLContext * context);
-GST_EXPORT
+GST_GL_API
void gst_gl_sync_meta_wait (GstGLSyncMeta * sync_meta, GstGLContext * context);
-GST_EXPORT
+GST_GL_API
void gst_gl_sync_meta_wait_cpu (GstGLSyncMeta * sync_meta, GstGLContext * context);
G_END_DECLS
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
GType gst_gl_upload_get_type (void);
#define GST_TYPE_GL_UPLOAD (gst_gl_upload_get_type())
#define GST_GL_UPLOAD(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_UPLOAD,GstGLUpload))
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GstCaps * gst_gl_upload_get_input_template_caps (void);
-GST_EXPORT
+GST_GL_API
GstGLUpload * gst_gl_upload_new (GstGLContext * context);
-GST_EXPORT
+GST_GL_API
void gst_gl_upload_set_context (GstGLUpload * upload,
GstGLContext * context);
-GST_EXPORT
+GST_GL_API
GstCaps * gst_gl_upload_transform_caps (GstGLUpload * upload,
GstGLContext * context,
GstPadDirection direction,
GstCaps * caps,
GstCaps * filter);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_upload_set_caps (GstGLUpload * upload,
GstCaps * in_caps,
GstCaps * out_caps);
-GST_EXPORT
+GST_GL_API
void gst_gl_upload_get_caps (GstGLUpload * upload,
GstCaps ** in_caps,
GstCaps ** out_caps);
-GST_EXPORT
+GST_GL_API
void gst_gl_upload_propose_allocation (GstGLUpload * upload,
GstQuery * decide_query,
GstQuery * query);
-GST_EXPORT
+GST_GL_API
GstGLUploadReturn gst_gl_upload_perform_with_buffer (GstGLUpload * upload,
GstBuffer * buffer,
GstBuffer ** outbuf_ptr);
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_ensure_element_data (gpointer element,
GstGLDisplay **display_ptr, GstGLContext ** other_context_ptr);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_handle_set_context (GstElement * element, GstContext * context,
GstGLDisplay ** display, GstGLContext ** other_context);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_handle_context_query (GstElement * element, GstQuery * query,
GstGLDisplay * display, GstGLContext * context, GstGLContext * other_context);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_query_local_gl_context (GstElement * element, GstPadDirection direction,
GstGLContext ** context_ptr);
-GST_EXPORT
+GST_GL_API
void gst_gl_element_propagate_display_context (GstElement * element, GstGLDisplay * display);
-GST_EXPORT
+GST_GL_API
gsize gst_gl_get_plane_data_size (GstVideoInfo * info, GstVideoAlignment * align,
guint plane);
-GST_EXPORT
+GST_GL_API
gsize gst_gl_get_plane_start (GstVideoInfo * info, GstVideoAlignment * valign,
guint plane);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_value_set_texture_target_from_mask (GValue * value,
GstGLTextureTarget target_mask);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_value_set_texture_target (GValue * value, GstGLTextureTarget target);
-GST_EXPORT
+GST_GL_API
GstGLTextureTarget gst_gl_value_get_texture_target_mask (const GValue * value);
G_END_DECLS
#define GST_GL_VIEW_CONVERT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_GL_VIEW_CONVERT,GstGLViewConvertClass))
#define GST_TYPE_GL_STEREO_DOWNMIX_MODE_TYPE gst_gl_stereo_downmix_mode_get_type()
-GST_EXPORT
+GST_GL_API
GType gst_gl_stereo_downmix_mode_get_type (void);
/**
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GType gst_gl_view_convert_get_type (void);
-GST_EXPORT
+GST_GL_API
GstGLViewConvert * gst_gl_view_convert_new (void);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_view_convert_set_caps (GstGLViewConvert * viewconvert, GstCaps * in_caps, GstCaps * out_caps);
-GST_EXPORT
+GST_GL_API
GstCaps * gst_gl_view_convert_transform_caps (GstGLViewConvert * viewconvert,
GstPadDirection direction, GstCaps * caps, GstCaps * filter);
-GST_EXPORT
+GST_GL_API
GstCaps * gst_gl_view_convert_fixate_caps (GstGLViewConvert *viewconvert,
GstPadDirection direction, GstCaps * caps, GstCaps * othercaps);
-GST_EXPORT
+GST_GL_API
GstFlowReturn gst_gl_view_convert_submit_input_buffer (GstGLViewConvert *viewconvert,
gboolean is_discont, GstBuffer * input);
-GST_EXPORT
+GST_GL_API
GstFlowReturn gst_gl_view_convert_get_output (GstGLViewConvert *viewconvert,
GstBuffer ** outbuf_ptr);
-GST_EXPORT
+GST_GL_API
GstBuffer * gst_gl_view_convert_perform (GstGLViewConvert * viewconvert, GstBuffer *inbuf);
-GST_EXPORT
+GST_GL_API
void gst_gl_view_convert_reset (GstGLViewConvert * viewconvert);
-GST_EXPORT
+GST_GL_API
void gst_gl_view_convert_set_context (GstGLViewConvert *viewconvert, GstGLContext * context);
G_END_DECLS
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
GType gst_gl_window_get_type (void);
#define GST_TYPE_GL_WINDOW (gst_gl_window_get_type())
#define GST_GL_WINDOW_UNLOCK(w) g_mutex_unlock(&GST_GL_WINDOW(w)->lock)
#define GST_GL_WINDOW_GET_LOCK(w) (&GST_GL_WINDOW(w)->lock)
-GST_EXPORT
+GST_GL_API
GQuark gst_gl_window_error_quark (void);
/**
* GST_GL_WINDOW_ERROR:
gpointer _reserved[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GstGLWindow * gst_gl_window_new (GstGLDisplay *display);
/* callbacks */
-GST_EXPORT
+GST_GL_API
void gst_gl_window_set_draw_callback (GstGLWindow *window,
GstGLWindowCB callback,
gpointer data,
GDestroyNotify destroy_notify);
-GST_EXPORT
+GST_GL_API
void gst_gl_window_set_resize_callback (GstGLWindow *window,
GstGLWindowResizeCB callback,
gpointer data,
GDestroyNotify destroy_notify);
-GST_EXPORT
+GST_GL_API
void gst_gl_window_set_close_callback (GstGLWindow *window,
GstGLWindowCB callback,
gpointer data,
GDestroyNotify destroy_notify);
-GST_EXPORT
+GST_GL_API
void gst_gl_window_set_window_handle (GstGLWindow *window, guintptr handle);
-GST_EXPORT
+GST_GL_API
guintptr gst_gl_window_get_window_handle (GstGLWindow *window);
/* loop/events */
-GST_EXPORT
+GST_GL_API
void gst_gl_window_run (GstGLWindow *window);
-GST_EXPORT
+GST_GL_API
void gst_gl_window_quit (GstGLWindow *window);
-GST_EXPORT
+GST_GL_API
void gst_gl_window_send_message (GstGLWindow *window,
GstGLWindowCB callback,
gpointer data);
-GST_EXPORT
+GST_GL_API
void gst_gl_window_send_message_async (GstGLWindow *window,
GstGLWindowCB callback,
gpointer data,
GDestroyNotify destroy);
/* navigation */
-GST_EXPORT
+GST_GL_API
void gst_gl_window_handle_events (GstGLWindow * window,
gboolean handle_events);
-GST_EXPORT
+GST_GL_API
void gst_gl_window_send_key_event (GstGLWindow * window,
const char * event_type,
const char * key_str);
-GST_EXPORT
+GST_GL_API
void gst_gl_window_send_mouse_event (GstGLWindow * window,
const char * event_type,
int button,
double posy);
/* surfaces/rendering */
-GST_EXPORT
+GST_GL_API
void gst_gl_window_queue_resize (GstGLWindow *window);
-GST_EXPORT
+GST_GL_API
void gst_gl_window_draw (GstGLWindow *window);
-GST_EXPORT
+GST_GL_API
void gst_gl_window_show (GstGLWindow *window);
-GST_EXPORT
+GST_GL_API
void gst_gl_window_set_preferred_size (GstGLWindow * window,
gint width,
gint height);
-GST_EXPORT
+GST_GL_API
void gst_gl_window_get_surface_dimensions (GstGLWindow * window,
guint * width,
guint * height);
-GST_EXPORT
+GST_GL_API
gboolean gst_gl_window_set_render_rectangle (GstGLWindow * window,
gint x,
gint y,
gint height);
/* subclass usage only */
-GST_EXPORT
+GST_GL_API
void gst_gl_window_resize (GstGLWindow *window, guint width, guint height);
-GST_EXPORT
+GST_GL_API
GstGLContext * gst_gl_window_get_context (GstGLWindow *window);
-GST_EXPORT
+GST_GL_API
guintptr gst_gl_window_get_display (GstGLWindow *window);
G_END_DECLS
gl_headers = [
'gl.h',
+ 'gl-prelude.h',
'gstgl_enums.h',
'gstgl_fwd.h',
'gstglapi.h',
G_BEGIN_DECLS
-GST_EXPORT GType gst_gl_display_wayland_get_type (void);
+GST_GL_API GType gst_gl_display_wayland_get_type (void);
#define GST_TYPE_GL_DISPLAY_WAYLAND (gst_gl_display_wayland_get_type())
#define GST_GL_DISPLAY_WAYLAND(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_DISPLAY_WAYLAND,GstGLDisplayWayland))
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GstGLDisplayWayland *gst_gl_display_wayland_new (const gchar * name);
-GST_EXPORT
+GST_GL_API
GstGLDisplayWayland *gst_gl_display_wayland_new_with_display (struct wl_display *display);
G_END_DECLS
G_BEGIN_DECLS
-GST_EXPORT
+GST_GL_API
GType gst_gl_display_x11_get_type (void);
#define GST_TYPE_GL_DISPLAY_X11 (gst_gl_display_x11_get_type())
gpointer _padding[GST_PADDING];
};
-GST_EXPORT
+GST_GL_API
GstGLDisplayX11 *gst_gl_display_x11_new (const gchar * name);
-GST_EXPORT
+GST_GL_API
GstGLDisplayX11 *gst_gl_display_x11_new_with_display (Display *display);
G_END_DECLS