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 | 6baa5de62a91b151af7a19036706b3d45143a32e (patch) | |
tree | 615273d172f64e3e0a3c36a0e2de1a27a67b21d1 /services | |
parent | 5a68e17d07369a16b16a16dcdc539c293b8c2810 (diff) | |
download | frameworks_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.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"); |