Commit 6106816f authored by Nirbheek Chauhan's avatar Nirbheek Chauhan 🐜 Committed by Tim-Philipp Müller
Browse files

gstgl: Add GST_EXPORT to all symbols used on Windows

This is a requirement for those symbols to be exported in gstgl-1.0.dll
when building with the MSVC compiler
parent c7c2a68d
......@@ -174,10 +174,14 @@ typedef struct _GstGLFuncs
#undef GST_GL_EXT_FUNCTION
#undef GST_GL_EXT_END
GST_EXPORT
gchar * gst_gl_api_to_string (GstGLAPI api);
GST_EXPORT
GstGLAPI gst_gl_api_from_string (const gchar * api_s);
GST_EXPORT
gchar * gst_gl_platform_to_string (GstGLPlatform platform);
GST_EXPORT
GstGLPlatform gst_gl_platform_from_string (const gchar * platform_s);
G_END_DECLS
......
......@@ -31,6 +31,7 @@
G_BEGIN_DECLS
GST_EXPORT
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))
......
......@@ -30,6 +30,7 @@
G_BEGIN_DECLS
#define GST_TYPE_GL_BASE_MEMORY_ALLOCATOR (gst_gl_base_memory_allocator_get_type())
GST_EXPORT
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))
......@@ -41,6 +42,7 @@ GType gst_gl_base_memory_allocator_get_type(void);
#define GST_GL_BASE_MEMORY_CAST(mem) ((GstGLBaseMemory *)mem)
GST_EXPORT
GQuark gst_gl_base_memory_error_quark (void);
#define GST_GL_BASE_MEMORY_ERROR (gst_gl_base_memory_error_quark ())
......@@ -136,6 +138,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
GType gst_gl_allocation_params_get_type (void);
#define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC (1 << 0)
......@@ -195,12 +198,16 @@ gboolean gst_gl_allocation_params_init (GstGLAllocationPara
GDestroyNotify notify);
/* free with gst_gl_allocation_params_free */
GST_EXPORT
GstGLAllocationParams * gst_gl_allocation_params_copy (GstGLAllocationParams * src);
GST_EXPORT
void gst_gl_allocation_params_free (GstGLAllocationParams * params);
/* subclass usage */
GST_EXPORT
void gst_gl_allocation_params_free_data (GstGLAllocationParams * params);
/* subclass usage */
GST_EXPORT
void gst_gl_allocation_params_copy_data (GstGLAllocationParams * src,
GstGLAllocationParams * dest);
......@@ -345,9 +352,12 @@ struct _GstGLBaseMemoryAllocatorClass
*/
#define GST_GL_BASE_MEMORY_ALLOCATOR_NAME "GLBaseMemory"
GST_EXPORT
void gst_gl_base_memory_init_once (void);
GST_EXPORT
gboolean gst_is_gl_base_memory (GstMemory * mem);
GST_EXPORT
void gst_gl_base_memory_init (GstGLBaseMemory * mem,
GstAllocator * allocator,
GstMemory * parent,
......@@ -357,12 +367,15 @@ void gst_gl_base_memory_init (GstGLBaseMemory * mem,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
gboolean gst_gl_base_memory_alloc_data (GstGLBaseMemory * gl_mem);
GST_EXPORT
gboolean gst_gl_base_memory_memcpy (GstGLBaseMemory * src,
GstGLBaseMemory * dest,
gssize offset,
gssize size);
GST_EXPORT
GstGLBaseMemory * gst_gl_base_memory_alloc (GstGLBaseMemoryAllocator * allocator,
GstGLAllocationParams * params);
......
......@@ -30,6 +30,7 @@
G_BEGIN_DECLS
#define GST_TYPE_GL_BUFFER_ALLOCATOR (gst_gl_buffer_allocator_get_type())
GST_EXPORT
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))
......@@ -79,6 +80,7 @@ struct _GstGLBufferAllocationParams
gpointer _padding[GST_PADDING];
};
GST_EXPORT
GstGLBufferAllocationParams * gst_gl_buffer_allocation_params_new (GstGLContext * context,
gsize alloc_size,
GstAllocationParams * alloc_params,
......@@ -120,9 +122,12 @@ struct _GstGLBufferAllocatorClass
*/
#define GST_GL_BUFFER_ALLOCATOR_NAME "GLBuffer"
GST_EXPORT
void gst_gl_buffer_init_once (void);
GST_EXPORT
gboolean gst_is_gl_buffer (GstMemory * mem);
GST_EXPORT
GstGLBuffer * gst_gl_buffer_alloc (GstGLContext * context,
guint gl_target,
guint gl_usage,
......
......@@ -30,6 +30,7 @@
G_BEGIN_DECLS
/* buffer pool functions */
GST_EXPORT
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,9 +67,12 @@ struct _GstGLBufferPoolClass
gpointer _padding[GST_PADDING];
};
GST_EXPORT
GstBufferPool *gst_gl_buffer_pool_new (GstGLContext * context);
GST_EXPORT
GstGLAllocationParams * gst_buffer_pool_config_get_gl_allocation_params (GstStructure * config);
GST_EXPORT
void gst_buffer_pool_config_set_gl_allocation_params (GstStructure * config,
GstGLAllocationParams * params);
......
......@@ -28,6 +28,7 @@
G_BEGIN_DECLS
GST_EXPORT
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))
......@@ -112,22 +113,28 @@ struct _GstGLColorConvertClass
"framerate = " GST_VIDEO_FPS_RANGE ", " \
"texture-target = (string) { 2D, rectangle, external-oes }"
GST_EXPORT
GstGLColorConvert * gst_gl_color_convert_new (GstGLContext * context);
GST_EXPORT
GstCaps * gst_gl_color_convert_transform_caps (GstGLContext * convert,
GstPadDirection direction,
GstCaps * caps,
GstCaps * filter);
GST_EXPORT
GstCaps * gst_gl_color_convert_fixate_caps (GstGLContext * convert,
GstPadDirection direction,
GstCaps * caps,
GstCaps * other);
GST_EXPORT
gboolean gst_gl_color_convert_set_caps (GstGLColorConvert * convert,
GstCaps * in_caps,
GstCaps * out_caps);
GST_EXPORT
gboolean gst_gl_color_convert_decide_allocation (GstGLColorConvert * convert,
GstQuery * query);
GST_EXPORT
GstBuffer * gst_gl_color_convert_perform (GstGLColorConvert * convert, GstBuffer * inbuf);
G_END_DECLS
......
......@@ -33,9 +33,11 @@ G_BEGIN_DECLS
#define GST_IS_GL_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GST_GL_TYPE_CONTEXT))
#define GST_IS_GL_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GST_GL_TYPE_CONTEXT))
#define GST_GL_CONTEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_GL_TYPE_CONTEXT, GstGLContextClass))
GST_EXPORT
GType gst_gl_context_get_type (void);
#define GST_GL_CONTEXT_ERROR (gst_gl_context_error_quark ())
GST_EXPORT
GQuark gst_gl_context_error_quark (void);
/**
......@@ -115,45 +117,71 @@ struct _GstGLContextClass {
/* methods */
GST_EXPORT
GstGLContext * gst_gl_context_new (GstGLDisplay *display);
GST_EXPORT
GstGLContext * gst_gl_context_new_wrapped (GstGLDisplay *display,
guintptr handle,
GstGLPlatform context_type,
GstGLAPI available_apis);
GST_EXPORT
gboolean gst_gl_context_activate (GstGLContext *context, gboolean activate);
GST_EXPORT
GThread * gst_gl_context_get_thread (GstGLContext *context);
GST_EXPORT
GstGLContext * gst_gl_context_get_current (void);
GST_EXPORT
GstGLDisplay * gst_gl_context_get_display (GstGLContext *context);
GST_EXPORT
gpointer gst_gl_context_get_proc_address (GstGLContext *context, const gchar *name);
GST_EXPORT
GstGLPlatform gst_gl_context_get_gl_platform (GstGLContext *context);
GST_EXPORT
GstGLAPI gst_gl_context_get_gl_api (GstGLContext *context);
GST_EXPORT
guintptr gst_gl_context_get_gl_context (GstGLContext *context);
GST_EXPORT
gboolean gst_gl_context_can_share (GstGLContext * context, GstGLContext *other_context);
GST_EXPORT
gboolean gst_gl_context_create (GstGLContext *context, GstGLContext *other_context, GError ** error);
GST_EXPORT
void gst_gl_context_destroy (GstGLContext *context);
GST_EXPORT
gpointer gst_gl_context_default_get_proc_address (GstGLAPI gl_api, const gchar *name);
GST_EXPORT
gpointer gst_gl_context_get_proc_address_with_platform (GstGLPlatform context_type, GstGLAPI gl_api, const gchar *name);
GST_EXPORT
gboolean gst_gl_context_set_window (GstGLContext *context, GstGLWindow *window);
GST_EXPORT
GstGLWindow * gst_gl_context_get_window (GstGLContext *context);
GST_EXPORT
void gst_gl_context_get_gl_version (GstGLContext *context, gint *maj, gint *min);
GST_EXPORT
gboolean gst_gl_context_check_gl_version (GstGLContext * context, GstGLAPI api, gint maj, gint min);
GST_EXPORT
gboolean gst_gl_context_check_feature (GstGLContext *context, const gchar *feature);
GST_EXPORT
guintptr gst_gl_context_get_current_gl_context (GstGLPlatform context_type);
GST_EXPORT
GstGLAPI gst_gl_context_get_current_gl_api (GstGLPlatform platform, guint *major, guint *minor);
GST_EXPORT
gboolean gst_gl_context_is_shared (GstGLContext * context);
GST_EXPORT
void gst_gl_context_set_shared_with (GstGLContext * context, GstGLContext * share);
GST_EXPORT
gboolean gst_gl_context_fill_info (GstGLContext * context, GError ** error);
/* FIXME: remove */
GST_EXPORT
void gst_gl_context_thread_add (GstGLContext * context,
GstGLContextThreadFunc func, gpointer data);
......
......@@ -25,6 +25,7 @@
G_BEGIN_DECLS
GST_EXPORT
GType gst_gl_control_binding_proxy_get_type (void);
#define GST_TYPE_GL_CONTROL_BINDING_PROXY (gst_gl_control_binding_proxy_get_type())
......@@ -44,11 +45,13 @@ struct _GstGLControlBindingProxyClass
GstControlBindingClass parent_class;
};
GST_EXPORT
GstControlBinding * gst_gl_control_binding_proxy_new (GstObject * object,
const gchar * property_name,
GstObject * ref_object,
const gchar * ref_property_name);
GST_EXPORT
void gst_gl_object_add_control_binding_proxy (GstObject * object,
GstObject * ref_object,
const gchar * prop);
......
......@@ -55,11 +55,17 @@ struct _GstGLAsyncDebug
gpointer _padding[GST_PADDING];
};
GST_EXPORT
GstGLAsyncDebug * gst_gl_async_debug_new (void);
GST_EXPORT
void gst_gl_async_debug_free (GstGLAsyncDebug * ad);
GST_EXPORT
void gst_gl_async_debug_init (GstGLAsyncDebug * ad);
GST_EXPORT
void gst_gl_async_debug_unset (GstGLAsyncDebug * ad);
GST_EXPORT
void gst_gl_async_debug_freeze (GstGLAsyncDebug * ad);
GST_EXPORT
void gst_gl_async_debug_thaw (GstGLAsyncDebug * ad);
/**
......@@ -113,9 +119,12 @@ GST_GL_ASYNC_CAT_LEVEL_LOG(GstGLAsyncDebug * ad, GstDebugCategory * cat,
#if !defined(GST_DISABLE_GST_DEBUG)
GST_EXPORT
void gst_gl_insert_debug_marker (GstGLContext * context,
const gchar * format, ...) G_GNUC_PRINTF (2, 3);
GST_EXPORT
void gst_gl_async_debug_output_log_msg (GstGLAsyncDebug * ad);
GST_EXPORT
void gst_gl_async_debug_store_log_msg (GstGLAsyncDebug * ad,
GstDebugCategory * cat,
GstDebugLevel level,
......@@ -124,6 +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
void gst_gl_async_debug_store_log_msg_valist (GstGLAsyncDebug * ad,
GstDebugCategory * cat,
GstDebugLevel level,
......
......@@ -30,6 +30,7 @@
G_BEGIN_DECLS
GST_EXPORT
GType gst_gl_display_get_type (void);
#define GST_TYPE_GL_DISPLAY (gst_gl_display_get_type())
......@@ -90,26 +91,37 @@ struct _GstGLDisplayClass
gpointer _padding[GST_PADDING];
};
GST_EXPORT
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
guintptr gst_gl_display_get_handle (GstGLDisplay * display);
GST_EXPORT
GstGLDisplayType gst_gl_display_get_handle_type (GstGLDisplay * display);
GST_EXPORT
void gst_gl_display_filter_gl_api (GstGLDisplay * display,
GstGLAPI gl_api);
GST_EXPORT
GstGLAPI gst_gl_display_get_gl_api (GstGLDisplay * display);
GST_EXPORT
GstGLAPI gst_gl_display_get_gl_api_unlocked (GstGLDisplay * display);
#define GST_GL_DISPLAY_CONTEXT_TYPE "gst.gl.GLDisplay"
GST_EXPORT
void gst_context_set_gl_display (GstContext * context, GstGLDisplay * display);
GST_EXPORT
gboolean gst_context_get_gl_display (GstContext * context, GstGLDisplay ** display);
GST_EXPORT
gboolean gst_gl_display_create_context (GstGLDisplay * display,
GstGLContext * other_context, GstGLContext ** p_context, GError **error);
GST_EXPORT
GstGLContext * gst_gl_display_get_gl_context_for_thread (GstGLDisplay * display,
GThread * thread);
GST_EXPORT
gboolean gst_gl_display_add_context (GstGLDisplay * display,
GstGLContext * context);
......
......@@ -94,7 +94,7 @@ struct _GstGLFeatureData
const GstGLFeatureFunction *functions;
};
gboolean
GST_EXPORT gboolean
gst_gl_check_extension (const char *name, const gchar * ext);
G_GNUC_INTERNAL gboolean
......
......@@ -30,6 +30,7 @@
G_BEGIN_DECLS
GST_EXPORT
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))
......@@ -120,16 +121,20 @@ struct _GstGLFilterClass
gpointer _padding[GST_PADDING];
};
GST_EXPORT
gboolean gst_gl_filter_filter_texture (GstGLFilter * filter, GstBuffer * inbuf,
GstBuffer * outbuf);
GST_EXPORT
gboolean gst_gl_filter_render_to_target (GstGLFilter *filter,
GstGLMemory * input,
GstGLMemory * output,
GstGLFilterRenderFunc func,
gpointer data);
GST_EXPORT
void gst_gl_filter_draw_fullscreen_quad (GstGLFilter *filter);
GST_EXPORT
void gst_gl_filter_render_to_target_with_shader (GstGLFilter * filter,
GstGLMemory * input,
GstGLMemory * output,
......
......@@ -97,21 +97,31 @@ typedef enum
GST_GL_DEPTH24_STENCIL8 = 0x88F0,
} GstGLFormat;
GST_EXPORT
guint gst_gl_format_type_n_bytes (guint format,
guint type);
GST_EXPORT
guint gst_gl_texture_type_n_bytes (GstVideoGLTextureType tex_format);
GST_EXPORT
guint gst_gl_format_from_gl_texture_type (GstVideoGLTextureType tex_format);
GST_EXPORT
GstVideoGLTextureType gst_gl_texture_type_from_format (GstGLContext * context,
GstVideoFormat v_format,
guint plane);
GST_EXPORT
guint gst_gl_sized_gl_format_from_gl_format_type (GstGLContext * context,
guint format,
guint type);
GST_EXPORT
GstGLTextureTarget gst_gl_texture_target_from_string (const gchar * str);
GST_EXPORT
const gchar * gst_gl_texture_target_to_string (GstGLTextureTarget target);
GST_EXPORT
guint gst_gl_texture_target_to_gl (GstGLTextureTarget target);
GST_EXPORT
GstGLTextureTarget gst_gl_texture_target_from_gl (guint target);
GST_EXPORT
const gchar * gst_gl_texture_target_to_buffer_pool_option (GstGLTextureTarget target);
G_END_DECLS
......
......@@ -25,6 +25,7 @@
G_BEGIN_DECLS
GST_EXPORT
GType gst_gl_framebuffer_get_type (void);
#define GST_TYPE_GL_FRAMEBUFFER (gst_gl_framebuffer_get_type())
......@@ -67,25 +68,34 @@ struct _GstGLFramebufferClass
gpointer _padding[GST_PADDING];
};
GST_EXPORT
GstGLFramebuffer * gst_gl_framebuffer_new (GstGLContext *context);
GST_EXPORT
GstGLFramebuffer * gst_gl_framebuffer_new_with_default_depth (GstGLContext *context,
guint width,
guint height);
GST_EXPORT
guint gst_gl_framebuffer_get_id (GstGLFramebuffer * fb);
GST_EXPORT
void gst_gl_framebuffer_attach (GstGLFramebuffer * fb,
guint attachment_point,
GstGLBaseMemory * mem);
GST_EXPORT
void gst_gl_framebuffer_bind (GstGLFramebuffer * fb);
GST_EXPORT
void gst_gl_context_clear_framebuffer (GstGLContext * context);
GST_EXPORT
void gst_gl_framebuffer_get_effective_dimensions (GstGLFramebuffer * fb,
guint * width,
guint * height);
GST_EXPORT
gboolean gst_gl_context_check_framebuffer_status (GstGLContext * context);
GST_EXPORT
gboolean gst_gl_framebuffer_draw_to_texture (GstGLFramebuffer * fb,
GstGLMemory * mem,
GstGLFramebufferFunc cb,
......
......@@ -31,6 +31,7 @@
G_BEGIN_DECLS
#define GST_TYPE_GL_MEMORY_ALLOCATOR (gst_gl_memory_allocator_get_type())
GST_EXPORT
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))
......@@ -101,6 +102,7 @@ struct _GstGLVideoAllocationParams
gpointer _padding[GST_PADDING];
};
GST_EXPORT
gboolean gst_gl_video_allocation_params_init_full (GstGLVideoAllocationParams * params,
gsize struct_size,
guint alloc_flags,
......@@ -117,6 +119,7 @@ gboolean gst_gl_video_allocation_params_init_full (GstGLVideoAlloc
gpointer gl_handle,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new (GstGLContext * context,
GstAllocationParams * alloc_params,
GstVideoInfo * v_info,
......@@ -124,6 +127,7 @@ GstGLVideoAllocationParams * gst_gl_video_allocation_params_new (GstGLContext *
GstVideoAlignment * valign,
GstGLTextureTarget target,
GstVideoGLTextureType tex_type);
GST_EXPORT
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_data (GstGLContext * context,
GstAllocationParams * alloc_params,
GstVideoInfo * v_info,
......@@ -135,6 +139,7 @@ GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_data
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_texture (GstGLContext * context,
GstAllocationParams * alloc_params,
GstVideoInfo * v_info,
......@@ -146,6 +151,7 @@ GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_texture
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_gl_handle (GstGLContext * context,
GstAllocationParams * alloc_params,
GstVideoInfo * v_info,
......@@ -158,8 +164,10 @@ GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_gl_handl
GDestroyNotify notify);
/* subclass usage */
GST_EXPORT
void gst_gl_video_allocation_params_free_data (GstGLVideoAllocationParams * params);
/* subclass usage */
GST_EXPORT
void gst_gl_video_allocation_params_copy_data (GstGLVideoAllocationParams * src_vid,
GstGLVideoAllocationParams * dest_vid);
......@@ -202,9 +210,12 @@ struct _GstGLMemoryAllocatorClass
*/
#define GST_GL_MEMORY_ALLOCATOR_NAME "GLMemory"
GST_EXPORT
void gst_gl_memory_init_once (void);
GST_EXPORT
gboolean gst_is_gl_memory (GstMemory * mem);
GST_EXPORT
void gst_gl_memory_init (GstGLMemory * mem,
GstAllocator * allocator,
GstMemory * parent,
......@@ -218,12 +229,14 @@ void gst_gl_memory_init (GstGLMemory * mem,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
gboolean gst_gl_memory_copy_into (GstGLMemory *gl_mem,
guint tex_id,
GstGLTextureTarget target,
GstVideoGLTextureType tex_type,
gint width,
gint height);
GST_EXPORT
gboolean gst_gl_memory_copy_teximage (GstGLMemory * src,
guint tex_id,
GstGLTextureTarget out_target,
......@@ -231,18 +244,26 @@ gboolean gst_gl_memory_copy_teximage (GstGLMemory * src,
gint width,
gint height);
GST_EXPORT
gboolean gst_gl_memory_read_pixels (GstGLMemory * gl_mem,
gpointer read_pointer);
GST_EXPORT
void gst_gl_memory_texsubimage (GstGLMemory * gl_mem,
gpointer read_pointer);
/* accessors */
GST_EXPORT
gint gst_gl_memory_get_texture_width (GstGLMemory * gl_mem);
GST_EXPORT
gint gst_gl_memory_get_texture_height (GstGLMemory * gl_mem);
GST_EXPORT
GstVideoGLTextureType gst_gl_memory_get_texture_type (GstGLMemory * gl_mem);
GST_EXPORT
GstGLTextureTarget gst_gl_memory_get_texture_target (GstGLMemory * gl_mem);
GST_EXPORT
guint gst_gl_memory_get_texture_id (GstGLMemory * gl_mem);
GST_EXPORT
gboolean gst_gl_memory_setup_buffer (GstGLMemoryAllocator * allocator,
GstBuffer * buffer,
GstGLVideoAllocationParams * params,
......@@ -250,6 +271,7 @@ gboolean gst_gl_memory_setup_buffer (GstGLMemoryAllocato
gpointer *wrapped_data,
gsize n_wrapped_pointers);
GST_EXPORT
GstGLMemoryAllocator * gst_gl_memory_allocator_get_default (GstGLContext *context);
G_END_DECLS
......
......@@ -32,6 +32,7 @@
G_BEGIN_DECLS
#define GST_TYPE_GL_MEMORY_PBO_ALLOCATOR (gst_gl_memory_pbo_allocator_get_type())
GST_EXPORT
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))
......@@ -64,12 +65,17 @@ struct _GstGLMemoryPBO
*/
#define GST_GL_MEMORY_PBO_ALLOCATOR_NAME "GLMemoryPBO"
GST_EXPORT
void gst_gl_memory_pbo_init_once (void);
GST_EXPORT
gboolean gst_is_gl_memory_pbo (GstMemory * mem);
GST_EXPORT
void gst_gl_memory_pbo_download_transfer (GstGLMemoryPBO * gl_mem);
GST_EXPORT
void gst_gl_memory_pbo_upload_transfer (GstGLMemoryPBO * gl_mem);