| Index: talk/app/webrtc/androidtests/src/org/webrtc/VideoCapturerAndroidTest.java
|
| diff --git a/talk/app/webrtc/androidtests/src/org/webrtc/VideoCapturerAndroidTest.java b/talk/app/webrtc/androidtests/src/org/webrtc/VideoCapturerAndroidTest.java
|
| index 33b8c95986e673fcc82b5b59cdc42015e53ddb45..238de09106492920309c9090219eb844eaf7d015 100644
|
| --- a/talk/app/webrtc/androidtests/src/org/webrtc/VideoCapturerAndroidTest.java
|
| +++ b/talk/app/webrtc/androidtests/src/org/webrtc/VideoCapturerAndroidTest.java
|
| @@ -29,12 +29,15 @@ package org.webrtc;
|
| import android.hardware.Camera;
|
| import android.test.ActivityTestCase;
|
| import android.test.suitebuilder.annotation.SmallTest;
|
| +import android.util.Size;
|
|
|
| import org.webrtc.CameraEnumerationAndroid.CaptureFormat;
|
| import org.webrtc.VideoRenderer.I420Frame;
|
|
|
| import java.util.ArrayList;
|
| +import java.util.HashSet;
|
| import java.util.List;
|
| +import java.util.Set;
|
|
|
| @SuppressWarnings("deprecation")
|
| public class VideoCapturerAndroidTest extends ActivityTestCase {
|
| @@ -176,6 +179,37 @@ public class VideoCapturerAndroidTest extends ActivityTestCase {
|
| }
|
|
|
| @SmallTest
|
| + // Test that enumerating formats using android.hardware.camera2 will give the same formats as
|
| + // android.hardware.camera in the range 320x240 to 1280x720. Often the camera2 API may contain
|
| + // some high resolutions that are not supported in camera1, but it may also be the other way
|
| + // around in some cases. Supported framerates may also differ, so don't compare those.
|
| + public void testCamera2Enumerator() {
|
| + if (!Camera2Enumerator.isSupported()) {
|
| + return;
|
| + }
|
| + final CameraEnumerationAndroid.Enumerator camera1Enumerator = new CameraEnumerator();
|
| + final CameraEnumerationAndroid.Enumerator camera2Enumerator =
|
| + new Camera2Enumerator(getInstrumentation().getContext());
|
| +
|
| + for (int i = 0; i < CameraEnumerationAndroid.getDeviceCount(); ++i) {
|
| + final Set<Size> resolutions1 = new HashSet<Size>();
|
| + for (CaptureFormat format : camera1Enumerator.getSupportedFormats(i)) {
|
| + resolutions1.add(new Size(format.width, format.height));
|
| + }
|
| + final Set<Size> resolutions2 = new HashSet<Size>();
|
| + for (CaptureFormat format : camera2Enumerator.getSupportedFormats(i)) {
|
| + resolutions2.add(new Size(format.width, format.height));
|
| + }
|
| + for (Size size : resolutions1) {
|
| + if (size.getWidth() >= 320 && size.getHeight() >= 240
|
| + && size.getWidth() <= 1280 && size.getHeight() <= 720) {
|
| + assertTrue(resolutions2.contains(size));
|
| + }
|
| + }
|
| + }
|
| + }
|
| +
|
| + @SmallTest
|
| public void testCreateAndRelease() throws Exception {
|
| VideoCapturerAndroid capturer = VideoCapturerAndroid.create("", null);
|
| assertNotNull(capturer);
|
|
|