gstgl.glmemory

Module for GLMemory class

class GLMemory

Types 1

GstGLMemory is a #GstGLBaseMemory subclass providing support for the mapping of OpenGL textures.

#GstGLMemory is created or wrapped through gstgl.glbase_memory.GLBaseMemory.alloc with #GstGLVideoAllocationParams.

Data is uploaded or downloaded from the GPU as is necessary.

The #GstCaps that is used for #GstGLMemory based buffers should contain the gstgl.types.CAPS_FEATURE_MEMORY_GL_MEMORY as a #GstCapsFeatures and should contain a 'texture-target' field with one of the #GstGLTextureTarget values as a string, i.e. some combination of 'texture-target=(string){2D, rectangle, external-oes}'.

Methods
void * _cPtr(Flag!"Dup" dup = No.Dup)
GType _gType() @property
GLMemory self()Returns `this`, for use in `with` statements.
gstgl.glbase_memory.GLBaseMemory mem() @propertyGet `mem` field. Returns: the parent #GstGLBaseMemory object
uint texId() @propertyGet `texId` field. Returns: the GL texture id for this memory
void texId(uint propval) @propertySet `texId` field. Params: propval = the GL texture id for this memory
gstgl.types.GLTextureTarget texTarget() @propertyGet `texTarget` field. Returns: the GL texture target for this memory
void texTarget(gstgl.types.GLTextureTarget propval) @propertySet `texTarget` field. Params: propval = the GL texture target for this memory
gstgl.types.GLFormat texFormat() @propertyGet `texFormat` field. Returns: the texture type
void texFormat(gstgl.types.GLFormat propval) @propertySet `texFormat` field. Params: propval = the texture type
gstvideo.video_info.VideoInfo info() @propertyGet `info` field. Returns: the texture's #GstVideoInfo
gstvideo.video_alignment.VideoAlignment valign() @propertyGet `valign` field. Returns: data alignment for system memory mapping
void valign(gstvideo.video_alignment.VideoAlignment propval) @propertySet `valign` field. Params: propval = data alignment for system memory mapping
uint plane() @propertyGet `plane` field. Returns: data plane in @info
void plane(uint propval) @propertySet `plane` field. Params: propval = data plane in @info
bool textureWrapped() @property
void textureWrapped(bool propval) @property
uint unpackLength() @property
void unpackLength(uint propval) @property
uint texWidth() @property
void texWidth(uint propval) @property
bool copyInto(uint texId, gstgl.types.GLTextureTarget target, gstgl.types.GLFormat texFormat, int width, int height)Copies gl_mem into the texture specified by tex_id. The format of tex_id is specified by tex_format, width and height.
bool copyTeximage(uint texId, gstgl.types.GLTextureTarget outTarget, gstgl.types.GLFormat outTexFormat, int outWidth, int outHeight)Copies the texture in #GstGLMemory into the texture specified by tex_id, out_target, out_tex_format, out_width and out_height.
void init_(gst.allocator.Allocator allocator, gst.memory.Memory parent, gstgl.glcontext.GLContext context, gstgl.types.GLTextureTarget target, gstgl.types.GLFormat texFormat, gst.allocation_params.AllocationParams params, gstvideo.video_info.VideoInfo info, uint plane, gstvideo.video_alignment.VideoAlignment valign, void * userData = null, glib.types.DestroyNotify notify = null)Initializes mem with the required parameters. info is assumed to have already have been modified with [gstvideo.video_info.VideoInfo.align_].
bool readPixels(void * writePointer = null)Reads the texture in #GstGLMemory into write_pointer if no buffer is bound to `GL_PIXEL_PACK_BUFFER`. Otherwise write_pointer is the byte offset into the currently bound `GL_PIXEL_PACK_BUFFER` buf...
void texsubimage(void * readPointer = null)Reads the texture in read_pointer into gl_mem.
void initOnce()Initializes the GL Base Texture allocator. It is safe to call this function multiple times. This must be called before any other GstGLMemory operation.
Constructors
this(uint texId = uint.init, gstgl.types.GLTextureTarget texTarget = gstgl.types.GLTextureTarget.init, gstgl.types.GLFormat texFormat = gstgl.types.GLFormat.init, gstvideo.video_alignment.VideoAlignment valign = gstvideo.video_alignment.VideoAlignment.init, uint plane = uint.init, bool textureWrapped = bool.init, uint unpackLength = uint.init, uint texWidth = uint.init)Create a `glmemory.GLMemory` boxed type. Params: texId = the GL texture id for this memory texTarget = the GL texture target for this memory texFormat = the texture type valign = data alignment for...
this(void * ptr, Flag!"Take" take)