diff options
author | James Dong <jdong@google.com> | 2010-12-06 19:45:24 -0800 |
---|---|---|
committer | James Dong <jdong@google.com> | 2010-12-06 19:53:01 -0800 |
commit | 2db9044563ee39407b65831af0d381944b9ed9fb (patch) | |
tree | 42e5c49bda5afc7abe5da910dbdcf586fdbb14a0 /services/camera | |
parent | 9889e2b1923e94fdbe046e1599008d4696e56e64 (diff) | |
download | frameworks_base-2db9044563ee39407b65831af0d381944b9ed9fb.zip frameworks_base-2db9044563ee39407b65831af0d381944b9ed9fb.tar.gz frameworks_base-2db9044563ee39407b65831af0d381944b9ed9fb.tar.bz2 |
Don't drop video frames but to release them.
bug - 3259009
Change-Id: Ib7634f10a7fe7b7ce7014b79b07957d194bae1a7
Diffstat (limited to 'services/camera')
-rw-r--r-- | services/camera/libcameraservice/CameraService.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp index 535f07f..f1fa0ff 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp @@ -1015,7 +1015,10 @@ void CameraService::Client::dataCallbackTimestamp(nsecs_t timestamp, sp<Client> client = getClientFromCookie(user); if (client == 0) return; - if (!client->lockIfMessageWanted(msgType)) return; + if (!client->lockIfMessageWanted(msgType)) { + client->releaseRecordingFrame(dataPtr); + return; + } if (dataPtr == 0) { LOGE("Null data returned in data with timestamp callback"); |