--- /dev/null
+# GStreamer OpenGL Library
+
+This library should be linked to by getting cflags and libs from
+`gstreamer-gl-{{ gst_api_version.md }}.pc`.
'_kiss_fft_guts_f32.h', '_kiss_fft_guts_f64.h', '_kiss_fft_guts_s16.h',
'_kiss_fft_guts_s16.h', '_kiss_fft_guts_s32.h', '_kiss_fft_guts_s32.h',
'pbutils-marshal.h', 'audio-resampler-private.h', '*orc-dist.*',
- '*-neon.h', 'audio-resampler-macros.[ch]', '*-prelude.h'
+ '*-neon.h', 'audio-resampler-macros.[ch]', '*-prelude.h', '*_private.h',
+ 'gstglfuncs.[ch]', 'gstgl_fwd.h'
]
- libs_excludes += [join_paths(meson.current_source_dir(), '..', 'gst-libs/gst/*/', h)]
+ libs_excludes += [join_paths(meson.current_source_dir(), '..', 'gst-libs/gst/*/', h)]
endforeach
libs = [
]
if build_gstgl
- libs + [['gl', gl_gir, gstgl_dep]]
+ libs += [['gl', gl_gir, gstgl_dep, [
+ join_paths('../gst-libs/gst', 'gl', 'egl', 'gstegl.[ch]'),
+ join_paths('../gst-libs/gst', 'gl', 'egl', 'gsteglimage.[ch]'),
+ join_paths('../gst-libs/gst', 'gl', 'egl', 'gstgldisplay_egl.[ch]'),
+ join_paths('../gst-libs/gst', 'gl', 'egl', 'gstglmemoryegl.[ch]'),
+ join_paths('../gst-libs/gst', 'gl', 'x11', 'gstgldisplay_x11.[ch]'),
+ join_paths('../gst-libs/gst', 'gl', 'wayland', 'gstgldisplay_wayland.[ch]'),
+ ]]]
endif
libs_doc = []
name = lib[0]
gir = lib[1]
deps = [lib[2], gir]
+ extra_sources = []
+ if lib.length() >= 4
+ extra_sources = lib[3]
+ endif
libs_doc += [hotdoc.generate_doc('gst-plugins-base-' + name,
project_version: api_version,
- gi_c_sources: [join_paths('../gst-libs/gst', name, '*.[hc]')],
+ gi_c_sources: [join_paths('../gst-libs/gst', name, '*.[hc]')] + extra_sources,
gi_sources: gir[0].full_path(),
gi_c_source_filters: libs_excludes,
gi_c_source_roots: [join_paths(meson.current_source_dir(), '../gst-libs/gst/' + name), ],
struct _GstGLAlpha {
GstGLFilter videofilter;
- /* < private > */
GstGLShader *alpha_shader;
GstGLShader *chroma_key_shader;
struct _GstGLColorBalance {
GstGLFilter videofilter;
- /* < private > */
GstGLShader *shader;
/* channels for interface */
struct _GstGLDownloadElement
{
- /* <private> */
GstGLBaseFilter parent;
gboolean do_pbo_transfers;
struct _GstGLDownloadElementClass
{
- /* <private> */
GstGLBaseFilterClass object_class;
};
gdouble alpha;
- /* <private> */
GstGLShader *shader;
GstGLMemory *image_memory;
*/
struct _GstGLUploadElement
{
- /* <private> */
GstGLBaseFilter parent;
GstGLUpload *upload;
{
GstGLMixerPad parent;
- /* < private > */
/* properties */
gint xpos, ypos;
gint width, height;
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+
+/**
+ * SECTION:gstegl
+ * @short_description: EGL helpers
+ * @title: GstEGL
+ * @see_also: #GstGLDisplayEGL, #GstEGLImage
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
* @title: GstEGLImage
* @see_also: #GstGLMemoryEGL, #GstGLContext
*
- * #GstEGLImage represents and holds an #EGLImage handle.
+ * #GstEGLImage represents and holds an `EGLImage` handle.
*
* A #GstEGLImage can be created from a dmabuf with gst_egl_image_from_dmabuf(),
* or gst_egl_image_from_dmabuf_direct(), or #GstGLMemoryEGL provides a
- * #GstAllocator to allocate #EGLImage's bound to and OpenGL texture.
+ * #GstAllocator to allocate `EGLImage`'s bound to and OpenGL texture.
*/
#ifdef HAVE_CONFIG_H
* gst_egl_image_get_image:
* @image: a #GstEGLImage
*
- * Returns: the #EGLImageKHR of @image
+ * Returns: the `EGLImage` of @image
*/
gpointer
gst_egl_image_get_image (GstEGLImage * image)
* gst_egl_image_from_texture:
* @context: a #GstGLContext (must be an EGL context)
* @gl_mem: a #GstGLMemory
- * @attribs: additional attributes to add to the eglCreateImage() call.
+ * @attribs: additional attributes to add to the `eglCreateImage`() call.
*
* Returns: (transfer full): a #GstEGLImage wrapping @gl_mem or %NULL on failure
*/
* @data: user data passed to gst_egl_image_new_wrapped()
*
* Function to be called when the GstEGLImage is destroyed. It should free
- * the associated #EGLImage if necessary
+ * the associated `EGLImage` if necessary
*/
typedef void (*GstEGLImageDestroyNotify) (GstEGLImage * image,
gpointer data);
*/
struct _GstGLContextEGL
{
- /* <private> */
+ /*< private >*/
GstGLContext context;
GstGLDisplayEGL *display_egl;
*/
struct _GstGLContextEGLClass
{
- /* <private> */
+ /*< private >*/
GstGLContextClass parent;
};
* Boston, MA 02110-1301, USA.
*/
+/**
+ * SECTION:gstgldisplay_egl
+ * @short_description: EGL Display connection
+ * @title: GstGLDisplayEGL
+ * @see_also: #GstGLDisplay
+ *
+ * #GstGLDisplayEGL represents a connection to an EGL `EGLDisplay` handle created
+ * internally (gst_gl_display_egl_new()) or wrapped by the application
+ * (gst_gl_display_egl_new_with_egl_display())
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
* @type: a #GstGLDisplayType
* @display: pointer to a display (or 0)
*
- * Attempts to create a new #EGLDisplay from @display. If @type is
+ * Attempts to create a new `EGLDisplay` from @display. If @type is
* %GST_GL_DISPLAY_TYPE_ANY, then @display must be 0. @type must not be
* %GST_GL_DISPLAY_TYPE_NONE.
*
- * Returns: A #EGLDisplay or %EGL_NO_DISPLAY
+ * Returns: A `EGLDisplay` or `EGL_NO_DISPLAY`
*
* Since: 1.12
*/
{
GstGLDisplay parent;
- /* <private> */
+ /*< private >*/
gpointer display;
gboolean foreign_display;
/**
* SECTION:gstglmemoryegl
* @short_description: memory subclass for EGLImage's
+ * @title: GstGLMemoryEGL
* @see_also: #GstGLMemory, #GstGLBaseMemoryAllocator, #GstGLBufferPool
*
* #GstGLMemoryEGL is created or wrapped through gst_gl_base_memory_alloc()
*/
struct _GstGLMemoryEGL
{
- /* <private> */
+ /*< private >*/
GstGLMemory mem;
GstEGLImage *image;
gpointer gst_gl_memory_egl_get_display (GstGLMemoryEGL * mem);
/**
- * GstGLMemoryEGLAllocator
+ * GstGLMemoryEGLAllocator:
*
* Opaque #GstGLMemoryEGLAllocator struct
*/
struct _GstGLMemoryEGLAllocator
{
- /* <private> */
+ /*< private >*/
GstGLMemoryAllocator parent;
*/
struct _GstGLMemoryEGLAllocatorClass
{
- /* <private> */
+ /*< private >*/
GstGLMemoryAllocatorClass parent_class;
gpointer _padding[GST_PADDING];
{
GstGLDisplay parent;
- /* <private> */
+ /*< private >*/
int drm_fd;
drmModeRes *drm_mode_resources;
#include "gstglapi.h"
/**
+ * GstGLFuncs:
+ *
+ * Structure containing function pointers to OpenGL functions.
+ *
+ * Each field is named exactly the same as the OpenGL function without the
+ * `gl` prefix.
+ */
+
+/**
* gst_gl_api_to_string:
* @api: a #GstGLAPI to stringify
*
*
* #GstGLBaseFilter handles the nitty gritty details of retrieving an OpenGL
* context. It also provided some wrappers around #GstBaseTransform's
- * start(), stop() and set_caps() virtual methods that ensure an OpenGL context
- * is available and current in the calling thread.
+ * `start()`, `stop()` and `set_caps()` virtual methods that ensure an OpenGL
+ * context is available and current in the calling thread.
*/
#define GST_CAT_DEFAULT gst_gl_base_filter_debug
GST_DEFINE_MINI_OBJECT_TYPE (GstGLBaseMemory, gst_gl_base_memory);
+/**
+ * gst_gl_base_memory_error_quark:
+ *
+ * Returns: the quark used for #GstGLBaseMemory in #GError's
+ */
GQuark
gst_gl_base_memory_error_quark (void)
{
GstGLContext *context;
- /* <protected> */
+ /*< protected >*/
GMutex lock;
GstMapFlags map_flags; /* cumulative map flags */
GstGLQuery *query;
- /* <private> */
+ /*< private >*/
gsize alloc_size; /* because maxsize is used for mapping */
gpointer alloc_data;
/* GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE only */
gpointer gl_handle;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
GstGLBaseMemoryAllocatorUnmapFunction unmap;
GstGLBaseMemoryAllocatorCopyFunction copy;
GstGLBaseMemoryAllocatorDestroyFunction destroy;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
guint gl_target;
guint gl_usage;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
{
GstGLBaseMemoryAllocator parent;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
{
GstGLBaseMemoryAllocatorClass parent_class;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
GstGLContext *context;
- /* <private> */
+ /*< private >*/
GstGLBufferPoolPrivate *priv;
gpointer _padding[GST_PADDING];
{
GstBufferPoolClass parent_class;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
*/
struct _GstGLColorConvert
{
- /* <private> */
+ /*< private >*/
GstObject parent;
GstGLContext *context;
GstGLFramebuffer *fbo;
GstGLShader *shader;
- /* <private> */
+ /*< private >*/
GstGLColorConvertPrivate *priv;
gpointer _reserved[GST_PADDING];
*/
struct _GstGLColorConvertClass
{
- /* <private> */
+ /*< private >*/
GstObjectClass object_class;
gpointer _padding[GST_PADDING];
#define GST_IS_GL_WRAPPED_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GST_TYPE_GL_WRAPPED_CONTEXT))
#define GST_GL_WRAPPED_CONTEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_TYPE_GL_WRAPPED_CONTEXT, GstGLWrappedContextClass))
+/**
+ * gst_gl_context_error_quark:
+ *
+ * Returns: the quark used for #GstGLContext in #GError's
+ */
GQuark
gst_gl_context_error_quark (void)
{
*
* Note: On success, you need to cast the returned function pointer to the
* correct type to be able to call it correctly. On 32-bit Windows, this will
- * include the %GSTGLAPI identifier to use the correct calling convention.
+ * include the `GSTGLAPI` identifier to use the correct calling convention.
* e.g.
*
* |[<!-- language="C" -->
* gst_gl_async_debug_store_log_msg_valist:
* @ad: the #GstGLAsyncDebug to store the message in
* @cat: the #GstDebugCategory to output the message in
- * @level: the #GstLevel
+ * @level: the #GstDebugLevel
* @file: the file where the debug message originates from
* @function: the function where the debug message originates from
* @line: the line in @file where the debug message originates from
* gst_gl_async_debug_store_log_msg:
* @ad: the #GstGLAsyncDebug to store the message in
* @cat: the #GstDebugCategory to output the message in
- * @level: the #GstLevel
+ * @level: the #GstDebugLevel
* @file: the file where the debug message originates from
* @function: the function where the debug message originates from
* @line: the line in @file where the debug message originates from
*/
struct _GstGLAsyncDebug
{
- /* <private> */
+ /*< private >*/
guint state_flags;
GstDebugCategory *cat;
GstDebugLevel level;
GObject *object;
gchar *debug_msg;
- /* <protected> */
+ /*< protected >*/
GstGLAsyncDebugLogGetMessage callback;
gpointer user_data;
GDestroyNotify notify;
* GST_GL_ASYNC_CAT_LEVEL_LOG_valist:
* @ad: the #GstGLAsyncDebug to store the message in
* @cat: the #GstDebugCategory to output the message in
- * @level: the #GstLevel
+ * @level: the #GstDebugLevel
* @object: (allow-none): a #GObject to associate with the debug message
* @format: a printf style format string
* @varargs: the list of arguments for @format
* GST_GL_ASYNC_CAT_LEVEL_LOG:
* @ad: the #GstGLAsyncDebug to store the message in
* @cat: the #GstDebugCategory to output the message in
- * @level: the #GstLevel
+ * @level: the #GstDebugLevel
* @object: (allow-none): a #GObject to associate with the debug message
* @format: a printf style format string
* @...: the list of arguments for @format
*/
struct _GstGLDisplay
{
- /* <private> */
+ /*< private >*/
GstObject object;
GstGLDisplayType type;
- /* <protected> */
+ /*< protected >*/
GList *windows; /* OBJECT lock */
GMainContext *main_context;
GMainLoop *main_loop;
guintptr (*get_handle) (GstGLDisplay * display);
GstGLWindow * (*create_window) (GstGLDisplay * display);
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
* Boston, MA 02110-1301, USA.
*/
+/**
+ * SECTION:gstglfeature
+ * @short_description: OpenGL feature checking
+ * @title: GstGLFeature
+ * @see_also: #GstGLContext
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
/**
* gst_gl_format_type_n_bytes:
- * @format: the OpenGL format, %GL_RGBA, %GL_LUMINANCE, etc
- * @type: the OpenGL type, %GL_UNSIGNED_BYTE, %GL_FLOAT, etc
+ * @format: the OpenGL format, `GL_RGBA`, `GL_LUMINANCE`, etc
+ * @type: the OpenGL type, `GL_UNSIGNED_BYTE`, `GL_FLOAT`, etc
*
* Returns: the number of bytes the specified @format, @type combination takes
* per pixel
/**
* gst_gl_sized_gl_format_from_gl_format_type:
* @context: a #GstGLContext
- * @format: an OpenGL format, %GL_RGBA, %GL_LUMINANCE, etc
- * @type: an OpenGL type, %GL_UNSIGNED_BYTE, %GL_FLOAT, etc
+ * @format: an OpenGL format, `GL_RGBA`, `GL_LUMINANCE`, etc
+ * @type: an OpenGL type, `GL_UNSIGNED_BYTE`, `GL_FLOAT`, etc
*
* Returns: the sized internal format specified by @format and @type that can
* be used in @context
*/
struct _GstGLFramebuffer
{
- /* <private> */
+ /*< private >*/
GstObject object;
GstGLContext *context;
*/
struct _GstGLFramebufferClass
{
- /* <private> */
+ /*< private >*/
GstObjectClass object_class;
gpointer _padding[GST_PADDING];
* @read_pointer: the data pointer to pass to glReadPixels
*
* Reads the texture in #GstGLMemory into @read_pointer if no buffer is bound
- * to %GL_PIXEL_PACK_BUFFER. Otherwise @read_pointer is the byte offset into
- * the currently bound %GL_PIXEL_PACK_BUFFER buffer to store the result of
+ * to `GL_PIXEL_PACK_BUFFER`. Otherwise @read_pointer is the byte offset into
+ * the currently bound `GL_PIXEL_PACK_BUFFER` buffer to store the result of
* glReadPixels. See the OpenGL specification for glReadPixels for more
* details.
*
guint plane;
gfloat tex_scaling[2];
- /* <protected> */
+ /*< protected >*/
gboolean texture_wrapped;
guint unpack_length;
guint tex_width;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
GstGLTextureTarget target;
GstGLFormat tex_format;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
*/
struct _GstGLMemoryAllocator
{
- /* <private> */
+ /*< private >*/
GstGLBaseMemoryAllocator parent;
gpointer _padding[GST_PADDING];
*/
struct _GstGLMemoryAllocatorClass
{
- /* <private> */
+ /*< private >*/
GstGLBaseMemoryAllocatorClass parent_class;
- /* <public> */
+ /*< public >*/
GstGLBaseMemoryAllocatorMapFunction map;
GstGLBaseMemoryAllocatorCopyFunction copy;
GstGLBaseMemoryAllocatorUnmapFunction unmap;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
*/
struct _GstGLMemoryPBO
{
- /* <private> */
+ /*< private >*/
GstGLMemory mem;
GstGLBuffer *pbo;
{
GstGLMemoryAllocator parent;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
{
GstGLMemoryAllocatorClass parent_class;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
*/
struct _GstGLOverlayCompositor
{
- /* <private> */
+ /*< private >*/
GstObject parent;
GstGLContext *context;
{
GstObjectClass object_class;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
*/
struct _GstGLQuery
{
- /* <private> */
+ /*< private >*/
GstGLContext * context;
guint query_type;
guint query_id;
gboolean start_called;
GstGLAsyncDebug debug;
- /* <private> */
gpointer _padding[GST_PADDING];
};
guint width;
guint height;
- /* <protected> */
+ /*< protected >*/
gboolean renderbuffer_wrapped;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
{
GstGLBaseMemoryAllocator parent;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
{
GstGLBaseMemoryAllocatorClass parent_class;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
guint width;
guint height;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
* @name: name of the uniform
* @value: value to set
*
- * Perform glUniform1f() for @name on @shader
+ * Perform `glUniform1f()` for @name on @shader
*/
set_uniform_func_decl(1f, float value)
set_uniform_body(1f, "%f", value);
* @count: number of values to set
* @value: (array length=count): values to set
*
- * Perform glUniform1fv() for @name on @shader
+ * Perform `glUniform1fv()` for @name on @shader
*/
set_uniform_v(1fv, float, 1, "%f", item[0]);
* @name: name of the uniform
* @value: value to set
*
- * Perform glUniform1i() for @name on @shader
+ * Perform `glUniform1i()` for @name on @shader
*/
set_uniform_func_decl(1i, int value)
set_uniform_body(1i, "%i", value);
* @count: number of values to set
* @value: (array length=count): values to set
*
- * Perform glUniform1iv() for @name on @shader
+ * Perform `glUniform1iv()` for @name on @shader
*/
set_uniform_v(1iv, int, 1, "%i", item[0]);
* @v0: first value to set
* @v1: second value to set
*
- * Perform glUniform2f() for @name on @shader
+ * Perform `glUniform2f()` for @name on @shader
*/
set_uniform_func_decl(2f, float v0, float v1)
set_uniform_body(2f, "%f, %f", v0, v1);
* @count: number of values to set
* @value: (array length=count): values to set
*
- * Perform glUniform2fv() for @name on @shader
+ * Perform `glUniform2fv()` for @name on @shader
*/
set_uniform_v(2fv, float, 2, "%f, %f", item[0], item[1]);
* @v0: first value to set
* @v1: second value to set
*
- * Perform glUniform2i() for @name on @shader
+ * Perform `glUniform2i()` for @name on @shader
*/
set_uniform_func_decl(2i, int v0, int v1)
set_uniform_body(2i, "%i, %i", v0, v1);
* @count: number of values to set
* @value: (array length=count): values to set
*
- * Perform glUniform2iv() for @name on @shader
+ * Perform `glUniform2iv()` for @name on @shader
*/
set_uniform_v(2iv, int, 2, "%i, %i", item[0], item[1]);
* @v1: second value to set
* @v2: third value to set
*
- * Perform glUniform3f() for @name on @shader
+ * Perform `glUniform3f()` for @name on @shader
*/
set_uniform_func_decl(3f, float v0, float v1, float v2)
set_uniform_body(3f, "%f, %f, %f", v0, v1, v2);
* @count: number of values to set
* @value: (array length=count): values to set
*
- * Perform glUniform3fv() for @name on @shader
+ * Perform `glUniform3fv()` for @name on @shader
*/
set_uniform_v(3fv, float, 3, "%f, %f, %f", item[0], item[1], item[2]);
* @v1: second value to set
* @v2: third value to set
*
- * Perform glUniform3i() for @name on @shader
+ * Perform `glUniform3i()` for @name on @shader
*/
set_uniform_func_decl(3i, int v0, int v1, int v2)
set_uniform_body(3i, "%i, %i, %i", v0, v1, v2);
* @count: number of values to set
* @value: (array length=count): values to set
*
- * Perform glUniform3iv() for @name on @shader
+ * Perform `glUniform3iv()` for @name on @shader
*/
set_uniform_v(3iv, int, 3, "%i, %i, %i", item[0], item[1], item[2]);
* @v2: third value to set
* @v3: fourth value to set
*
- * Perform glUniform4f() for @name on @shader
+ * Perform `glUniform4f()` for @name on @shader
*/
set_uniform_func_decl(4f, float v0, float v1, float v2, float v3)
set_uniform_body(4f, "%f, %f, %f, %f", v0, v1, v2, v3);
* @count: number of values to set
* @value: (array length=count): values to set
*
- * Perform glUniform4fv() for @name on @shader
+ * Perform `glUniform4fv()` for @name on @shader
*/
set_uniform_v(4fv, float, 4, "%f, %f, %f, %f", item[0], item[1], item[2], item[3]);
* @v2: third value to set
* @v3: fourth value to set
*
- * Perform glUniform4i() for @name on @shader
+ * Perform `glUniform4i()` for @name on @shader
*/
set_uniform_func_decl(4i, int v0, int v1, int v2, int v3)
set_uniform_body(4i, "%i, %i, %i, %i", v0, v1, v2, v3);
* @count: number of values to set
* @value: (array length=count): values to set
*
- * Perform glUniform4iv() for @name on @shader
+ * Perform `glUniform4iv()` for @name on @shader
*/
set_uniform_v(4iv, int, 4, "%i, %i, %i, %i", item[0], item[1], item[2], item[3]);
/* *INDENT-ON* */
* @transpose: transpose the matrix
* @value: matrix to set
*
- * Perform glUniformMatrix2fv() for @name on @shader
+ * Perform `glUniformMatrix2fv()` for @name on @shader
*/
void
gst_gl_shader_set_uniform_matrix_2fv (GstGLShader * shader, const gchar * name,
* @transpose: transpose the matrix
* @value: values to set
*
- * Perform glUniformMatrix3fv() for @name on @shader
+ * Perform `glUniformMatrix3fv()` for @name on @shader
*/
void
gst_gl_shader_set_uniform_matrix_3fv (GstGLShader * shader, const gchar * name,
* @transpose: transpose the matrix
* @value: values to set
*
- * Perform glUniformMatrix4fv() for @name on @shader
+ * Perform `glUniformMatrix4fv()` for @name on @shader
*/
void
gst_gl_shader_set_uniform_matrix_4fv (GstGLShader * shader, const gchar * name,
* @transpose: transpose the matrix
* @value: values to set
*
- * Perform glUniformMatrix2x3fv() for @name on @shader
+ * Perform `glUniformMatrix2x3fv()` for @name on @shader
*/
void
gst_gl_shader_set_uniform_matrix_2x3fv (GstGLShader * shader,
* @transpose: transpose the matrix
* @value: values to set
*
- * Perform glUniformMatrix2x4fv() for @name on @shader
+ * Perform `glUniformMatrix2x4fv()` for @name on @shader
*/
void
gst_gl_shader_set_uniform_matrix_2x4fv (GstGLShader * shader,
* @transpose: transpose the matrix
* @value: values to set
*
- * Perform glUniformMatrix3x2fv() for @name on @shader
+ * Perform `glUniformMatrix3x2fv()` for @name on @shader
*/
void
gst_gl_shader_set_uniform_matrix_3x2fv (GstGLShader * shader,
* @transpose: transpose the matrix
* @value: values to set
*
- * Perform glUniformMatrix3x4fv() for @name on @shader
+ * Perform `glUniformMatrix3x4fv()` for @name on @shader
*/
void
gst_gl_shader_set_uniform_matrix_3x4fv (GstGLShader * shader,
* @transpose: transpose the matrix
* @value: values to set
*
- * Perform glUniformMatrix4x2fv() for @name on @shader
+ * Perform `glUniformMatrix4x2fv()` for @name on @shader
*/
void
gst_gl_shader_set_uniform_matrix_4x2fv (GstGLShader * shader,
* @transpose: transpose the matrix
* @value: values to set
*
- * Perform glUniformMatrix4x3fv() for @name on @shader
+ * Perform `glUniformMatrix4x3fv()` for @name on @shader
*/
void
gst_gl_shader_set_uniform_matrix_4x3fv (GstGLShader * shader,
* @name: name of the attribute
*
* Bind attribute @name to the specified location @index using
- * glBindAttributeLocation().
+ * `glBindAttributeLocation()`.
*/
void
gst_gl_shader_bind_attribute_location (GstGLShader * shader, GLuint index,
* @name: name of the attribute
*
* Bind attribute @name to the specified location @index using
- * glBindFragDataLocation().
+ * `glBindFragDataLocation()`.
*/
void
gst_gl_shader_bind_frag_data_location (GstGLShader * shader,
}
}
+/**
+ * gst_glsl_error_quark:
+ *
+ * Returns: the quark used for GstGLSL in #GError's
+ */
GQuark
gst_glsl_error_quark (void)
{
* @version: a #GstGLSLVersion
* @profile: a #GstGLSLVersion
*
- * Returns: the combined GLSL #version string for @version and @profile
+ * Returns: the combined GLSL `#version` string for @version and @profile
*/
gchar *
gst_glsl_version_profile_to_string (GstGLSLVersion version,
/**
* gst_glsl_version_profile_from_string:
- * @string: a valid GLSL #version string
+ * @string: a valid GLSL `#version` string
* @version_ret: (out): resulting #GstGLSLVersion
* @profile_ret: (out): resulting #GstGLSLVersion
*
- * Note: this function expects either a #version GLSL preprocesser directive
+ * Note: this function expects either a `#version` GLSL preprocesser directive
* or a valid GLSL version and/or profile.
*
- * Returns: TRUE if a valid #version string was found, FALSE otherwise
+ * Returns: TRUE if a valid `#version` string was found, FALSE otherwise
*/
gboolean
gst_glsl_version_profile_from_string (const gchar * string,
/**
* gst_glsl_string_get_version_profile:
- * @s: string to search for a valid #version string
+ * @s: string to search for a valid `#version` string
* @version: (out): resulting #GstGLSLVersion
* @profile: (out): resulting #GstGLSLProfile
*
- * Note: this function first searches the first 1 kilobytes for a #version
+ * Note: this function first searches the first 1 kilobytes for a `#version`
* preprocessor directive and then executes gst_glsl_version_profile_from_string().
*
- * Returns: TRUE if a valid #version string was found, FALSE otherwise
+ * Returns: TRUE if a valid `#version` string was found, FALSE otherwise
*/
gboolean
gst_glsl_string_get_version_profile (const gchar * s, GstGLSLVersion * version,
*/
struct _GstGLSLStageClass
{
- /* <private> */
+ /*< private >*/
GstObjectClass parent;
gpointer _padding[GST_PADDING];
GST_GL_UPLOAD_ERROR = -1,
GST_GL_UPLOAD_UNSUPPORTED = -2,
GST_GL_UPLOAD_RECONFIGURE = -3,
- /* <private> */
+ /*< private >*/
GST_GL_UPLOAD_UNSHARED_GL_CONTEXT = -100,
} GstGLUploadReturn;
GstGLContext *context;
- /* <private> */
+ /*< private >*/
GstGLUploadPrivate *priv;
gpointer _reserved[GST_PADDING];
{
GstObjectClass object_class;
- /* <private> */
+ /*< private >*/
gpointer _padding[GST_PADDING];
};
GstGLFramebuffer *fbo;
- /* <private> */
+ /*< private >*/
GstGLViewConvertPrivate *priv;
gpointer _padding[GST_PADDING];
*/
struct _GstGLViewConvertClass
{
- /* <private> */
+ /*< private >*/
GstObjectClass object_class;
gpointer _padding[GST_PADDING];
static guint gst_gl_window_signals[LAST_SIGNAL] = { 0 };
+/**
+ * gst_gl_window_error_quark:
+ *
+ * Returns: the quark used for #GstGLWindow in #GError's
+ */
GQuark
gst_gl_window_error_quark (void)
{
{
GstGLDisplay parent;
- /* <private> */
+ /*< private >*/
gint disp_idx;
EGLNativeDisplayType display;
};
/*< private >*/
GstGLWindow parent;
- /* <private> */
EGLNativeWindowType win_id;
gboolean external_window;
gint window_width, window_height;
/*< private >*/
GstGLWindowClass parent_class;
- /*< private >*/
gpointer _reserved[GST_PADDING];
};
* Boston, MA 02110-1301, USA.
*/
+/**
+ * SECTION:gstgldisplay_wayland
+ * @short_description: Wayland display connection
+ * @title: GstGLDisplayWayland
+ * @see_also: #GstGLDisplay
+ *
+ * #GstGLDisplayWayland represents a connection to a Wayland `wl_display` handle
+ * created internally (gst_gl_display_wayland_new()) or wrapped by the application
+ * (gst_gl_display_wayland_new_with_display())
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
* gst_gl_display_wayland_new:
* @name: (allow-none): a display name
*
- * Create a new #GstGLDisplayWayland from the wayland display name. See wl_display_connect()
+ * Create a new #GstGLDisplayWayland from the wayland display name. See `wl_display_connect`()
* for details on what is a valid name.
*
* Returns: (transfer full): a new #GstGLDisplayWayland or %NULL
/* Basic shell, see private struct for others (e.g. XDG-shell) */
struct wl_shell *shell;
- /* <private> */
+ /*< private >*/
gboolean foreign_display;
gpointer _padding[GST_PADDING];
* Boston, MA 02110-1301, USA.
*/
+/**
+ * SECTION:gstgldisplay_x11
+ * @short_description: X11 Display connection
+ * @title: GstGLDisplayX11
+ * @see_also: #GstGLDisplay
+ *
+ * #GstGLDisplayX11 represents a connection to an X11 `Display` handle created
+ * internally (gst_gl_display_x11_new()) or wrapped by the application
+ * (gst_gl_display_x11_new_with_display())
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
* gst_gl_display_x11_new:
* @name: (allow-none): a display name
*
- * Create a new #GstGLDisplayX11 from the x11 display name. See XOpenDisplay()
+ * Create a new #GstGLDisplayX11 from the x11 display name. See `XOpenDisplay`()
* for details on what is a valid name.
*
* Returns: (transfer full): a new #GstGLDisplayX11 or %NULL