diff options
| author | android-build-team Robot <android-build-team-robot@google.com> | 2017-06-23 20:54:08 +0000 |
|---|---|---|
| committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-06-23 20:54:08 +0000 |
| commit | 6a9b217a7ac90feeb50f1f4c9fbca0b511300281 (patch) | |
| tree | fe7e3a693ff02bff261674bcc71f9dbd2e31c219 | |
| parent | 4db6575ab1e03bdea1c3296805987557248f0fd5 (diff) | |
| parent | a8dcad048c1adb1870fca945bf85197470d5ed29 (diff) | |
| download | android_hardware_interfaces-6a9b217a7ac90feeb50f1f4c9fbca0b511300281.tar.gz android_hardware_interfaces-6a9b217a7ac90feeb50f1f4c9fbca0b511300281.tar.bz2 android_hardware_interfaces-6a9b217a7ac90feeb50f1f4c9fbca0b511300281.zip | |
Merge cherrypicks of [2454758, 2454859, 2454837, 2454965, 2454984, 2455001, 2454760, 2454860, 2454838, 2454899, 2454970, 2455005, 2455027, 2454973, 2455006, 2455061, 2455007, 2454914, 2454987, 2454974] into oc-release
Change-Id: I09c0a830491cea2d0e6d8c91456dd9c9e9331550
| -rw-r--r-- | camera/device/1.0/default/CameraDevice.cpp | 12 | ||||
| -rw-r--r-- | camera/device/1.0/default/CameraDevice_1_0.h | 1 |
2 files changed, 9 insertions, 4 deletions
diff --git a/camera/device/1.0/default/CameraDevice.cpp b/camera/device/1.0/default/CameraDevice.cpp index 6f4e70f83..c53c0d8b5 100644 --- a/camera/device/1.0/default/CameraDevice.cpp +++ b/camera/device/1.0/default/CameraDevice.cpp @@ -116,7 +116,7 @@ CameraDevice::~CameraDevice() { Mutex::Autolock _l(mLock); if (mDevice != nullptr) { ALOGW("%s: camera %s is deleted while open", __FUNCTION__, mCameraId.c_str()); - close(); + closeLocked(); } mHalPreviewWindow.cleanUpCirculatingBuffers(); } @@ -130,7 +130,7 @@ void CameraDevice::setConnectionStatus(bool connected) { } if (!connected) { ALOGW("%s: camera %s is disconneted. Closing", __FUNCTION__, mCameraId.c_str()); - close(); + closeLocked(); } return; } @@ -982,8 +982,13 @@ Return<Status> CameraDevice::sendCommand(CommandType cmd, int32_t arg1, int32_t } Return<void> CameraDevice::close() { - ALOGI("Closing camera %s", mCameraId.c_str()); Mutex::Autolock _l(mLock); + closeLocked(); + return Void(); +} + +void CameraDevice::closeLocked() { + ALOGI("Closing camera %s", mCameraId.c_str()); if(mDevice) { int rc = mDevice->common.close(&mDevice->common); if (rc != OK) { @@ -991,7 +996,6 @@ Return<void> CameraDevice::close() { } mDevice = nullptr; } - return Void(); } } // namespace implementation diff --git a/camera/device/1.0/default/CameraDevice_1_0.h b/camera/device/1.0/default/CameraDevice_1_0.h index 0e5a49b4e..c07859631 100644 --- a/camera/device/1.0/default/CameraDevice_1_0.h +++ b/camera/device/1.0/default/CameraDevice_1_0.h @@ -222,6 +222,7 @@ private: static status_t getStatusT(const Status& s); Status initStatus() const; + void closeLocked(); }; } // namespace implementation |
