HardwareBufferJniWrapper


@RequiresApi(value = 26)
@ExperimentalApi
interface HardwareBufferJniWrapper : HardwareBufferNativeHelpers


Wrapper for HardwareBuffer JNI methods.

Summary

Public functions

Boolean
nativeBindEGLImage(target: Int, eglImageHandle: Long)

Binds an EGLImage to the specified texture target.

Boolean

Copies a Bitmap to a HardwareBuffer.

Boolean

Copies the contents of a source HardwareBuffer to a destination HardwareBuffer.

Long
nativeCreateEglImageFromHardwareBuffer(
    displayHandle: Long,
    hardwareBuffer: HardwareBuffer
)

Creates an EGLImage from a HardwareBuffer.

Boolean
nativeDestroyEGLImage(displayHandle: Long, imageHandle: Long)

Destroys an EGLImage.

Public functions

nativeBindEGLImage

fun nativeBindEGLImage(target: Int, eglImageHandle: Long): Boolean

Binds an EGLImage to the specified texture target. Returns whether the binding is successful.

nativeCopyBitmapToHardwareBuffer

fun nativeCopyBitmapToHardwareBuffer(bitmap: Bitmap, hb: HardwareBuffer): Boolean

Copies a Bitmap to a HardwareBuffer. Returns whether the copy is successful.

The destination HardwareBuffer must have HardwareBuffer.USAGE_CPU_WRITE_OFTEN usage.

The source Bitmap.Config must match the destination HardwareBuffer.getFormat, and be either Bitmap.Config.ARGB_8888 and HardwareBuffer.RGBA_8888 or Bitmap.Config.RGBA_1010102 and HardwareBuffer.RGBA_1010102.

nativeCopyHardwareBufferToHardwareBuffer

fun nativeCopyHardwareBufferToHardwareBuffer(
    srcHb: HardwareBuffer,
    dstHb: HardwareBuffer
): Boolean

Copies the contents of a source HardwareBuffer to a destination HardwareBuffer. Returns whether the copy is successful.

The source HardwareBuffer must have HardwareBuffer.USAGE_CPU_READ_OFTEN usage, and the destination HardwareBuffer must have HardwareBuffer.USAGE_CPU_WRITE_OFTEN usage.

The formats of the source and destination buffers must match, and be either HardwareBuffer.RGBA_8888 or HardwareBuffer.RGBA_1010102.

nativeCreateEglImageFromHardwareBuffer

fun nativeCreateEglImageFromHardwareBuffer(
    displayHandle: Long,
    hardwareBuffer: HardwareBuffer
): Long

Creates an EGLImage from a HardwareBuffer.

nativeDestroyEGLImage

fun nativeDestroyEGLImage(displayHandle: Long, imageHandle: Long): Boolean

Destroys an EGLImage. Returns whether the deletion is successful.