diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2014-02-24 22:28:30 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-02-24 22:28:30 +0000 |
commit | 3f73448090d99612c6d8f579e4164507d8848cc1 (patch) | |
tree | bffff5f46e4b56f966746e9d4232418692c46899 /services/camera/libcameraservice/api1 | |
parent | 9e2c298daec57edcf3d4d740673ebb94819f84c1 (diff) | |
parent | dfe715582943b3fc9bab91f88257a3bba6c6deef (diff) | |
download | frameworks_av-3f73448090d99612c6d8f579e4164507d8848cc1.zip frameworks_av-3f73448090d99612c6d8f579e4164507d8848cc1.tar.gz frameworks_av-3f73448090d99612c6d8f579e4164507d8848cc1.tar.bz2 |
Merge "camera2: Fix race with stream deletion during disconnect."
Diffstat (limited to 'services/camera/libcameraservice/api1')
-rw-r--r-- | services/camera/libcameraservice/api1/Camera2Client.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/services/camera/libcameraservice/api1/Camera2Client.cpp b/services/camera/libcameraservice/api1/Camera2Client.cpp index 0a88a75..80b7cd4 100644 --- a/services/camera/libcameraservice/api1/Camera2Client.cpp +++ b/services/camera/libcameraservice/api1/Camera2Client.cpp @@ -407,12 +407,6 @@ void Camera2Client::disconnect() { l.mParameters.state = Parameters::DISCONNECTED; } - mStreamingProcessor->deletePreviewStream(); - mStreamingProcessor->deleteRecordingStream(); - mJpegProcessor->deleteStream(); - mCallbackProcessor->deleteStream(); - mZslProcessor->deleteStream(); - mStreamingProcessor->requestExit(); mFrameProcessor->requestExit(); mCaptureSequencer->requestExit(); @@ -429,6 +423,14 @@ void Camera2Client::disconnect() { mZslProcessorThread->join(); mCallbackProcessor->join(); + ALOGV("Camera %d: Deleting streams", mCameraId); + + mStreamingProcessor->deletePreviewStream(); + mStreamingProcessor->deleteRecordingStream(); + mJpegProcessor->deleteStream(); + mCallbackProcessor->deleteStream(); + mZslProcessor->deleteStream(); + ALOGV("Camera %d: Disconnecting device", mCameraId); mDevice->disconnect(); |