diff options
author | Chong Zhang <chz@google.com> | 2014-02-11 13:54:59 -0800 |
---|---|---|
committer | Chong Zhang <chz@google.com> | 2014-02-14 17:42:47 -0800 |
commit | 2c9c8cba8562cc3a27532e4cd348912cc78d8d98 (patch) | |
tree | dab3690baff0f03f604a41321281ce2f39167272 /media/libmediaplayerservice/StagefrightRecorder.cpp | |
parent | b63d2433350d56bda9f3477549086c90bb6d535e (diff) | |
download | frameworks_av-2c9c8cba8562cc3a27532e4cd348912cc78d8d98.zip frameworks_av-2c9c8cba8562cc3a27532e4cd348912cc78d8d98.tar.gz frameworks_av-2c9c8cba8562cc3a27532e4cd348912cc78d8d98.tar.bz2 |
support for time lapse/slow motion when using SURFACE source
Bug: 13032650
Change-Id: Iecbadf9f29c8c49353416fc467fb3acdde279595
Diffstat (limited to 'media/libmediaplayerservice/StagefrightRecorder.cpp')
-rw-r--r-- | media/libmediaplayerservice/StagefrightRecorder.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index e0eae37..a20c1d2 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -690,10 +690,10 @@ status_t StagefrightRecorder::setParameter( return setParamTimeLapseEnable(timeLapseEnable); } } else if (key == "time-between-time-lapse-frame-capture") { - int64_t timeBetweenTimeLapseFrameCaptureMs; - if (safe_strtoi64(value.string(), &timeBetweenTimeLapseFrameCaptureMs)) { + int64_t timeBetweenTimeLapseFrameCaptureUs; + if (safe_strtoi64(value.string(), &timeBetweenTimeLapseFrameCaptureUs)) { return setParamTimeBetweenTimeLapseFrameCapture( - 1000LL * timeBetweenTimeLapseFrameCaptureMs); + timeBetweenTimeLapseFrameCaptureUs); } } else { ALOGE("setParameter: failed to find key %s", key.string()); @@ -1436,6 +1436,17 @@ status_t StagefrightRecorder::setupVideoEncoder( format->setInt32("stride", mVideoWidth); format->setInt32("slice-height", mVideoWidth); format->setInt32("color-format", OMX_COLOR_FormatAndroidOpaque); + + // set up time lapse/slow motion for surface source + if (mCaptureTimeLapse) { + if (mTimeBetweenTimeLapseFrameCaptureUs <= 0) { + ALOGE("Invalid mTimeBetweenTimeLapseFrameCaptureUs value: %lld", + mTimeBetweenTimeLapseFrameCaptureUs); + return BAD_VALUE; + } + format->setInt64("time-lapse", + mTimeBetweenTimeLapseFrameCaptureUs); + } } format->setInt32("bitrate", mVideoBitRate); |