Class VideoGLTextureUploadMeta

java.lang.Object
org.javagi.base.ProxyInstance
org.freedesktop.gstreamer.video.VideoGLTextureUploadMeta
All Implemented Interfaces:
Proxy

@Generated("org.javagi.JavaGI") public class VideoGLTextureUploadMeta extends ProxyInstance
Extra buffer metadata for uploading a buffer to an OpenGL texture ID. The caller of gst_video_gl_texture_upload_meta_upload() must have OpenGL set up and call this from a thread where it is valid to upload something to an OpenGL texture.
  • Constructor Details

    • VideoGLTextureUploadMeta

      public VideoGLTextureUploadMeta(MemorySegment address)
      Create a VideoGLTextureUploadMeta proxy instance for the provided memory address.
      Parameters:
      address - the memory address of the native object
    • VideoGLTextureUploadMeta

      public VideoGLTextureUploadMeta(Arena arena)
      Allocate a new VideoGLTextureUploadMeta.
      Parameters:
      arena - to control the memory allocation scope
    • VideoGLTextureUploadMeta

      public VideoGLTextureUploadMeta()
      Allocate a new VideoGLTextureUploadMeta. The memory is allocated with Arena.ofAuto().
    • VideoGLTextureUploadMeta

      public VideoGLTextureUploadMeta(Meta meta, VideoGLTextureOrientation textureOrientation, int nTextures, VideoGLTextureType[] textureType, Buffer buffer, VideoGLTextureUpload upload, MemorySegment userData, BoxedCopyFunc userDataCopy, BoxedFreeFunc userDataFree, Arena arena)
      Allocate a new VideoGLTextureUploadMeta with the fields set to the provided values.
      Parameters:
      meta - value for the field meta
      textureOrientation - value for the field textureOrientation
      nTextures - value for the field nTextures
      textureType - value for the field textureType
      buffer - value for the field buffer
      upload - value for the field upload
      userData - value for the field userData
      userDataCopy - value for the field userDataCopy
      userDataFree - value for the field userDataFree
      arena - to control the memory allocation scope
    • VideoGLTextureUploadMeta

      public VideoGLTextureUploadMeta(Meta meta, VideoGLTextureOrientation textureOrientation, int nTextures, VideoGLTextureType[] textureType, Buffer buffer, VideoGLTextureUpload upload, MemorySegment userData, BoxedCopyFunc userDataCopy, BoxedFreeFunc userDataFree)
      Allocate a new VideoGLTextureUploadMeta with the fields set to the provided values. The memory is allocated with Arena.ofAuto().
      Parameters:
      meta - value for the field meta
      textureOrientation - value for the field textureOrientation
      nTextures - value for the field nTextures
      textureType - value for the field textureType
      buffer - value for the field buffer
      upload - value for the field upload
      userData - value for the field userData
      userDataCopy - value for the field userDataCopy
      userDataFree - value for the field userDataFree
  • Method Details

    • getMemoryLayout

      public static MemoryLayout getMemoryLayout()
      The memory layout of the native struct.
      Returns:
      the memory layout
    • readMeta

      public @Nullable Meta readMeta()
      Read the value of the field meta.
      Returns:
      The value of the field meta
    • writeMeta

      public void writeMeta(@Nullable Meta meta)
      Write a value in the field meta.
      Parameters:
      meta - The new value for the field meta
    • readTextureOrientation

      public VideoGLTextureOrientation readTextureOrientation()
      Read the value of the field texture_orientation.
      Returns:
      The value of the field texture_orientation
    • writeTextureOrientation

      public void writeTextureOrientation(VideoGLTextureOrientation textureOrientation)
      Write a value in the field texture_orientation.
      Parameters:
      textureOrientation - The new value for the field texture_orientation
    • readNTextures

      public int readNTextures()
      Read the value of the field n_textures.
      Returns:
      The value of the field n_textures
    • writeNTextures

      public void writeNTextures(int nTextures)
      Write a value in the field n_textures.
      Parameters:
      nTextures - The new value for the field n_textures
    • readTextureType

      public @Nullable VideoGLTextureType @Nullable [] readTextureType()
      Read the value of the field texture_type.
      Returns:
      The value of the field texture_type
    • writeTextureType

      public void writeTextureType(@Nullable VideoGLTextureType @Nullable [] textureType, Arena _arena)
      Write a value in the field texture_type.
      Parameters:
      textureType - The new value for the field texture_type
    • readBuffer

      public Buffer readBuffer()
      Read the value of the field buffer.
      Returns:
      The value of the field buffer
    • writeBuffer

      public void writeBuffer(Buffer buffer)
      Write a value in the field buffer.
      Parameters:
      buffer - The new value for the field buffer
    • readUpload

      public @Nullable VideoGLTextureUpload readUpload()
      Read the value of the field upload.
      Returns:
      The value of the field upload
    • writeUpload

      public void writeUpload(@Nullable VideoGLTextureUpload upload, Arena _arena)
      Write a value in the field upload.
      Parameters:
      upload - The new value for the field upload
      _arena - to control the memory allocation scope
    • readUserData

      public MemorySegment readUserData()
      Read the value of the field user_data.
      Returns:
      The value of the field user_data
    • writeUserData

      public void writeUserData(MemorySegment userData)
      Write a value in the field user_data.
      Parameters:
      userData - The new value for the field user_data
    • readUserDataCopy

      public @Nullable BoxedCopyFunc readUserDataCopy()
      Read the value of the field user_data_copy.
      Returns:
      The value of the field user_data_copy
    • writeUserDataCopy

      public void writeUserDataCopy(@Nullable BoxedCopyFunc userDataCopy, Arena _arena)
      Write a value in the field user_data_copy.
      Parameters:
      userDataCopy - The new value for the field user_data_copy
      _arena - to control the memory allocation scope
    • readUserDataFree

      public @Nullable BoxedFreeFunc readUserDataFree()
      Read the value of the field user_data_free.
      Returns:
      The value of the field user_data_free
    • writeUserDataFree

      public void writeUserDataFree(@Nullable BoxedFreeFunc userDataFree, Arena _arena)
      Write a value in the field user_data_free.
      Parameters:
      userDataFree - The new value for the field user_data_free
      _arena - to control the memory allocation scope
    • getInfo

      public static MetaInfo getInfo()
    • upload

      public boolean upload(MemorySegment textureId)
      Uploads the buffer which owns the meta to a specific texture ID.
      Parameters:
      textureId - the texture IDs to upload to
      Returns:
      true if uploading succeeded, false otherwise.