Class SurfaceTextureWrapper
java.lang.Object
io.flutter.embedding.engine.renderer.SurfaceTextureWrapper
A wrapper for a SurfaceTexture that tracks whether the texture has been released.
The engine calls SurfaceTexture.release
on the platform thread, but
updateTexImage
is called on the raster thread. This wrapper will prevent updateTexImage
calls on an abandoned texture.
-
Constructor Summary
ConstructorDescriptionSurfaceTextureWrapper
(SurfaceTexture surfaceTexture) SurfaceTextureWrapper
(SurfaceTexture surfaceTexture, Runnable onFrameConsumed) A wrapper for a SurfaceTexture. -
Method Summary
Modifier and TypeMethodDescriptionvoid
attachToGLContext
(int texName) void
void
getTransformMatrix
(float[] mtx) void
void
release()
boolean
void
-
Constructor Details
-
SurfaceTextureWrapper
-
SurfaceTextureWrapper
public SurfaceTextureWrapper(@NonNull SurfaceTexture surfaceTexture, @Nullable Runnable onFrameConsumed) A wrapper for a SurfaceTexture.The provided
onFrameConsumed
callback must be invoked when the most recent image was consumed.- Parameters:
onFrameConsumed
- The callback after theupdateTexImage
is called.
-
-
Method Details
-
surfaceTexture
-
markDirty
public void markDirty() -
shouldUpdate
public boolean shouldUpdate() -
updateTexImage
public void updateTexImage() -
release
public void release() -
attachToGLContext
public void attachToGLContext(int texName) -
detachFromGLContext
public void detachFromGLContext() -
getTransformMatrix
public void getTransformMatrix(@NonNull float[] mtx)
-