gstgl.glmemory
Module for [GLMemory] class
class GLMemory
Types 1
classGLMemory : gobject.boxed.Boxed
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
gstgl.glbase_memory.GLBaseMemory mem() @propertyGet `mem` field. Returns: the parent #GstGLBaseMemory objectvoid texId(uint propval) @propertySet `texId` field. Params: propval = the GL texture id for this memorygstgl.types.GLTextureTarget texTarget() @propertyGet `texTarget` field. Returns: the GL texture target for this memoryvoid texTarget(gstgl.types.GLTextureTarget propval) @propertySet `texTarget` field. Params: propval = the GL texture target for this memoryvoid texFormat(gstgl.types.GLFormat propval) @propertySet `texFormat` field. Params: propval = the texture typegstvideo.video_info.VideoInfo info() @propertyGet `info` field. Returns: the texture's #GstVideoInfogstvideo.video_alignment.VideoAlignment valign() @propertyGet `valign` field. Returns: data alignment for system memory mappingvoid valign(gstvideo.video_alignment.VideoAlignment propval) @propertySet `valign` field. Params: propval = data alignment for system memory mappingbool textureWrapped() @propertyvoid textureWrapped(bool propval) @propertyuint unpackLength() @propertyvoid unpackLength(uint propval) @propertyuint texWidth() @propertyvoid texWidth(uint propval) @propertybool copyInto(uint texId, gstgl.types.GLTextureTarget target, gstgl.types.GLFormat texFormat, int width, int height)Copies glmem into the texture specified by texid. The format of texid is specified by texformat, 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 texid, outtarget, outtexformat, outwidth and outheight.int getTextureHeight()uint getTextureId()int getTextureWidth()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.videoinfo.VideoInfo.align].bool readPixels(void * writePointer = null)Reads the texture in #GstGLMemory into writepointer if no buffer is bound to `GLPIXELPACKBUFFER`. Otherwise writepointer is the byte offset into the currently bound `GLPIXELPACKBUFFER` buffer to s...void texsubimage(void * readPointer = null)Reads the texture in readpointer into glmem.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...