summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2013-06-14 09:11:21 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-06-14 09:11:21 -0700
commit8147a6ddfd54079ef89f90bf2b5ed3ab6f59bbc0 (patch)
tree09627f85c733f844af02daed570a8c3a35ff1087 /services
parentc0c13c0cd4d21877e1de6a83504c1804a90c149f (diff)
parent0cc754918a3c1353164ccc5798f63b28f65db406 (diff)
downloadframeworks_av-8147a6ddfd54079ef89f90bf2b5ed3ab6f59bbc0.zip
frameworks_av-8147a6ddfd54079ef89f90bf2b5ed3ab6f59bbc0.tar.gz
frameworks_av-8147a6ddfd54079ef89f90bf2b5ed3ab6f59bbc0.tar.bz2
am 0cc75491: am 26bc908b: Camera2/3: Make sure to wait for idle after still capture.
* commit '0cc754918a3c1353164ccc5798f63b28f65db406': Camera2/3: Make sure to wait for idle after still capture.
Diffstat (limited to 'services')
-rw-r--r--services/camera/libcameraservice/camera2/CaptureSequencer.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/camera2/CaptureSequencer.cpp b/services/camera/libcameraservice/camera2/CaptureSequencer.cpp
index 266e516..e5a011c 100644
--- a/services/camera/libcameraservice/camera2/CaptureSequencer.cpp
+++ b/services/camera/libcameraservice/camera2/CaptureSequencer.cpp
@@ -253,6 +253,12 @@ CaptureSequencer::CaptureState CaptureSequencer::manageDone(sp<Camera2Client> &c
res = INVALID_OPERATION;
break;
case Parameters::STILL_CAPTURE:
+ res = client->getCameraDevice()->waitUntilDrained();
+ if (res != OK) {
+ ALOGE("%s: Camera %d: Can't idle after still capture: "
+ "%s (%d)", __FUNCTION__, client->getCameraId(),
+ strerror(-res), res);
+ }
l.mParameters.state = Parameters::STOPPED;
break;
case Parameters::VIDEO_SNAPSHOT: