GLMemory

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 GST_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}'.

Members

Functions

copyInto
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.

copyTeximage
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.

getTextureFormat
gstgl.types.GLFormat getTextureFormat()
getTextureHeight
int getTextureHeight()
getTextureId
uint getTextureId()
getTextureTarget
gstgl.types.GLTextureTarget getTextureTarget()
getTextureWidth
int getTextureWidth()
init_
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, glib.types.DestroyNotify notify)

Initializes mem with the required parameters. info is assumed to have already have been modified with gstvideo.video_info.VideoInfo.align_.

readPixels
bool readPixels(void* writePointer)

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 buffer to store the result of glReadPixels. See the OpenGL specification for glReadPixels for more details.

texsubimage
void texsubimage(void* readPointer)

Reads the texture in read_pointer into gl_mem.

Static functions

initOnce
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.

Inherited Members

From Boxed

cInstancePtr
void* cInstancePtr;

Pointer to the C boxed value

getType
GType getType()

Get the GType of this boxed type.

gType
GType gType [@property getter]

Boxed GType property.

self
Boxed self()

Convenience method to return this cast to a type. For use in D with statements.

copy_
void* copy_()

Make a copy of the wrapped C boxed data.

boxedCopy
void* boxedCopy(void* cBoxed)

Copy a C boxed value using g_boxed_copy.

boxedFree
void boxedFree(void* cBoxed)

Free a C boxed value using g_boxed_free.