diff options
author | Nipun Kwatra <nkwatra@google.com> | 2010-08-02 14:42:46 -0700 |
---|---|---|
committer | Nipun Kwatra <nkwatra@google.com> | 2010-08-02 14:42:46 -0700 |
commit | f95ce6452d87316b8f5df6692537bd039377f349 (patch) | |
tree | fc1d592d782178318a034d565ef087e74e159614 /media/libmediaplayerservice/StagefrightRecorder.cpp | |
parent | fd150a8e03cdd8462eafd68f4a4231aa52f0e5a1 (diff) | |
download | frameworks_av-f95ce6452d87316b8f5df6692537bd039377f349.zip frameworks_av-f95ce6452d87316b8f5df6692537bd039377f349.tar.gz frameworks_av-f95ce6452d87316b8f5df6692537bd039377f349.tar.bz2 |
Allowing useStillCameraForTimeLapse to be set through MediaRecorder.java
This will allow apps to make the decision of whether to use still image mode or
video mode for time lapse capture.
- setTimeLapseParameters now takes in a useStillCameraForTimeLapse parameter.
- Added support in StagefrightRecorder for passing through this parameter.
Change-Id: Iafbcb76f9a7903118ea5eb822c81008619630f03
Diffstat (limited to 'media/libmediaplayerservice/StagefrightRecorder.cpp')
-rw-r--r-- | media/libmediaplayerservice/StagefrightRecorder.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index 8cdb9b0..e3f394c 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -486,6 +486,19 @@ status_t StagefrightRecorder::setParamTimeLapseEnable(int32_t timeLapseEnable) { return OK; } +status_t StagefrightRecorder::setParamUseStillCameraForTimeLapse(int32_t useStillCamera) { + LOGV("setParamUseStillCameraForTimeLapse: %d", useStillCamera); + + if(useStillCamera == 0) { + mUseStillCameraForTimeLapse= false; + } else if (useStillCamera == 1) { + mUseStillCameraForTimeLapse= true; + } else { + return BAD_VALUE; + } + return OK; +} + status_t StagefrightRecorder::setParamTimeBetweenTimeLapseFrameCapture(int64_t timeUs) { LOGV("setParamTimeBetweenTimeLapseFrameCapture: %lld us", timeUs); @@ -587,6 +600,11 @@ status_t StagefrightRecorder::setParameter( if (safe_strtoi32(value.string(), &timeLapseEnable)) { return setParamTimeLapseEnable(timeLapseEnable); } + } else if (key == "use-still-camera-for-time-lapse") { + int32_t useStillCamera; + if (safe_strtoi32(value.string(), &useStillCamera)) { + return setParamUseStillCameraForTimeLapse(useStillCamera); + } } else if (key == "time-between-time-lapse-frame-capture") { int64_t timeBetweenTimeLapseFrameCaptureMs; if (safe_strtoi64(value.string(), &timeBetweenTimeLapseFrameCaptureMs)) { @@ -930,7 +948,7 @@ status_t StagefrightRecorder::setupVideoEncoder(const sp<MediaWriter>& writer) { if (err != OK) return err; sp<CameraSource> cameraSource = (mCaptureTimeLapse) ? - CameraSourceTimeLapse::CreateFromCamera(mCamera, true, + CameraSourceTimeLapse::CreateFromCamera(mCamera, mUseStillCameraForTimeLapse, mTimeBetweenTimeLapseFrameCaptureUs, mVideoWidth, mVideoHeight, mFrameRate): CameraSource::CreateFromCamera(mCamera); CHECK(cameraSource != NULL); @@ -1133,6 +1151,7 @@ status_t StagefrightRecorder::reset() { mMaxFileSizeBytes = 0; mTrackEveryTimeDurationUs = 0; mCaptureTimeLapse = false; + mUseStillCameraForTimeLapse = true; mTimeBetweenTimeLapseFrameCaptureUs = -1; mEncoderProfiles = MediaProfiles::getInstance(); |