| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2016 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 759 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 770 | 770 |
| 771 @Override | 771 @Override |
| 772 public List<CaptureFormat> getSupportedFormats() { | 772 public List<CaptureFormat> getSupportedFormats() { |
| 773 synchronized (cameraState) { | 773 synchronized (cameraState) { |
| 774 return Camera2Enumerator.getSupportedFormats(this.cameraManager, cameraNam
e); | 774 return Camera2Enumerator.getSupportedFormats(this.cameraManager, cameraNam
e); |
| 775 } | 775 } |
| 776 } | 776 } |
| 777 | 777 |
| 778 @Override | 778 @Override |
| 779 public void dispose() { | 779 public void dispose() { |
| 780 stopCapture(); |
| 781 |
| 780 synchronized (cameraStateLock) { | 782 synchronized (cameraStateLock) { |
| 781 waitForCameraToStopIfStopping(); | 783 waitForCameraToStopIfStopping(); |
| 782 | 784 |
| 783 if (cameraState != CameraState.IDLE) { | 785 if (cameraState != CameraState.IDLE) { |
| 784 throw new IllegalStateException("Unexpected camera state for dispose: "
+ cameraState); | 786 throw new IllegalStateException("Unexpected camera state for dispose: "
+ cameraState); |
| 785 } | 787 } |
| 786 } | 788 } |
| 787 } | 789 } |
| 788 | 790 |
| 789 // Blocks until camera is known to be stopped. | 791 // Blocks until camera is known to be stopped. |
| 790 @Override | 792 @Override |
| 791 public void stopCapture() { | 793 public void stopCapture() { |
| 792 final CountDownLatch cameraStoppingLatch = new CountDownLatch(1); | 794 final CountDownLatch cameraStoppingLatch = new CountDownLatch(1); |
| 793 | 795 |
| 794 Logging.d(TAG, "stopCapture"); | 796 Logging.d(TAG, "stopCapture"); |
| 795 checkNotOnCameraThread(); | 797 checkNotOnCameraThread(); |
| 796 | 798 |
| 797 synchronized (cameraStateLock) { | 799 synchronized (cameraStateLock) { |
| 798 waitForCameraToStartIfStarting(); | 800 waitForCameraToStartIfStarting(); |
| 799 | 801 |
| 800 if (cameraState != CameraState.RUNNING) { | 802 if (cameraState != CameraState.RUNNING) { |
| 801 Logging.w(TAG, "stopCapture called for already stopped camera."); | 803 Logging.d(TAG, "stopCapture called for already stopped camera."); |
| 802 return; | 804 return; |
| 803 } | 805 } |
| 804 | 806 |
| 805 postOnCameraThread(new Runnable() { | 807 postOnCameraThread(new Runnable() { |
| 806 @Override | 808 @Override |
| 807 public void run() { | 809 public void run() { |
| 808 Logging.d(TAG, "stopCaptureOnCameraThread"); | 810 Logging.d(TAG, "stopCaptureOnCameraThread"); |
| 809 | 811 |
| 810 // Stop capture. | 812 // Stop capture. |
| 811 closeAndRelease(); | 813 closeAndRelease(); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 881 rotation = (360 + rotation % 360) % 360; | 883 rotation = (360 + rotation % 360) % 360; |
| 882 | 884 |
| 883 // Undo camera orientation - we report it as rotation instead. | 885 // Undo camera orientation - we report it as rotation instead. |
| 884 transformMatrix = RendererCommon.rotateTextureMatrix(transformMatrix, -camer
aOrientation); | 886 transformMatrix = RendererCommon.rotateTextureMatrix(transformMatrix, -camer
aOrientation); |
| 885 | 887 |
| 886 cameraStatistics.addFrame(); | 888 cameraStatistics.addFrame(); |
| 887 capturerObserver.onTextureFrameCaptured(captureFormat.width, captureFormat.h
eight, oesTextureId, | 889 capturerObserver.onTextureFrameCaptured(captureFormat.width, captureFormat.h
eight, oesTextureId, |
| 888 transformMatrix, rotation, timestampNs); | 890 transformMatrix, rotation, timestampNs); |
| 889 } | 891 } |
| 890 } | 892 } |
| OLD | NEW |