Use metadata in video buffers for timelapse video recording by default to eliminate memcpy

bug - 3361771

Change-Id: Ib37ffe4be8edc8708baa76b3507b6f11372536d9
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp
index 54e515a..153b2a6 100644
--- a/media/libmediaplayerservice/StagefrightRecorder.cpp
+++ b/media/libmediaplayerservice/StagefrightRecorder.cpp
@@ -1229,25 +1229,13 @@
     }
     if (mVideoEncoderLevel != -1) {
         enc_meta->setInt32(kKeyVideoLevel, mVideoEncoderLevel);
-    } else if (mCaptureTimeLapse) {
-        // Check if we are using high resolution and/or high bitrate and
-        // set appropriate level for the software AVCEncoder.
-        if ((width * height >= 921600) // 720p
-                || (videoBitRate >= 20000000)) {
-            enc_meta->setInt32(kKeyVideoLevel, OMX_VIDEO_AVCLevel5);
-        }
     }
 
     OMXClient client;
     CHECK_EQ(client.connect(), OK);
 
-    // Use software codec for time lapse
     uint32_t encoder_flags = 0;
-    if (mCaptureTimeLapse) {
-        // Do not use software encoder for timelapse for now
-        // It is _very_ slow and the preview appears sluggish
-        //encoder_flags |= OMXCodec::kPreferSoftwareCodecs;
-    } else if (mIsMetaDataStoredInVideoBuffers) {
+    if (mIsMetaDataStoredInVideoBuffers) {
         encoder_flags |= OMXCodec::kHardwareCodecsOnly;
         encoder_flags |= OMXCodec::kStoreMetaDataInVideoBuffers;
     }
diff --git a/media/libstagefright/CameraSourceTimeLapse.cpp b/media/libstagefright/CameraSourceTimeLapse.cpp
index 31b6ec9..b58b9d8 100644
--- a/media/libstagefright/CameraSourceTimeLapse.cpp
+++ b/media/libstagefright/CameraSourceTimeLapse.cpp
@@ -66,7 +66,7 @@
         int32_t videoFrameRate,
         const sp<Surface>& surface,
         int64_t timeBetweenTimeLapseFrameCaptureUs)
-    : CameraSource(camera, cameraId, videoSize, videoFrameRate, surface, false),
+    : CameraSource(camera, cameraId, videoSize, videoFrameRate, surface, true),
       mTimeBetweenTimeLapseFrameCaptureUs(timeBetweenTimeLapseFrameCaptureUs),
       mTimeBetweenTimeLapseVideoFramesUs(1E6/videoFrameRate),
       mLastTimeLapseFrameRealTimestampUs(0),