I am using the class JavaCameraVIew and CvCameraViewListener2 for a Android application. With these classe, i am trying to get each frame and analyze it but my application works a few minutes and crashes with these errors:
W/InputMethodManagerService( 765): Session failed to close due to remote exception
W/InputMethodManagerService( 765): android.os.DeadObjectException
W/InputMethodManagerService( 765): at android.os.BinderProxy.transact(Native Method)
W/InputMethodManagerService( 765): at com.android.internal.view.IInputMethodSession$Stub$Proxy.finishSession(IInputMethodSession.java:292)
...
..
.
D/mm-camera( 199): module_faceproc_client_schedule_mode:1808] apply 2 report 1 new_mode 0
D/JavaCameraView( 2412): Preview Frame received. Frame size: 1843200
D/CameraBridge( 2412): mStretch value: 1.125
D/mm-camera( 199): module_faceproc_client_schedule_mode:1808] apply 3 report 2 new_mode 0
D/JavaCameraView( 2412): Preview Frame received. Frame size: 1843200
D/CameraBridge( 2412): mStretch value: 1.125
...
..
.
W/CameraService( 186): Disconnecting camera client 0xb74c2f88 since the binder for it died (this pid 186)
E/Surface ( 186): queueBuffer: error queuing buffer to SurfaceTexture, -32
E/Camera3-OutputStream( 186): returnBufferCheckedLocked: Stream 0: Error queueing buffer to native window: Broken pipe (-32)
E/Camera3-Device( 186): Can't return buffer 1 for frame 197 to its stream: Broken pipe (-32)
E/Surface ( 186): queueBuffer: error queuing buffer to SurfaceTexture, -32
...
I could find the error but i don't know how i should fix it .... The error is if i want to copy a frame in order to apply another operations...
My main Activity.java is:
public class TrackerActivity extends Activity implements CvCameraViewListener2 {
private JavaCamResView openCVCameraView;
public TrackerActivity() {
Log.i(TAG, "Instantiated new " + this.getClass());
appContext = (new AppContextFactory()).create();
}
...
..
.
@Override
public Mat onCameraFrame(CvCameraViewFrame frame) {
Mat outputFrame = outputFrame = frame.rgba().clone(); <- the ERROR is here....
return outputFrame;
}
Is it normal that i can not copy input frames..? In my opinion, it shouldn't be a problem.... Furthermore, Does somebody know how i could do to fix this error?
I didn't add all the stacktrace and classes because it can be tedious, but i uploaded in a pastebin web:
http://pastebin.com/PLSaEAbj http://pastebin.com/iwwNG3Ln http://pastebin.com/G9zvwbMZ