-// private class FfmpegRunnable implements Runnable {
-// private String url;
-// private Camera.PreviewCallback cb;
-// public FfmpegRunnable(String _url, Camera.PreviewCallback _cb){
-// this.url = _url;
-// this.cb = _cb;
-// }
-// @Override
-// public void run(){
-// gLogger.error("Run Ffmpeg url: " + url);
-// isRunning = true;
-// gLogger.error("Open camera");
-// mCamera = getCameraInstance();
-// if(mCamera == null) {
-// gLogger.error("Open camera, camera is null");
-// }
-// configCamera(mCamera);
-// mCamera.setPreviewCallback(this.cb);
-// }
-// }
+ // Camaer.onError callback
+ @Override
+ public void onError(int error, Camera camera){
+ gLogger.error("Camera.OnError, " + error);
+ switch (error) {
+ case Camera.CAMERA_ERROR_SERVER_DIED:
+ gLogger.error("CAMERA_ERROR_SERVER_DIED");
+ break;
+ case Camera.CAMERA_ERROR_UNKNOWN:
+ gLogger.error("CAMERA_ERROR_UNKNOWN");
+ break;
+ }
+
+ if(mListener != null) mListener.onCameraError("OnError, " + error);
+ }
+
+
+ public interface MyServiceEventListener {
+ void onCameraError(String err);
+ void onEncoderError(String msg);
+ //void onIsPreviewing(String msg); // notify mainActivity if preview is running well
+ void onPublishing(String msg); // notify main activity if encoder is running well;
+ }
+}