Merge "Camera: Avoid possible deadlock when closing advanced extension session" into sc-qpr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
00c890cda7
@@ -873,7 +873,6 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes
|
|||||||
@Override
|
@Override
|
||||||
public int submitBurst(List<Request> requests, IRequestCallback callback) {
|
public int submitBurst(List<Request> requests, IRequestCallback callback) {
|
||||||
int seqId = -1;
|
int seqId = -1;
|
||||||
synchronized (mInterfaceLock) {
|
|
||||||
try {
|
try {
|
||||||
CaptureCallbackHandler captureCallback = new CaptureCallbackHandler(callback);
|
CaptureCallbackHandler captureCallback = new CaptureCallbackHandler(callback);
|
||||||
ArrayList<CaptureRequest> captureRequests = new ArrayList<>();
|
ArrayList<CaptureRequest> captureRequests = new ArrayList<>();
|
||||||
@@ -888,7 +887,6 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes
|
|||||||
} catch (IllegalStateException e) {
|
} catch (IllegalStateException e) {
|
||||||
Log.e(TAG, "Capture session closed!");
|
Log.e(TAG, "Capture session closed!");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return seqId;
|
return seqId;
|
||||||
}
|
}
|
||||||
@@ -896,7 +894,6 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes
|
|||||||
@Override
|
@Override
|
||||||
public int setRepeating(Request request, IRequestCallback callback) {
|
public int setRepeating(Request request, IRequestCallback callback) {
|
||||||
int seqId = -1;
|
int seqId = -1;
|
||||||
synchronized (mInterfaceLock) {
|
|
||||||
try {
|
try {
|
||||||
CaptureRequest repeatingRequest = initializeCaptureRequest(mCameraDevice,
|
CaptureRequest repeatingRequest = initializeCaptureRequest(mCameraDevice,
|
||||||
request, mCameraConfigMap);
|
request, mCameraConfigMap);
|
||||||
@@ -908,14 +905,12 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes
|
|||||||
} catch (IllegalStateException e) {
|
} catch (IllegalStateException e) {
|
||||||
Log.e(TAG, "Capture session closed!");
|
Log.e(TAG, "Capture session closed!");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return seqId;
|
return seqId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void abortCaptures() {
|
public void abortCaptures() {
|
||||||
synchronized (mInterfaceLock) {
|
|
||||||
try {
|
try {
|
||||||
mCaptureSession.abortCaptures();
|
mCaptureSession.abortCaptures();
|
||||||
} catch (CameraAccessException e) {
|
} catch (CameraAccessException e) {
|
||||||
@@ -924,11 +919,9 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes
|
|||||||
Log.e(TAG, "Capture session closed!");
|
Log.e(TAG, "Capture session closed!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void stopRepeating() {
|
public void stopRepeating() {
|
||||||
synchronized (mInterfaceLock) {
|
|
||||||
try {
|
try {
|
||||||
mCaptureSession.stopRepeating();
|
mCaptureSession.stopRepeating();
|
||||||
} catch (CameraAccessException e) {
|
} catch (CameraAccessException e) {
|
||||||
@@ -938,7 +931,6 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private static CaptureRequest initializeCaptureRequest(CameraDevice cameraDevice,
|
private static CaptureRequest initializeCaptureRequest(CameraDevice cameraDevice,
|
||||||
Request request, HashMap<Surface, CameraOutputConfig> surfaceIdMap)
|
Request request, HashMap<Surface, CameraOutputConfig> surfaceIdMap)
|
||||||
|
|||||||
Reference in New Issue
Block a user