diff options
author | Zhijun He <zhijunhe@google.com> | 2013-10-01 17:47:18 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-10-01 17:47:18 +0000 |
commit | 26c1fb23a1e2cc059aac42fd1814efba2a3e9640 (patch) | |
tree | fa826d7d7161228093f99fbe85263f6663777c98 /services | |
parent | 353fb9bf940ee34a3885bc85ec7891228e958a4b (diff) | |
parent | 893068ad0ca0cce8428f5a358c86b81139399c07 (diff) | |
download | frameworks_av-26c1fb23a1e2cc059aac42fd1814efba2a3e9640.zip frameworks_av-26c1fb23a1e2cc059aac42fd1814efba2a3e9640.tar.gz frameworks_av-26c1fb23a1e2cc059aac42fd1814efba2a3e9640.tar.bz2 |
Merge "Camera: drop stale callback buffer" into klp-dev
Diffstat (limited to 'services')
-rw-r--r-- | services/camera/libcameraservice/api1/client2/CallbackProcessor.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/api1/client2/CallbackProcessor.cpp b/services/camera/libcameraservice/api1/client2/CallbackProcessor.cpp index 9d8c4a1..d2ac79c 100644 --- a/services/camera/libcameraservice/api1/client2/CallbackProcessor.cpp +++ b/services/camera/libcameraservice/api1/client2/CallbackProcessor.cpp @@ -312,6 +312,16 @@ status_t CallbackProcessor::processNewCallback(sp<Camera2Client> &client) { return OK; } + if (imgBuffer.width != static_cast<uint32_t>(l.mParameters.previewWidth) || + imgBuffer.height != static_cast<uint32_t>(l.mParameters.previewHeight)) { + ALOGW("%s: The preview size has changed to %d x %d from %d x %d, this buffer is" + " no longer valid, dropping",__FUNCTION__, + l.mParameters.previewWidth, l.mParameters.previewHeight, + imgBuffer.width, imgBuffer.height); + mCallbackConsumer->unlockBuffer(imgBuffer); + return OK; + } + previewFormat = l.mParameters.previewFormat; useFlexibleYuv = l.mParameters.fastInfo.useFlexibleYuv && (previewFormat == HAL_PIXEL_FORMAT_YCrCb_420_SP || |