Checks for auxiliary video recording.

- Check that time lapse mode is on when using auxiliary video recording.
- Check that auxiliary video size is strictly less than the main video
  size.

Change-Id: Ic49d25e6ac30f6f885ce4f5fb38dbe0cc7bc1be1
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp
index 77a9cca..fe5074b 100644
--- a/media/libmediaplayerservice/StagefrightRecorder.cpp
+++ b/media/libmediaplayerservice/StagefrightRecorder.cpp
@@ -1193,8 +1193,6 @@
         }
         if ((videoWidth != mVideoWidth) || (videoHeight != mVideoHeight)) {
             // Use downsampling from the original source.
-            CHECK(videoWidth <= mVideoWidth);
-            CHECK(videoHeight <= mVideoHeight);
             cameraMediaSource =
                 new VideoSourceDownSampler(cameraMediaSource, videoWidth, videoHeight);
         }
@@ -1244,6 +1242,10 @@
 
 status_t StagefrightRecorder::startMPEG4Recording() {
     if (mCaptureAuxVideo) {
+        if (!mCaptureTimeLapse) {
+            LOGE("Auxiliary video can be captured only in time lapse mode");
+            return UNKNOWN_ERROR;
+        }
         LOGV("Creating MediaSourceSplitter");
         sp<CameraSource> cameraSource;
         status_t err = setupCameraSource(&cameraSource);
@@ -1278,6 +1280,12 @@
             LOGE("Auxiliary File writer is not avaialble");
             return UNKNOWN_ERROR;
         }
+        if ((mAuxVideoWidth > mVideoWidth) || (mAuxVideoHeight > mVideoHeight) ||
+                ((mAuxVideoWidth == mVideoWidth) && mAuxVideoHeight == mVideoHeight)) {
+            LOGE("Auxiliary video size (%d x %d) same or larger than the main video size (%d x %d)",
+                    mAuxVideoWidth, mAuxVideoHeight, mVideoWidth, mVideoHeight);
+            return UNKNOWN_ERROR;
+        }
 
         int32_t totalBitrateAux;
         err = setupMPEG4Recording(mCaptureAuxVideo,