EGLImageKHR gst_egl_image_get_image (GstEGLImage * image) { g_return_val_if_fail (GST_IS_EGL_IMAGE (image), EGL_NO_IMAGE_KHR); return image->image; }
static GstGLMemoryEGL * _gl_mem_egl_alloc (GstGLBaseMemoryAllocator * allocator, GstGLVideoAllocationParams * params) { guint alloc_flags = params->parent.alloc_flags; GstGLMemoryEGL *mem; g_return_val_if_fail (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO, NULL); g_return_val_if_fail ((alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM) == 0, NULL); if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) { g_return_val_if_fail (GST_IS_EGL_IMAGE (params->parent.gl_handle), NULL); } mem = g_new0 (GstGLMemoryEGL, 1); if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) { if (params->target != GST_GL_TEXTURE_TARGET_2D) { g_free (mem); GST_CAT_ERROR (GST_CAT_GL_MEMORY, "GstGLMemoryEGL only supports wrapping " "2D textures"); return NULL; } mem->image = gst_egl_image_ref (params->parent.gl_handle); } gst_gl_memory_init (GST_GL_MEMORY_CAST (mem), GST_ALLOCATOR_CAST (allocator), NULL, params->parent.context, params->target, params->tex_type, params->parent.alloc_params, params->v_info, params->plane, params->valign, params->parent.user_data, params->parent.notify); return mem; }
GstVideoGLTextureOrientation gst_egl_image_get_orientation (GstEGLImage * image) { g_return_val_if_fail (GST_IS_EGL_IMAGE (image), GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL); return image->orientation; }