зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1420585 - remove unnecessary stopCapture which causes deadlock. r=jib
MozReview-Commit-ID: F8xcOSPihDN --HG-- extra : rebase_source : 057b77496aa86f9e7f3b4ccd858ec74e8c8453a8
This commit is contained in:
Родитель
9b5b59b43a
Коммит
3c82ef78a0
|
@ -248,11 +248,13 @@ public class VideoCaptureAndroid implements PreviewCallback, Callback {
|
|||
error = e;
|
||||
}
|
||||
Log.e(TAG, "startCapture failed", error);
|
||||
if (camera != null) {
|
||||
Exchanger<Boolean> resultDropper = new Exchanger<Boolean>();
|
||||
stopCaptureOnCameraThread(resultDropper);
|
||||
exchange(resultDropper, false);
|
||||
}
|
||||
// For some devices, camera.setParameters(parameters) would throw
|
||||
// an exception when a specific resolution is set. Originally,
|
||||
// stopCaptureOnCameraThread() is called here to clear up the state.
|
||||
// However, stopCaptureOnCameraThread(), which uses Exchanger to
|
||||
// synchronize and swap data with MediaManager thread, is supposed to be
|
||||
// called by MediaManager thread like we did at stopCapture(). Calling
|
||||
// this function directly in CameraThread will cause deadlock.
|
||||
exchange(result, false);
|
||||
return;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче