diff options
author | James Dong <jdong@google.com> | 2010-12-11 10:43:41 -0800 |
---|---|---|
committer | James Dong <jdong@google.com> | 2010-12-11 10:57:03 -0800 |
commit | 79e23b41fad961008bfde6e26b3c6f86878ca69d (patch) | |
tree | 590d806e7ff9da6341c5185a4d7291d1de428e43 /media/libstagefright/CameraSource.cpp | |
parent | 8d45a37ff076814db39471f15d309567605b3416 (diff) | |
download | frameworks_av-79e23b41fad961008bfde6e26b3c6f86878ca69d.zip frameworks_av-79e23b41fad961008bfde6e26b3c6f86878ca69d.tar.gz frameworks_av-79e23b41fad961008bfde6e26b3c6f86878ca69d.tar.bz2 |
Revert "Allows the authoring engine to skip frame."
o Skipping frames could lead to a lot of issues such as I frames is lost etc.
It is not being used anyway.
This reverts commit 53d4e0d58e2d5c18f6e026c705af833b9bdd7aba.
Conflicts:
media/libstagefright/AudioSource.cpp
media/libstagefright/CameraSource.cpp
Change-Id: I3abba1647de48db25bdc369066eb2a7ae4dedec2
Diffstat (limited to 'media/libstagefright/CameraSource.cpp')
-rw-r--r-- | media/libstagefright/CameraSource.cpp | 55 |
1 files changed, 16 insertions, 39 deletions
diff --git a/media/libstagefright/CameraSource.cpp b/media/libstagefright/CameraSource.cpp index fac7b78..2f3353b 100644 --- a/media/libstagefright/CameraSource.cpp +++ b/media/libstagefright/CameraSource.cpp @@ -665,45 +665,22 @@ status_t CameraSource::read( { Mutex::Autolock autoLock(mLock); - while (mStarted) { - while(mFramesReceived.empty()) { - mFrameAvailableCondition.wait(mLock); - } - - if (!mStarted) { - return OK; - } - - frame = *mFramesReceived.begin(); - mFramesReceived.erase(mFramesReceived.begin()); - - frameTime = *mFrameTimes.begin(); - mFrameTimes.erase(mFrameTimes.begin()); - int64_t skipTimeUs; - if (!options || !options->getSkipFrame(&skipTimeUs)) { - skipTimeUs = frameTime; - } - if (skipTimeUs > frameTime) { - LOGV("skipTimeUs: %lld us > frameTime: %lld us", - skipTimeUs, frameTime); - releaseOneRecordingFrame(frame); - ++mNumFramesDropped; - // Safeguard against the abuse of the kSkipFrame_Option. - if (skipTimeUs - frameTime >= 1E6) { - LOGE("Frame skipping requested is way too long: %lld us", - skipTimeUs - frameTime); - return UNKNOWN_ERROR; - } - } else { - mFramesBeingEncoded.push_back(frame); - *buffer = new MediaBuffer(frame->pointer(), frame->size()); - (*buffer)->setObserver(this); - (*buffer)->add_ref(); - (*buffer)->meta_data()->setInt64(kKeyTime, frameTime); - - return OK; - } + while (mStarted && mFramesReceived.empty()) { + mFrameAvailableCondition.wait(mLock); } + if (!mStarted) { + return OK; + } + frame = *mFramesReceived.begin(); + mFramesReceived.erase(mFramesReceived.begin()); + + frameTime = *mFrameTimes.begin(); + mFrameTimes.erase(mFrameTimes.begin()); + mFramesBeingEncoded.push_back(frame); + *buffer = new MediaBuffer(frame->pointer(), frame->size()); + (*buffer)->setObserver(this); + (*buffer)->add_ref(); + (*buffer)->meta_data()->setInt64(kKeyTime, frameTime); } return OK; } @@ -729,7 +706,7 @@ void CameraSource::dataCallbackTimestamp(int64_t timestampUs, // May need to skip frame or modify timestamp. Currently implemented // by the subclass CameraSourceTimeLapse. - if(skipCurrentFrame(timestampUs)) { + if (skipCurrentFrame(timestampUs)) { releaseOneRecordingFrame(data); return; } |