Merge "Modified camera framework stress tests." into qt-dev
This commit is contained in:
@@ -16,15 +16,17 @@
|
||||
|
||||
package com.android.mediaframeworktest;
|
||||
|
||||
import com.android.ex.camera2.blocking.BlockingSessionCallback;
|
||||
import com.android.ex.camera2.blocking.BlockingStateCallback;
|
||||
import com.android.ex.camera2.exceptions.TimeoutRuntimeException;
|
||||
import com.android.mediaframeworktest.helpers.CameraErrorCollector;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestResultPrinter;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestUtils;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback;
|
||||
import com.android.mediaframeworktest.helpers.StaticMetadata;
|
||||
import com.android.mediaframeworktest.helpers.StaticMetadata.CheckLevel;
|
||||
import static com.android.ex.camera2.blocking.BlockingStateCallback.STATE_CLOSED;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAMERA_CLOSE_TIMEOUT_MS;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.MAX_READER_IMAGES;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.PREVIEW_SIZE_BOUND;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSession;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getPreviewSizeBound;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSortedSizesForFormat;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedPreviewSizes;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedStillSizes;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedVideoSizes;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.makeImageReader;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.ImageFormat;
|
||||
@@ -39,14 +41,11 @@ import android.hardware.camera2.CaptureRequest;
|
||||
import android.hardware.camera2.CaptureResult;
|
||||
import android.hardware.camera2.params.StreamConfigurationMap;
|
||||
import android.media.ImageReader;
|
||||
import android.graphics.SurfaceTexture;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.os.Handler;
|
||||
import android.os.HandlerThread;
|
||||
import android.os.Looper;
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
import android.test.InstrumentationTestRunner;
|
||||
import android.util.Log;
|
||||
import android.util.Range;
|
||||
import android.util.Size;
|
||||
@@ -54,24 +53,24 @@ import android.view.Surface;
|
||||
import android.view.SurfaceHolder;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.test.InstrumentationRegistry;
|
||||
|
||||
import com.android.ex.camera2.blocking.BlockingSessionCallback;
|
||||
import com.android.ex.camera2.blocking.BlockingStateCallback;
|
||||
import com.android.ex.camera2.exceptions.TimeoutRuntimeException;
|
||||
import com.android.mediaframeworktest.helpers.CameraErrorCollector;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestResultPrinter;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestUtils;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback;
|
||||
import com.android.mediaframeworktest.helpers.StaticMetadata;
|
||||
import com.android.mediaframeworktest.helpers.StaticMetadata.CheckLevel;
|
||||
|
||||
import java.text.NumberFormat;
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static com.android.ex.camera2.blocking.BlockingStateCallback.STATE_CLOSED;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAMERA_CLOSE_TIMEOUT_MS;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.MAX_READER_IMAGES;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.PREVIEW_SIZE_BOUND;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSession;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getPreviewSizeBound;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedPreviewSizes;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedStillSizes;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedVideoSizes;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSortedSizesForFormat;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.makeImageReader;
|
||||
|
||||
/**
|
||||
* Camera2 Preview test case base class by using SurfaceView as rendering target.
|
||||
*
|
||||
@@ -98,8 +97,9 @@ public class Camera2SurfaceViewTestCase extends
|
||||
protected static final String ARG_KEY_RESULT_TO_FILE = "resultToFile";
|
||||
|
||||
// TODO: Use internal storage for this to make sure the file is only visible to test.
|
||||
protected static final String DEBUG_FILE_NAME_BASE =
|
||||
Environment.getExternalStorageDirectory().getPath();
|
||||
protected static final String DEBUG_FILE_NAME_BASE = InstrumentationRegistry
|
||||
.getInstrumentation().getTargetContext()
|
||||
.getExternalFilesDir(null).getPath();
|
||||
protected static final int WAIT_FOR_RESULT_TIMEOUT_MS = 3000;
|
||||
protected static final float FRAME_DURATION_ERROR_MARGIN = 0.005f; // 0.5 percent error margin.
|
||||
protected static final int NUM_RESULTS_WAIT_TIMEOUT = 100;
|
||||
@@ -779,7 +779,7 @@ public class Camera2SurfaceViewTestCase extends
|
||||
//--------------------------------------------------------------------------------
|
||||
|
||||
protected Bundle getArguments() {
|
||||
return ((InstrumentationTestRunner)getInstrumentation()).getArguments();
|
||||
return InstrumentationRegistry.getArguments();
|
||||
}
|
||||
|
||||
protected <E extends Number> Number getArgumentsAsNumber(String key, E defaultValue) {
|
||||
|
||||
@@ -18,9 +18,10 @@ package com.android.mediaframeworktest.helpers;
|
||||
|
||||
import android.app.Instrumentation;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.test.InstrumentationRegistry;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
@@ -28,8 +29,9 @@ import java.io.FileWriter;
|
||||
public class CameraTestResultPrinter {
|
||||
|
||||
private static final String TAG = CameraTestResultPrinter.class.getSimpleName();
|
||||
private static final String RESULT_DIR = Environment.getExternalStorageDirectory() +
|
||||
"/camera-out/";
|
||||
private static final String RESULT_DIR = InstrumentationRegistry
|
||||
.getInstrumentation().getTargetContext()
|
||||
.getExternalFilesDir(null).getPath() + "/camera-out/";
|
||||
private static final String RESULT_FILE_FORMAT = "fwk-stress_camera_%s.txt";
|
||||
private static final String RESULT_SWAP_FILE = "fwk-stress.swp";
|
||||
private static final String KEY_NUM_ATTEMPTS = "numAttempts"; // Total number of iterations
|
||||
|
||||
@@ -16,8 +16,13 @@
|
||||
|
||||
package com.android.mediaframeworktest.stress;
|
||||
|
||||
import com.android.mediaframeworktest.Camera2SurfaceViewTestCase;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback;
|
||||
import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_OFF;
|
||||
import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON;
|
||||
import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON_ALWAYS_FLASH;
|
||||
import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON_AUTO_FLASH;
|
||||
import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE;
|
||||
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNotNull;
|
||||
|
||||
import android.hardware.camera2.CameraCharacteristics;
|
||||
import android.hardware.camera2.CameraDevice;
|
||||
@@ -26,14 +31,10 @@ import android.hardware.camera2.CaptureResult;
|
||||
import android.util.Log;
|
||||
import android.util.Size;
|
||||
|
||||
import java.util.Arrays;
|
||||
import com.android.mediaframeworktest.Camera2SurfaceViewTestCase;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback;
|
||||
|
||||
import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_OFF;
|
||||
import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON;
|
||||
import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON_ALWAYS_FLASH;
|
||||
import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON_AUTO_FLASH;
|
||||
import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNotNull;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -49,7 +50,7 @@ import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNot
|
||||
* -e iterations 10 \
|
||||
* -e waitIntervalMs 1000 \
|
||||
* -e resultToFile false \
|
||||
* -r -w com.android.mediaframeworktest/.Camera2InstrumentationTestRunner
|
||||
* -r -w com.android.mediaframeworktest/androidx.test.runner.AndroidJUnitRunner
|
||||
*/
|
||||
public class Camera2CaptureRequestTest extends Camera2SurfaceViewTestCase {
|
||||
private static final String TAG = "CaptureRequestTest";
|
||||
|
||||
@@ -16,11 +16,17 @@
|
||||
|
||||
package com.android.mediaframeworktest.stress;
|
||||
|
||||
import com.android.ex.camera2.blocking.BlockingSessionCallback;
|
||||
import com.android.mediaframeworktest.Camera2SurfaceViewTestCase;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestUtils;
|
||||
|
||||
import junit.framework.AssertionFailedError;
|
||||
import static com.android.ex.camera2.blocking.BlockingSessionCallback.SESSION_CLOSED;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAPTURE_IMAGE_TIMEOUT_MS;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.SESSION_CLOSE_TIMEOUT_MS;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.SIZE_BOUND_1080P;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.SIZE_BOUND_2160P;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleImageReaderListener;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSession;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSessionWithParameters;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedVideoSizes;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNotNull;
|
||||
|
||||
import android.graphics.ImageFormat;
|
||||
import android.hardware.camera2.CameraCaptureSession;
|
||||
@@ -36,7 +42,6 @@ import android.media.ImageReader;
|
||||
import android.media.MediaExtractor;
|
||||
import android.media.MediaFormat;
|
||||
import android.media.MediaRecorder;
|
||||
import android.os.Environment;
|
||||
import android.os.SystemClock;
|
||||
import android.test.suitebuilder.annotation.LargeTest;
|
||||
import android.util.Log;
|
||||
@@ -44,24 +49,20 @@ import android.util.Range;
|
||||
import android.util.Size;
|
||||
import android.view.Surface;
|
||||
|
||||
import androidx.test.InstrumentationRegistry;
|
||||
|
||||
import com.android.ex.camera2.blocking.BlockingSessionCallback;
|
||||
import com.android.mediaframeworktest.Camera2SurfaceViewTestCase;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestUtils;
|
||||
|
||||
import junit.framework.AssertionFailedError;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static com.android.ex.camera2.blocking.BlockingSessionCallback.SESSION_CLOSED;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAPTURE_IMAGE_TIMEOUT_MS;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.SESSION_CLOSE_TIMEOUT_MS;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.SIZE_BOUND_1080P;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.SIZE_BOUND_2160P;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleImageReaderListener;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSession;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSessionWithParameters;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedVideoSizes;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNotNull;
|
||||
|
||||
/**
|
||||
* CameraDevice video recording use case tests by using MediaRecorder and
|
||||
* MediaCodec.
|
||||
@@ -71,7 +72,7 @@ import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNot
|
||||
* -e iterations 10 \
|
||||
* -e waitIntervalMs 1000 \
|
||||
* -e resultToFile false \
|
||||
* -r -w com.android.mediaframeworktest/.Camera2InstrumentationTestRunner
|
||||
* -r -w com.android.mediaframeworktest/androidx.test.runner.AndroidJUnitRunner
|
||||
*/
|
||||
@LargeTest
|
||||
public class Camera2RecordingTest extends Camera2SurfaceViewTestCase {
|
||||
@@ -85,7 +86,9 @@ public class Camera2RecordingTest extends Camera2SurfaceViewTestCase {
|
||||
private static final int BIT_RATE_MIN = 64000;
|
||||
private static final int BIT_RATE_MAX = 40000000;
|
||||
private static final int VIDEO_FRAME_RATE = 30;
|
||||
private final String VIDEO_FILE_PATH = Environment.getExternalStorageDirectory().getPath();
|
||||
private static final String VIDEO_FILE_PATH = InstrumentationRegistry
|
||||
.getInstrumentation().getTargetContext()
|
||||
.getExternalFilesDir(null).getPath();
|
||||
private static final int[] mCamcorderProfileList = {
|
||||
CamcorderProfile.QUALITY_HIGH,
|
||||
CamcorderProfile.QUALITY_2160P,
|
||||
|
||||
@@ -16,12 +16,15 @@
|
||||
|
||||
package com.android.mediaframeworktest.stress;
|
||||
|
||||
import com.android.ex.camera2.blocking.BlockingSessionCallback;
|
||||
import com.android.ex.camera2.exceptions.TimeoutRuntimeException;
|
||||
import com.android.mediaframeworktest.Camera2SurfaceViewTestCase;
|
||||
import com.android.mediaframeworktest.helpers.Camera2Focuser;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestUtils;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAPTURE_IMAGE_TIMEOUT_MS;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.MAX_READER_IMAGES;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleImageReaderListener;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.basicValidateJpegImage;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSession;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.dumpFile;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getDataFromImage;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNotNull;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.makeImageReader;
|
||||
|
||||
import android.graphics.ImageFormat;
|
||||
import android.graphics.Point;
|
||||
@@ -40,20 +43,17 @@ import android.util.Rational;
|
||||
import android.util.Size;
|
||||
import android.view.Surface;
|
||||
|
||||
import com.android.ex.camera2.blocking.BlockingSessionCallback;
|
||||
import com.android.ex.camera2.exceptions.TimeoutRuntimeException;
|
||||
import com.android.mediaframeworktest.Camera2SurfaceViewTestCase;
|
||||
import com.android.mediaframeworktest.helpers.Camera2Focuser;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestUtils;
|
||||
import com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAPTURE_IMAGE_TIMEOUT_MS;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.MAX_READER_IMAGES;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleImageReaderListener;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.basicValidateJpegImage;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSession;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.dumpFile;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getDataFromImage;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNotNull;
|
||||
import static com.android.mediaframeworktest.helpers.CameraTestUtils.makeImageReader;
|
||||
|
||||
/**
|
||||
* <p>Tests for still capture API.</p>
|
||||
*
|
||||
@@ -62,7 +62,7 @@ import static com.android.mediaframeworktest.helpers.CameraTestUtils.makeImageRe
|
||||
* -e iterations 200 \
|
||||
* -e waitIntervalMs 1000 \
|
||||
* -e resultToFile false \
|
||||
* -r -w com.android.mediaframeworktest/.Camera2InstrumentationTestRunner
|
||||
* -r -w com.android.mediaframeworktest/androidx.test.runner.AndroidJUnitRunner
|
||||
*/
|
||||
public class Camera2StillCaptureTest extends Camera2SurfaceViewTestCase {
|
||||
private static final String TAG = "StillCaptureTest";
|
||||
|
||||
Reference in New Issue
Block a user