My app closes with error Method called after release in Renderer class. I searched but with no luck...I tried some solutions which helped others(like camera.setPreviewCallback(null); ) but nothing...I have this problem only on Samsung Note 10.1 with OS 4.4.2. On other devices it works without error.
This is where error occured in ImageRenderer class: (in line camera.setPreviewTexture(mSurfaceTexture);)
public void setUpSurfaceTexture(final Camera camera, final GLSurfaceView surfaceView) {
runOnDraw(new Runnable() {
@Override
public void run() {
int[] textures = new int[1];
GLES20.glGenTextures(1, textures, 0);
mSurfaceTexture = new SurfaceTexture(textures[0]);
try {
camera.setPreviewTexture(mSurfaceTexture);
camera.setPreviewCallback(GPUImageRenderer.this);
camera.startPreview();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
What can cause this error? And how it can work on all devices I tried except this one?
Error log:
01-08 14:52:27.791: E/AndroidRuntime(22887): FATAL EXCEPTION: GLThread 1666
01-08 14:52:27.791: E/AndroidRuntime(22887): Process: jp.co.cyberagent.android.gpuimage.sample, PID: 22887
01-08 14:52:27.791: E/AndroidRuntime(22887): java.lang.RuntimeException: Method called after release()
01-08 14:52:27.791: E/AndroidRuntime(22887): at android.hardware.Camera.setPreviewTexture(Native Method)
01-08 14:52:27.791: E/AndroidRuntime(22887): at jp.co.cyberagent.android.gpuimage.GPUImageRenderer$2.run(GPUImageRenderer.java:157)
01-08 14:52:27.791: E/AndroidRuntime(22887): at jp.co.cyberagent.android.gpuimage.GPUImageRenderer.onDrawFrame(GPUImageRenderer.java:115)
01-08 14:52:27.791: E/AndroidRuntime(22887): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1532)
01-08 14:52:27.791: E/AndroidRuntime(22887): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1249)