Index: media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java |
diff --git a/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java |
index 3997af9fbb2899fdb3ba39937f0d68f7c94950f0..1cecd90014f1edc68565fb85338231849659d912 100644 |
--- a/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java |
+++ b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java |
@@ -97,6 +97,7 @@ public class VideoCaptureCamera2 extends VideoCapture { |
return; |
} |
// Now wait for trigger on CrImageReaderListener.onImageAvailable(); |
+ nativeOnStarted(mNativeVideoCaptureDeviceAndroid); |
changeCameraStateAndNotify(CameraState.STARTED); |
} |
@@ -114,6 +115,13 @@ public class VideoCaptureCamera2 extends VideoCapture { |
private class CrImageReaderListener implements ImageReader.OnImageAvailableListener { |
@Override |
public void onImageAvailable(ImageReader reader) { |
+ synchronized (mCameraStateLock) { |
+ if (mCameraState != CameraState.STARTED) { |
+ Log.e(TAG, "Get captured frame in unexpected state."); |
chfremer
2017/02/16 01:00:50
Is this really unexpected?
If the camera can deli
braveyao
2017/02/17 20:37:21
This check also includes the situation that gettin
|
+ return; |
+ } |
+ } |
+ |
try (Image image = reader.acquireLatestImage()) { |
if (image == null) return; |