summaryrefslogtreecommitdiffstats
path: root/services
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
commit6baa5de62a91b151af7a19036706b3d45143a32e (patch)
tree615273d172f64e3e0a3c36a0e2de1a27a67b21d1 /services
parent5a68e17d07369a16b16a16dcdc539c293b8c2810 (diff)
downloadframeworks_av-6baa5de62a91b151af7a19036706b3d45143a32e.zip
frameworks_av-6baa5de62a91b151af7a19036706b3d45143a32e.tar.gz
frameworks_av-6baa5de62a91b151af7a19036706b3d45143a32e.tar.bz2
Don't drop video frames but to release them.
bug - 3259009 Change-Id: Ib7634f10a7fe7b7ce7014b79b07957d194bae1a7
Diffstat (limited to 'services')
-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");