Merge "Camera: block session init callback until ctor returns" into qt-dev
am: 0e1eecd080
Change-Id: I915982209508646f15aeb0e3f219e5c950ebfa5f
This commit is contained in:
@@ -25,6 +25,7 @@ import android.hardware.camera2.params.OutputConfiguration;
|
|||||||
import android.hardware.camera2.params.StreamConfigurationMap;
|
import android.hardware.camera2.params.StreamConfigurationMap;
|
||||||
import android.hardware.camera2.utils.SurfaceUtils;
|
import android.hardware.camera2.utils.SurfaceUtils;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.ConditionVariable;
|
||||||
import android.util.Range;
|
import android.util.Range;
|
||||||
import android.view.Surface;
|
import android.view.Surface;
|
||||||
|
|
||||||
@@ -51,6 +52,7 @@ public class CameraConstrainedHighSpeedCaptureSessionImpl
|
|||||||
extends CameraConstrainedHighSpeedCaptureSession implements CameraCaptureSessionCore {
|
extends CameraConstrainedHighSpeedCaptureSession implements CameraCaptureSessionCore {
|
||||||
private final CameraCharacteristics mCharacteristics;
|
private final CameraCharacteristics mCharacteristics;
|
||||||
private final CameraCaptureSessionImpl mSessionImpl;
|
private final CameraCaptureSessionImpl mSessionImpl;
|
||||||
|
private final ConditionVariable mInitialized = new ConditionVariable();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new CameraCaptureSession.
|
* Create a new CameraCaptureSession.
|
||||||
@@ -68,6 +70,7 @@ public class CameraConstrainedHighSpeedCaptureSessionImpl
|
|||||||
CameraCaptureSession.StateCallback wrapperCallback = new WrapperCallback(callback);
|
CameraCaptureSession.StateCallback wrapperCallback = new WrapperCallback(callback);
|
||||||
mSessionImpl = new CameraCaptureSessionImpl(id, /*input*/null, wrapperCallback,
|
mSessionImpl = new CameraCaptureSessionImpl(id, /*input*/null, wrapperCallback,
|
||||||
stateExecutor, deviceImpl, deviceStateExecutor, configureSuccess);
|
stateExecutor, deviceImpl, deviceStateExecutor, configureSuccess);
|
||||||
|
mInitialized.open();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -321,11 +324,13 @@ public class CameraConstrainedHighSpeedCaptureSessionImpl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigured(CameraCaptureSession session) {
|
public void onConfigured(CameraCaptureSession session) {
|
||||||
|
mInitialized.block();
|
||||||
mCallback.onConfigured(CameraConstrainedHighSpeedCaptureSessionImpl.this);
|
mCallback.onConfigured(CameraConstrainedHighSpeedCaptureSessionImpl.this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigureFailed(CameraCaptureSession session) {
|
public void onConfigureFailed(CameraCaptureSession session) {
|
||||||
|
mInitialized.block();
|
||||||
mCallback.onConfigureFailed(CameraConstrainedHighSpeedCaptureSessionImpl.this);
|
mCallback.onConfigureFailed(CameraConstrainedHighSpeedCaptureSessionImpl.this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user