From daa98ca8d7c85b77ad794cc8d9f17e262ac41d96 Mon Sep 17 00:00:00 2001 From: Chong Zhang Date: Thu, 13 Feb 2014 23:03:22 -0800 Subject: [PATCH] support time lapse/slow motion on SURFACE source - pass time between capture as us, in high fps case ms could be inaccurate - add test cases in MediaRecorderTest for time lapse/slow motion Bug: 13032650 Change-Id: I34ecc3b39e0519753f74ae42afcaeeddfff1666a --- media/java/android/media/MediaRecorder.java | 4 +- .../mediarecorder/MediaRecorderTest.java | 49 +++++++++++++++++-- 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java index f8a7bb67daca6..21e2f4bf93641 100644 --- a/media/java/android/media/MediaRecorder.java +++ b/media/java/android/media/MediaRecorder.java @@ -417,8 +417,8 @@ public class MediaRecorder setParameter("time-lapse-enable=1"); double timeBetweenFrameCapture = 1 / fps; - int timeBetweenFrameCaptureMs = (int) (1000 * timeBetweenFrameCapture); - setParameter("time-between-time-lapse-frame-capture=" + timeBetweenFrameCaptureMs); + long timeBetweenFrameCaptureUs = (long) (1000000 * timeBetweenFrameCapture); + setParameter("time-between-time-lapse-frame-capture=" + timeBetweenFrameCaptureUs); } /** diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/mediarecorder/MediaRecorderTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/mediarecorder/MediaRecorderTest.java index 599522b6c9c6a..d7069cac30fdb 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/mediarecorder/MediaRecorderTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/mediarecorder/MediaRecorderTest.java @@ -58,6 +58,7 @@ public class MediaRecorderTest extends ActivityInstrumentationTestCase2 0) { + recorder.setCaptureRate(captureRate); + sleepTime = 1000 / captureRate; + } recorder.setVideoSize(width, height); recorder.setVideoEncoder(videoFormat); if (!videoOnly) { @@ -256,7 +263,7 @@ public class MediaRecorderTest extends ActivityInstrumentationTestCase2