summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/CameraService.cpp
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2010-12-06 19:45:24 -0800
committerJames Dong <jdong@google.com>2010-12-06 19:53:01 -0800
commit2db9044563ee39407b65831af0d381944b9ed9fb (patch)
tree42e5c49bda5afc7abe5da910dbdcf586fdbb14a0 /services/camera/libcameraservice/CameraService.cpp
parent9889e2b1923e94fdbe046e1599008d4696e56e64 (diff)
downloadframeworks_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/libcameraservice/CameraService.cpp')
-rw-r--r--services/camera/libcameraservice/CameraService.cpp5
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");