diff options
author | Zhijun He <zhijunhe@google.com> | 2014-06-25 11:40:02 -0700 |
---|---|---|
committer | Zhijun He <zhijunhe@google.com> | 2014-06-27 17:53:38 -0700 |
commit | 25a0aef19e170d2695f64b4c48296e7914155a88 (patch) | |
tree | 39dfc94b9202060d8b8645497effa989cef2670f /services/camera/libcameraservice/api1/client2/CaptureSequencer.cpp | |
parent | e8f2c6cfe9afc5b303ab6b0fb51e18ddce512b54 (diff) | |
download | frameworks_av-25a0aef19e170d2695f64b4c48296e7914155a88.zip frameworks_av-25a0aef19e170d2695f64b4c48296e7914155a88.tar.gz frameworks_av-25a0aef19e170d2695f64b4c48296e7914155a88.tar.bz2 |
Camera1: Don't send partial results to ZSL clients
ZSL clients expect each received result as a complete result, and send back to
HAL as a reprocess capture request. CaptureSequencer client assumes results to
be non-partial too, it need look into some metadata that may not be present in
partial results.
Change-Id: Id716913fd6e1c914726abd6610fddf91141783c2
Diffstat (limited to 'services/camera/libcameraservice/api1/client2/CaptureSequencer.cpp')
-rw-r--r-- | services/camera/libcameraservice/api1/client2/CaptureSequencer.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/services/camera/libcameraservice/api1/client2/CaptureSequencer.cpp b/services/camera/libcameraservice/api1/client2/CaptureSequencer.cpp index 8268f65..cb9aca6 100644 --- a/services/camera/libcameraservice/api1/client2/CaptureSequencer.cpp +++ b/services/camera/libcameraservice/api1/client2/CaptureSequencer.cpp @@ -350,8 +350,10 @@ CaptureSequencer::CaptureState CaptureSequencer::manageZslStart( return DONE; } + // We don't want to get partial results for ZSL capture. client->registerFrameListener(mCaptureId, mCaptureId + 1, - this); + this, + /*sendPartials*/false); // TODO: Actually select the right thing here. res = processor->pushToReprocess(mCaptureId); @@ -393,8 +395,14 @@ CaptureSequencer::CaptureState CaptureSequencer::manageStandardStart( bool isAeConverged = false; // Get the onFrameAvailable callback when the requestID == mCaptureId + // We don't want to get partial results for normal capture, as we need + // Get ANDROID_SENSOR_TIMESTAMP from the capture result, but partial + // result doesn't have to have this metadata available. + // TODO: Update to use the HALv3 shutter notification for remove the + // need for this listener and make it faster. see bug 12530628. client->registerFrameListener(mCaptureId, mCaptureId + 1, - this); + this, + /*sendPartials*/false); { Mutex::Autolock l(mInputMutex); |