gl: GST_EXPORT -> GST_GL_API

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.
This commit is contained in:
Tim-Philipp Müller 2018-03-13 10:57:15 +00:00
parent 882151502d
commit c5b5ef16d3
36 changed files with 361 additions and 325 deletions

View file

@ -67,6 +67,7 @@ libgstgl_@GST_API_VERSION@include_HEADERS = \
gstglquery.h \
gstgl_fwd.h \
gstgl_enums.h \
gl-prelude.h \
gl.h
noinst_HEADERS = \

View file

@ -22,6 +22,7 @@
#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__
@ -51,7 +52,7 @@
typedef gintptr EGLAttrib;
#endif
GST_EXPORT
GST_GL_API
const gchar * gst_egl_get_error_string (EGLint err);
#endif /* _GST_EGL_H_ */

View file

@ -28,7 +28,7 @@
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))
@ -68,27 +68,27 @@ struct _GstEGLImage
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

View file

@ -25,7 +25,7 @@
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())
@ -63,16 +63,16 @@ struct _GstGLDisplayEGLClass
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"

View file

@ -30,7 +30,7 @@
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))
@ -61,16 +61,16 @@ struct _GstGLMemoryEGL
*/
#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);
/**

View file

@ -0,0 +1,31 @@
/* 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__ */

View file

@ -22,6 +22,7 @@
#define __GST_GL_API_H__
#include <gst/gl/gstglconfig.h>
#include <gst/gl/gl-prelude.h>
#include <gst/gst.h>
@ -98,14 +99,14 @@ typedef enum
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

View file

@ -29,7 +29,7 @@
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))

View file

@ -36,11 +36,11 @@ G_BEGIN_DECLS
* 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))
@ -52,7 +52,7 @@ GType gst_gl_base_memory_allocator_get_type(void);
#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 ())
@ -148,7 +148,7 @@ typedef void (*GstGLAllocationParamsCopyFunc) (GstGLAllocationParams * src
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);
/**
@ -219,7 +219,7 @@ struct _GstGLAllocationParams
gpointer _padding[GST_PADDING];
};
GST_EXPORT
GST_GL_API
gboolean gst_gl_allocation_params_init (GstGLAllocationParams * params,
gsize struct_size,
guint alloc_flags,
@ -234,18 +234,18 @@ gboolean gst_gl_allocation_params_init (GstGLAllocationPara
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);
@ -387,13 +387,13 @@ struct _GstGLBaseMemoryAllocatorClass
*/
#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,
@ -403,16 +403,16 @@ void gst_gl_base_memory_init (GstGLBaseMemory * mem,
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);

View file

@ -26,7 +26,7 @@
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))
@ -57,7 +57,7 @@ struct _GstGLBuffer
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);
/**
@ -84,7 +84,7 @@ struct _GstGLBufferAllocationParams
gpointer _padding[GST_PADDING];
};
GST_EXPORT
GST_GL_API
GstGLBufferAllocationParams * gst_gl_buffer_allocation_params_new (GstGLContext * context,
gsize alloc_size,
GstAllocationParams * alloc_params,
@ -131,9 +131,9 @@ struct _GstGLBufferAllocatorClass
*/
#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

View file

@ -29,7 +29,7 @@
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))
@ -66,12 +66,12 @@ struct _GstGLBufferPoolClass
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);

View file

@ -28,7 +28,7 @@
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))
@ -113,28 +113,28 @@ struct _GstGLColorConvertClass
"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

View file

@ -27,7 +27,7 @@
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())
@ -37,7 +37,7 @@ GType gst_gl_context_get_type (void);
#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);
/**
@ -140,75 +140,75 @@ struct _GstGLContextClass {
/* 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);

View file

@ -55,17 +55,17 @@ struct _GstGLAsyncDebug
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);
/**
@ -119,12 +119,12 @@ GST_GL_ASYNC_CAT_LEVEL_LOG(GstGLAsyncDebug * ad, GstDebugCategory * cat,
#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,
@ -133,7 +133,7 @@ void gst_gl_async_debug_store_log_msg (GstGLAsyncDebug * ad,
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,

View file

@ -28,7 +28,7 @@
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())
@ -100,22 +100,22 @@ struct _GstGLDisplayClass
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);
/**
@ -124,26 +124,26 @@ 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

View file

@ -54,7 +54,7 @@ G_BEGIN_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

View file

@ -30,7 +30,7 @@
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))
@ -122,23 +122,23 @@ struct _GstGLFilterClass
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,

View file

@ -120,27 +120,27 @@ typedef enum
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

View file

@ -25,7 +25,7 @@
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())
@ -78,35 +78,35 @@ struct _GstGLFramebufferClass
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,

View file

@ -27,7 +27,7 @@
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))
@ -91,7 +91,7 @@ struct _GstGLMemory
#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;
@ -126,7 +126,7 @@ struct _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,
@ -143,7 +143,7 @@ gboolean gst_gl_video_allocation_params_init_full (GstGLVideoAlloc
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,
@ -151,7 +151,7 @@ GstGLVideoAllocationParams * gst_gl_video_allocation_params_new (GstGLContext *
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,
@ -163,7 +163,7 @@ GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_data
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,
@ -175,7 +175,7 @@ GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_texture
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,
@ -188,10 +188,10 @@ GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_gl_handl
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);
@ -237,12 +237,12 @@ struct _GstGLMemoryAllocatorClass
*/
#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,
@ -256,14 +256,14 @@ void gst_gl_memory_init (GstGLMemory * mem,
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,
@ -271,26 +271,26 @@ gboolean gst_gl_memory_copy_teximage (GstGLMemory * src,
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,
@ -298,7 +298,7 @@ gboolean gst_gl_memory_setup_buffer (GstGLMemoryAllocato
gpointer *wrapped_data,
gsize n_wrapped_pointers);
GST_EXPORT
GST_GL_API
GstGLMemoryAllocator * gst_gl_memory_allocator_get_default (GstGLContext *context);
G_END_DECLS

View file

@ -27,7 +27,7 @@
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))
@ -59,17 +59,17 @@ struct _GstGLMemoryPBO
*/
#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,

View file

@ -33,7 +33,7 @@
G_BEGIN_DECLS
GST_EXPORT
GST_GL_API
GType gst_gl_overlay_compositor_get_type (void);
/**
@ -72,20 +72,20 @@ struct _GstGLOverlayCompositorClass
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

View file

@ -59,25 +59,25 @@ struct _GstGLQuery
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) \

View file

@ -26,7 +26,7 @@
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))
@ -98,7 +98,7 @@ struct _GstGLRenderbufferAllocatorClass
#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
@ -113,14 +113,14 @@ 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,
@ -130,23 +130,23 @@ GstGLRenderbufferAllocationParams * gst_gl_renderbuffer_allocation_params_ne
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

View file

@ -26,7 +26,7 @@
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())
@ -53,102 +53,102 @@ struct _GstGLShaderClass {
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

View file

@ -22,19 +22,20 @@
#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

View file

@ -25,7 +25,7 @@
G_BEGIN_DECLS
GST_EXPORT
GST_GL_API
GQuark gst_glsl_error_quark (void);
/**
@ -122,32 +122,32 @@ typedef enum
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);

View file

@ -62,17 +62,17 @@ struct _GstGLSLStageClass
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,
@ -80,26 +80,26 @@ GstGLSLStage * gst_glsl_stage_new_with_strings (GstGLContext * context,
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);

View file

@ -71,23 +71,23 @@ struct _GstGLSyncMeta
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

View file

@ -27,7 +27,7 @@
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))
@ -84,36 +84,36 @@ struct _GstGLUploadClass
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);

View file

@ -28,35 +28,35 @@
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

View file

@ -36,7 +36,7 @@ G_BEGIN_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);
/**
@ -106,31 +106,31 @@ struct _GstGLViewConvertClass
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

View file

@ -30,7 +30,7 @@
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())
@ -44,7 +44,7 @@ GType gst_gl_window_get_type (void);
#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:
@ -173,56 +173,56 @@ struct _GstGLWindowClass {
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,
@ -230,21 +230,21 @@ void gst_gl_window_send_mouse_event (GstGLWindow * window,
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,
@ -252,12 +252,12 @@ gboolean gst_gl_window_set_render_rectangle (GstGLWindow * window,
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

View file

@ -30,6 +30,7 @@ gl_sources = [
gl_headers = [
'gl.h',
'gl-prelude.h',
'gstgl_enums.h',
'gstgl_fwd.h',
'gstglapi.h',

View file

@ -30,7 +30,7 @@
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))
@ -71,10 +71,10 @@ struct _GstGLDisplayWaylandClass
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

View file

@ -29,7 +29,7 @@
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())
@ -68,10 +68,10 @@ struct _GstGLDisplayX11Class
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