| Top |  |  |  |  | 
| void | gst_gl_video_allocation_params_copy_data () | 
| void | gst_gl_video_allocation_params_free_data () | 
| gboolean | gst_gl_video_allocation_params_init_full () | 
| GstGLVideoAllocationParams * | gst_gl_video_allocation_params_new () | 
| GstGLVideoAllocationParams * | gst_gl_video_allocation_params_new_wrapped_data () | 
| GstGLVideoAllocationParams * | gst_gl_video_allocation_params_new_wrapped_texture () | 
| GstGLMemoryAllocator * | gst_gl_memory_allocator_get_default () | 
| void | gst_gl_memory_init_once () | 
| void | gst_gl_memory_init () | 
| gboolean | gst_is_gl_memory () | 
| gboolean | gst_gl_memory_copy_into () | 
| gboolean | gst_gl_memory_copy_teximage () | 
| gboolean | gst_gl_memory_read_pixels () | 
| void | gst_gl_memory_texsubimage () | 
| gint | gst_gl_memory_get_texture_height () | 
| guint | gst_gl_memory_get_texture_id () | 
| GstGLTextureTarget | gst_gl_memory_get_texture_target () | 
| GstVideoGLTextureType | gst_gl_memory_get_texture_type () | 
| gint | gst_gl_memory_get_texture_width () | 
| gboolean | gst_gl_memory_setup_buffer () | 
    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstAllocator
                ╰── GstGLBaseMemoryAllocator
                    ╰── GstGLMemoryAllocator
                        ╰── GstGLMemoryPBOAllocator
GstGLMemory is a GstGLBaseMemory subclass providing support for the mapping of OpenGL textures.
GstGLMemory is created or wrapped through gst_gl_base_memory_alloc()
with GstGLVideoAllocationParams.
Data is uploaded or downloaded from the GPU as is necessary.
void gst_gl_video_allocation_params_copy_data (GstGLVideoAllocationParams *src_vid,GstGLVideoAllocationParams *dest_vid);
Copy and set any dynamically allocated resources in dest_vid
.  Intended
for subclass usage only to chain up at the end of a subclass copy function.
| src_vid | source GstGLVideoAllocationParams to copy from | |
| dest_vid | destination GstGLVideoAllocationParams to copy into | 
Since: 1.8
void
gst_gl_video_allocation_params_free_data
                               (GstGLVideoAllocationParams *params);
Unset and free any dynamically allocated resources. Intended for subclass usage only to chain up at the end of a subclass free function.
Since: 1.8
gboolean gst_gl_video_allocation_params_init_full (GstGLVideoAllocationParams *params,gsize struct_size,guint alloc_flags,GstGLAllocationParamsCopyFunc copy,GstGLAllocationParamsFreeFunc free,GstGLContext *context,GstAllocationParams *alloc_params,GstVideoInfo *v_info,guint plane,GstVideoAlignment *valign,GstGLTextureTarget target,gpointer wrapped_data,guint gl_handle,gpointer user_data,GDestroyNotify notify);
Intended for subclass usage
| params | a GstGLVideoAllocationParams to initialize | |
| struct_size | the size of the struct in  | |
| alloc_flags | some allocation flags | |
| copy | a copy function | |
| free | a free function | |
| context | ||
| alloc_params |  the GstAllocationParams for  | [allow-none] | 
| v_info | the GstVideoInfo for  | |
| plane | the video plane  | |
| valign |  any GstVideoAlignment applied to symem mappings of  | [allow-none] | 
| target | ||
| wrapped_data | the optional data pointer to wrap. | [allow-none] | 
| gl_handle | the optional OpenGL handle to wrap or 0 | |
| user_data |  user data to call  | [allow-none] | 
| notify | a GDestroyNotify. | [allow-none] | 
Since: 1.8
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new (GstGLContext *context,GstAllocationParams *alloc_params,GstVideoInfo *v_info,guint plane,GstVideoAlignment *valign,GstGLTextureTarget target);
| context | ||
| alloc_params |  the GstAllocationParams for  | [allow-none] | 
| v_info | the GstVideoInfo for  | |
| plane | the video plane  | |
| valign |  any GstVideoAlignment applied to symem mappings of  | [allow-none] | 
| target | the GstGLTextureTarget for  | 
Since: 1.8
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_data (GstGLContext *context,GstAllocationParams *alloc_params,GstVideoInfo *v_info,guint plane,GstVideoAlignment *valign,GstGLTextureTarget target,gpointer wrapped_data,gpointer user_data,GDestroyNotify notify);
| context | ||
| alloc_params |  the GstAllocationParams for  | [allow-none] | 
| v_info | the GstVideoInfo for  | |
| plane | the video plane  | |
| valign |  any GstVideoAlignment applied to symem mappings of  | [allow-none] | 
| target | the GstGLTextureTarget for  | |
| wrapped_data | the data pointer to wrap | |
| user_data |  user data to call  | [allow-none] | 
| notify | a GDestroyNotify. | [allow-none] | 
Since: 1.8
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_texture (GstGLContext *context,GstAllocationParams *alloc_params,GstVideoInfo *v_info,guint plane,GstVideoAlignment *valign,GstGLTextureTarget target,guint tex_id,gpointer user_data,GDestroyNotify notify);
| context | ||
| alloc_params |  the GstAllocationParams for  | [allow-none] | 
| v_info | the GstVideoInfo for  | |
| plane | the video plane  | |
| valign |  any GstVideoAlignment applied to symem mappings of  | [allow-none] | 
| target | the GstGLTextureTarget for  | |
| tex_id | the GL texture to wrap | |
| user_data |  user data to call  | [allow-none] | 
| notify | a GDestroyNotify. | [allow-none] | 
Since: 1.8
GstGLMemoryAllocator *
gst_gl_memory_allocator_get_default (GstGLContext *context);
Since: 1.8
void
gst_gl_memory_init_once (void);
Initializes the GL Base Texture allocator. It is safe to call this function multiple times. This must be called before any other GstGLMemory operation.
Since: 1.4
void gst_gl_memory_init (GstGLMemory *mem,GstAllocator *allocator,GstMemory *parent,GstGLContext *context,GstGLTextureTarget target,GstAllocationParams *params,GstVideoInfo *info,guint plane,GstVideoAlignment *valign,gpointer user_data,GDestroyNotify notify);
Initializes mem
 with the required parameters.  info
 is assumed to have
already have been modified with gst_video_info_align().
| mem | the GstGLBaseMemory to initialize | |
| allocator | the GstAllocator to initialize with | |
| parent | the parent GstMemory to initialize with. | [allow-none] | 
| context | the GstGLContext to initialize with | |
| target | the GstGLTextureTarget for this GstGLMemory | |
| params |  the  | [allow-none] | 
| info | the GstVideoInfo for this GstGLMemory | |
| plane | the plane number (starting from 0) for this GstGLMemory | |
| valign | optional GstVideoAlignment parameters. | [allow-none] | 
| notify | a GDestroyNotify. | [allow-none] | 
| user_data |  user data to call  | [allow-none] | 
Since: 1.8
gboolean gst_gl_memory_copy_into (GstGLMemory *gl_mem,guint tex_id,GstGLTextureTarget target,GstVideoGLTextureType tex_type,gint width,gint height);
Copies gl_mem
 into the texture specfified by tex_id
.  The format of tex_id
is specified by tex_type
, width
 and height
.
| gl_mem | ||
| tex_id | OpenGL texture id | |
| target | ||
| tex_type | the GstVideoGLTextureType | |
| width | width of  | |
| height | height of  | 
Since: 1.8
gboolean gst_gl_memory_copy_teximage (GstGLMemory *src,guint tex_id,GstGLTextureTarget out_target,GstVideoGLTextureType out_tex_type,gint width,gint height);
gboolean gst_gl_memory_read_pixels (GstGLMemory *gl_mem,gpointer read_pointer);
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
glReadPixels.  See the OpenGL specification for glReadPixels for more
details.
Since: 1.8
void gst_gl_memory_texsubimage (GstGLMemory *gl_mem,gpointer read_pointer);
See gst_gl_memory_read_pixels() for what read_pointer
 signifies.
Since: 1.8
gint
gst_gl_memory_get_texture_height (GstGLMemory *gl_mem);
Since: 1.8
guint
gst_gl_memory_get_texture_id (GstGLMemory *gl_mem);
Since: 1.8
GstGLTextureTarget
gst_gl_memory_get_texture_target (GstGLMemory *gl_mem);
Since: 1.8
GstVideoGLTextureType
gst_gl_memory_get_texture_type (GstGLMemory *gl_mem);
Since: 1.8
gint
gst_gl_memory_get_texture_width (GstGLMemory *gl_mem);
Since: 1.8
gboolean gst_gl_memory_setup_buffer (GstGLMemoryAllocator *allocator,GstBuffer *buffer,GstGLVideoAllocationParams *params);
| allocator | the  | |
| buffer | a GstBuffer to setup | |
| params | the GstGLVideoAllocationParams to allocate with | 
Since: 1.8
struct GstGLVideoAllocationParams {
  GstGLAllocationParams  parent;
  GstVideoInfo          *v_info;
  guint                  plane;
  GstVideoAlignment     *valign;
  GstGLTextureTarget     target;
};
#define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO (1 << 3)
typedef struct _GstGLMemoryAllocator GstGLMemoryAllocator;
Opaque GstGLMemoryAllocator struct
typedef struct {
  GstGLBaseMemoryAllocatorClass             parent_class;
  GstGLBaseMemoryAllocatorMapFunction       map;
  GstGLBaseMemoryAllocatorCopyFunction      copy;
  GstGLBaseMemoryAllocatorUnmapFunction     unmap;
} GstGLMemoryAllocatorClass;
The GstGLMemoryAllocatorClass only contains private data
typedef struct {
  GstGLBaseMemory           mem;
  guint                     tex_id;
  GstGLTextureTarget        tex_target;
  GstVideoGLTextureType     tex_type;
  GstVideoInfo              info;
  GstVideoAlignment         valign;
  guint                     plane;
  gfloat                    tex_scaling[2];
} GstGLMemory;
Represents information about a GL texture
| GstGLBaseMemory  | the parent object | |
| the GL texture id for this memory | ||
| GstGLTextureTarget  | the GL texture target for this memory | |
| the texture type | ||
| GstVideoInfo  | the texture's GstVideoInfo | |
| GstVideoAlignment  | data alignment for system memory mapping | |
| data plane in  | ||
| GL shader scaling parameters for  |