Skip to content

Commit 7b996d1

Browse files
author
James Dong
committed
Fix a test case failure when there is no back-facing camera on a device
Change-Id: I427b2e03b266ff2d92c6fe64f732a256d285020e related-to-bug: 6538628
1 parent 7f65196 commit 7b996d1

File tree

1 file changed

+53
-51
lines changed

1 file changed

+53
-51
lines changed

media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/MediaRecorderStressTest.java

Lines changed: 53 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)