diff options
author | Danny Baumann <dannybaumann@web.de> | 2016-03-25 13:02:27 +0100 |
---|---|---|
committer | Danny Baumann <dannybaumann@web.de> | 2016-03-28 03:56:22 -0700 |
commit | 98a1a3c81d5545e8ba9bb30af405379f335341ee (patch) | |
tree | 7bbe113c5f229e254d6ff94231af3bf1cf639e8a | |
parent | d525fe38002a7e5290348de33cb270b6c45a552b (diff) | |
download | android_packages_apps_Snap-98a1a3c81d5545e8ba9bb30af405379f335341ee.tar.gz android_packages_apps_Snap-98a1a3c81d5545e8ba9bb30af405379f335341ee.tar.bz2 android_packages_apps_Snap-98a1a3c81d5545e8ba9bb30af405379f335341ee.zip |
Protect against multiple shutter callbacks per frame in longshot mode.
Some devices send multiple shutter callbacks for one captured frame in
longshot mode. As this causes mismatch between the calculated number of
captured frames and the calculated number of JPEGs received for those,
which in turn leads to longshot mode never being ended properly,
protect against that scenario by discarding all but the first callback.
Change-Id: I0c3a270f664a0cd16354fb0a13c5941a52001650
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 8bea63385..3615d948a 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -969,6 +969,11 @@ public class PhotoModule private final class LongshotShutterCallback implements CameraShutterCallback { + private int mExpectedLongshotSnapNum; + + public LongshotShutterCallback() { + mExpectedLongshotSnapNum = mLongshotSnapNum; + } @Override public void onShutter(CameraProxy camera) { @@ -976,6 +981,9 @@ public class PhotoModule mShutterLag = mShutterCallbackTime - mCaptureStartTime; Log.e(TAG, "[KPI Perf] PROFILE_SHUTTER_LAG mShutterLag = " + mShutterLag + "ms"); synchronized(mCameraDevice) { + if (mExpectedLongshotSnapNum != mLongshotSnapNum) { + return; + } if (++mLongshotSnapNum >= mLongShotMaxSnap && (mLongShotMaxSnap != -1)) { |