Chromium Code Reviews| Index: webrtc/api/android/java/src/org/webrtc/Camera2Session.java |
| diff --git a/webrtc/api/android/java/src/org/webrtc/Camera2Session.java b/webrtc/api/android/java/src/org/webrtc/Camera2Session.java |
| index a10ce8f5389422d5d2434465db5529130e2defb8..e4b26f411c430456b4fba3fe492f37c4a5f75c8a 100644 |
| --- a/webrtc/api/android/java/src/org/webrtc/Camera2Session.java |
| +++ b/webrtc/api/android/java/src/org/webrtc/Camera2Session.java |
| @@ -46,11 +46,10 @@ public class Camera2Session implements CameraSession { |
| private static enum SessionState { RUNNING, STOPPED }; |
| private final Handler cameraThreadHandler; |
| - private final CameraManager cameraManager; |
| private final CreateSessionCallback callback; |
| - private final CameraVideoCapturer.CameraEventsHandler eventsHandler; |
| + private final Events events; |
| private final Context applicationContext; |
| - private final CameraVideoCapturer.CapturerObserver capturerObserver; |
| + private final CameraManager cameraManager; |
| private final SurfaceTextureHelper surfaceTextureHelper; |
| private final String cameraId; |
| private final int width; |
| @@ -70,7 +69,6 @@ public class Camera2Session implements CameraSession { |
| // Initialized when capture session is created |
| private CameraCaptureSession captureSession; |
| - private CameraVideoCapturer.CameraStatistics cameraStatistics; |
| // State |
| private SessionState state = SessionState.RUNNING; |
| @@ -134,7 +132,7 @@ public class Camera2Session implements CameraSession { |
| checkIsOnCameraThread(); |
| Logging.d(TAG, "Camera device closed."); |
| - eventsHandler.onCameraClosed(); |
| + events.onCameraClosed(Camera2Session.this); |
| } |
| } |
| @@ -191,7 +189,6 @@ public class Camera2Session implements CameraSession { |
| } |
| if (!firstFrameReported) { |
| - eventsHandler.onFirstFrameAvailable(); |
| firstFrameReported = true; |
| final int startTimeMs = |
| (int) TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - constructionTimeNs); |
| @@ -210,14 +207,10 @@ public class Camera2Session implements CameraSession { |
| transformMatrix = RendererCommon.rotateTextureMatrix( |
| transformMatrix, -cameraOrientation); |
| - cameraStatistics.addFrame(); |
| - capturerObserver.onTextureFrameCaptured(captureFormat.width, captureFormat.height, |
| - oesTextureId, transformMatrix, rotation, timestampNs); |
| + events.onTextureFrameCaptured(Camera2Session.this, captureFormat.width, |
| + captureFormat.height, oesTextureId, transformMatrix, rotation, timestampNs); |
| } |
| }); |
| - capturerObserver.onCapturerStarted(true /* success */); |
| - cameraStatistics = new CameraVideoCapturer.CameraStatistics( |
| - surfaceTextureHelper, eventsHandler); |
| Logging.d(TAG, "Camera device successfully started."); |
| callback.onDone(Camera2Session.this); |
| } |
| @@ -232,23 +225,20 @@ public class Camera2Session implements CameraSession { |
| } |
| public static void create( |
| - CameraManager cameraManager, CreateSessionCallback callback, |
| - CameraVideoCapturer.CameraEventsHandler eventsHandler, Context applicationContext, |
| - CameraVideoCapturer.CapturerObserver capturerObserver, |
| + CreateSessionCallback callback, Events events, |
| + Context applicationContext, CameraManager cameraManager, |
| SurfaceTextureHelper surfaceTextureHelper, |
| String cameraId, int width, int height, int framerate) { |
| new Camera2Session( |
| - cameraManager, callback, |
| - eventsHandler, applicationContext, |
| - capturerObserver, |
| + callback, events, |
| + applicationContext, cameraManager, |
| surfaceTextureHelper, |
| cameraId, width, height, framerate); |
| } |
| private Camera2Session( |
| - CameraManager cameraManager, CreateSessionCallback callback, |
| - CameraVideoCapturer.CameraEventsHandler eventsHandler, Context applicationContext, |
| - CameraVideoCapturer.CapturerObserver capturerObserver, |
| + CreateSessionCallback callback, Events events, |
| + Context applicationContext, CameraManager cameraManager, |
| SurfaceTextureHelper surfaceTextureHelper, |
| String cameraId, int width, int height, int framerate) { |
| Logging.d(TAG, "Create new camera2 session on camera " + cameraId); |
| @@ -256,11 +246,10 @@ public class Camera2Session implements CameraSession { |
| constructionTimeNs = System.nanoTime(); |
| this.cameraThreadHandler = new Handler(); |
| - this.cameraManager = cameraManager; |
| this.callback = callback; |
| - this.eventsHandler = eventsHandler; |
| + this.events = events; |
| this.applicationContext = applicationContext; |
| - this.capturerObserver = capturerObserver; |
| + this.cameraManager = cameraManager; |
| this.surfaceTextureHelper = surfaceTextureHelper; |
| this.cameraId = cameraId; |
| this.width = width; |
| @@ -316,7 +305,7 @@ public class Camera2Session implements CameraSession { |
| checkIsOnCameraThread(); |
| Logging.d(TAG, "Opening camera " + cameraId); |
| - eventsHandler.onCameraOpening(cameraId); |
| + events.onCameraOpening(this); |
| try { |
| cameraManager.openCamera(cameraId, new CameraStateCallback(), cameraThreadHandler); |
| @@ -332,7 +321,6 @@ public class Camera2Session implements CameraSession { |
| if (Thread.currentThread() == cameraThreadHandler.getLooper().getThread()) { |
| if (state != SessionState.STOPPED) { |
| state = SessionState.STOPPED; |
| - capturerObserver.onCapturerStopped(); |
| // Post the stopInternal to return earlier. |
| cameraThreadHandler.post(new Runnable() { |
| @Override |
| @@ -352,7 +340,6 @@ public class Camera2Session implements CameraSession { |
| public void run() { |
| if (state != SessionState.STOPPED) { |
| state = SessionState.STOPPED; |
| - capturerObserver.onCapturerStopped(); |
| stopLatch.countDown(); |
| stopInternal(); |
| final int stopTimeMs = |
| @@ -371,7 +358,6 @@ public class Camera2Session implements CameraSession { |
| checkIsOnCameraThread(); |
| surfaceTextureHelper.stopListening(); |
| - cameraStatistics.release(); |
| captureSession.close(); |
| captureSession = null; |
| @@ -395,9 +381,9 @@ public class Camera2Session implements CameraSession { |
| state = SessionState.STOPPED; |
| callback.onFailure(error); |
| - capturerObserver.onCapturerStarted(false /* success */); |
| } else { |
| - eventsHandler.onCameraError(error); |
| + stop(); |
|
magjed_webrtc
2016/09/16 12:59:19
I would like to flatten the number of function ind
sakal
2016/09/16 13:25:16
Done.
|
| + events.onCameraError(this, error); |
| } |
| } |