@@ -415,59 +415,61 @@ public void testStressTimeLapse() throws Exception {
415415 output .write ("Total number of loops: " + NUMBER_OF_TIME_LAPSE_LOOPS + "\n " );
416416
417417 try {
418- output .write ("No of loop: " );
419- for (int i = 0 ; i < NUMBER_OF_TIME_LAPSE_LOOPS ; i ++) {
420- filename = OUTPUT_FILE + i + OUTPUT_FILE_EXT ;
421- Log .v (TAG , filename );
422- runOnLooper (new Runnable () {
423- @ Override
424- public void run () {
425- mRecorder = new MediaRecorder ();
418+ for (int j = 0 , n = Camera .getNumberOfCameras (); j < n ; j ++) {
419+ output .write ("No of loop: camera " + j );
420+ for (int i = 0 ; i < NUMBER_OF_TIME_LAPSE_LOOPS ; i ++) {
421+ filename = OUTPUT_FILE + j + "_" + i + OUTPUT_FILE_EXT ;
422+ Log .v (TAG , filename );
423+ runOnLooper (new Runnable () {
424+ @ Override
425+ public void run () {
426+ mRecorder = new MediaRecorder ();
427+ }
428+ });
429+
430+ // Set callback
431+ mRecorder .setOnErrorListener (mRecorderErrorCallback );
432+
433+ // Set video source
434+ mRecorder .setVideoSource (MediaRecorder .VideoSource .CAMERA );
435+
436+ // Set camcorder profile for time lapse
437+ CamcorderProfile profile =
438+ CamcorderProfile .get (j , CamcorderProfile .QUALITY_TIME_LAPSE_HIGH );
439+ mRecorder .setProfile (profile );
440+
441+ // Set the timelapse setting; 0.1 = 10 sec timelapse, 0.5 = 2 sec timelapse, etc.
442+ // http://developer.android.com/guide/topics/media/camera.html#time-lapse-video
443+ mRecorder .setCaptureRate (captureRate );
444+
445+ // Set output file
446+ mRecorder .setOutputFile (filename );
447+
448+ // Set the preview display
449+ Log .v (TAG , "mediaRecorder setPreviewDisplay" );
450+ mRecorder .setPreviewDisplay (mSurfaceHolder .getSurface ());
451+
452+ mRecorder .prepare ();
453+ mRecorder .start ();
454+ Thread .sleep (record_duration );
455+ Log .v (TAG , "Before stop" );
456+ mRecorder .stop ();
457+ mRecorder .release ();
458+
459+ // Start the playback
460+ MediaPlayer mp = new MediaPlayer ();
461+ mp .setDataSource (filename );
462+ mp .setDisplay (mSurfaceHolder );
463+ mp .prepare ();
464+ mp .start ();
465+ Thread .sleep (TIME_LAPSE_PLAYBACK_WAIT_TIME );
466+ mp .release ();
467+ validateRecordedVideo (filename );
468+ if (remove_video ) {
469+ removeRecordedVideo (filename );
426470 }
427- });
428-
429- // Set callback
430- mRecorder .setOnErrorListener (mRecorderErrorCallback );
431-
432- // Set video source
433- mRecorder .setVideoSource (MediaRecorder .VideoSource .CAMERA );
434-
435- // Set camcorder profile for time lapse
436- CamcorderProfile profile =
437- CamcorderProfile .get (CamcorderProfile .QUALITY_TIME_LAPSE_HIGH );
438- mRecorder .setProfile (profile );
439-
440- // Set the timelapse setting; 0.1 = 10 sec timelapse, 0.5 = 2 sec timelapse, etc.
441- // http://developer.android.com/guide/topics/media/camera.html#time-lapse-video
442- mRecorder .setCaptureRate (captureRate );
443-
444- // Set output file
445- mRecorder .setOutputFile (filename );
446-
447- // Set the preview display
448- Log .v (TAG , "mediaRecorder setPreviewDisplay" );
449- mRecorder .setPreviewDisplay (mSurfaceHolder .getSurface ());
450-
451- mRecorder .prepare ();
452- mRecorder .start ();
453- Thread .sleep (record_duration );
454- Log .v (TAG , "Before stop" );
455- mRecorder .stop ();
456- mRecorder .release ();
457-
458- // Start the playback
459- MediaPlayer mp = new MediaPlayer ();
460- mp .setDataSource (filename );
461- mp .setDisplay (mSurfaceHolder );
462- mp .prepare ();
463- mp .start ();
464- Thread .sleep (TIME_LAPSE_PLAYBACK_WAIT_TIME );
465- mp .release ();
466- validateRecordedVideo (filename );
467- if (remove_video ) {
468- removeRecordedVideo (filename );
471+ output .write (", " + i );
469472 }
470- output .write (", " + i );
471473 }
472474 }
473475 catch (IllegalStateException e ) {
0 commit comments