I want to do camera image processing on the GPU on android.
In my current set-up I use a SurfaceTexture to capture frames from the camera image stream as an OpenGL ES te
If I understand correctly, you already use SurfaceTexture
. You can then register a callback with setOnFrameAvailableListener.
I see two solutions :
Implements you own RSTextureView
, which inherits from SurfaceTexture.OnFrameAvailableListener. Register your view as the SurfaceTexture
callback.
Every time your surface view is updated by the camera stream, your RSTextureView
will be notified and you can handle it the way you want.
Another solution would be to implement your own RenderScriptGL
(still inheriting from SurfaceTexture.OnFrameAvailableListener
) and call setSurfaceTexture when the callback is called.
You should be able to combine RenderScript
with a SurfaceTexture
with at least one of these two solutions.