0

I am doing an Android application that uses camera. I am using facedetection listener and runs fine, but when i try to add also a preview callback to do some proccess tasks, face detection stops running.

Why??

This is my code:

@Override
    public void surfaceCreated(SurfaceHolder holder) {
        mCamera = StartCapture();
        mCamera.setPreviewCallback(framesCallback);
mCamera.setFaceDetectionListener(faceDetectionListener);

    }

    @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width,
            int height) {

        if (mCamera != null) {
            try {
                mCamera.setPreviewDisplay(holder);
                mCamera.startPreview();
                mCamera.startFaceDetection();

            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

    @Override
    public void surfaceDestroyed(SurfaceHolder holder) {
        mCamera.stopFaceDetection();
        mCamera.stopPreview();
        mCamera.release();
        mCamera = null;

    }

This is logcat that produces when I use both of them:

02-11 14:35:14.376: E/mm-camera-img(197): FACEPROC_Detection returned error: -3
02-11 14:35:14.376: E/mm-camera-img(197): face_proc_thread_loop:466] frameproc exec error -1
02-11 14:35:14.510: E/mm-camera-img(197): FACEPROC_Detection returned error: -3
02-11 14:35:14.510: E/mm-camera-img(197): face_proc_thread_loop:466] frameproc exec error -1
02-11 14:35:14.643: E/mm-camera-img(197): FACEPROC_Detection returned error: -3
02-11 14:35:14.643: E/mm-camera-img(197): face_proc_thread_loop:466] frameproc exec error -1
user3086708
  • 375
  • 3
  • 17

1 Answers1

0

It's too late for answer, but I had a same situation. After moving the position of setPreviewCallback() below startFaceDetection(), it works.

Sohyun Ahn
  • 240
  • 2
  • 9