summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/CameraSource.cpp
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2011-11-20 09:45:44 -0800
committerJames Dong <jdong@google.com>2011-11-21 12:09:51 -0800
commite8e5f86e9e310b065596c8cbbca1543eb833dee1 (patch)
tree9093e89f8a7bf9544061fdfbe52383ae314e28b4 /media/libstagefright/CameraSource.cpp
parent6f5cc45c48c02173bfae8d54b54a92c9bae256a1 (diff)
downloadframeworks_av-e8e5f86e9e310b065596c8cbbca1543eb833dee1.zip
frameworks_av-e8e5f86e9e310b065596c8cbbca1543eb833dee1.tar.gz
frameworks_av-e8e5f86e9e310b065596c8cbbca1543eb833dee1.tar.bz2
Fix log spamming during time lapse video recording
Change-Id: I4fc0809203684ebb02eaf217d7abad00aefc898f related-to-bug: 5626569
Diffstat (limited to 'media/libstagefright/CameraSource.cpp')
-rwxr-xr-xmedia/libstagefright/CameraSource.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/media/libstagefright/CameraSource.cpp b/media/libstagefright/CameraSource.cpp
index 256f3ba..57989c5 100755
--- a/media/libstagefright/CameraSource.cpp
+++ b/media/libstagefright/CameraSource.cpp
@@ -33,6 +33,8 @@
namespace android {
+static const int64_t CAMERA_SOURCE_TIMEOUT_NS = 3000000000LL;
+
struct CameraSourceListener : public CameraListener {
CameraSourceListener(const sp<CameraSource> &source);
@@ -156,6 +158,7 @@ CameraSource::CameraSource(
mLastFrameTimestampUs(0),
mStarted(false),
mNumFramesEncoded(0),
+ mTimeBetweenFrameCaptureUs(0),
mFirstFrameTimeUs(0),
mNumFramesDropped(0),
mNumGlitches(0),
@@ -644,7 +647,8 @@ status_t CameraSource::stop() {
releaseQueuedFrames();
while (!mFramesBeingEncoded.empty()) {
if (NO_ERROR !=
- mFrameCompleteCondition.waitRelative(mLock, 3000000000LL)) {
+ mFrameCompleteCondition.waitRelative(mLock,
+ mTimeBetweenFrameCaptureUs * 1000LL + CAMERA_SOURCE_TIMEOUT_NS)) {
LOGW("Timed out waiting for outstanding frames being encoded: %d",
mFramesBeingEncoded.size());
}
@@ -736,7 +740,8 @@ status_t CameraSource::read(
Mutex::Autolock autoLock(mLock);
while (mStarted && mFramesReceived.empty()) {
if (NO_ERROR !=
- mFrameAvailableCondition.waitRelative(mLock, 1000000000LL)) {
+ mFrameAvailableCondition.waitRelative(mLock,
+ mTimeBetweenFrameCaptureUs * 1000LL + CAMERA_SOURCE_TIMEOUT_NS)) {
if (mCameraRecordingProxy != 0 &&
!mCameraRecordingProxy->asBinder()->isBinderAlive()) {
LOGW("camera recording proxy is gone");