Index: talk/app/webrtc/androidtests/src/org/webrtc/VideoCapturerAndroidTestFixtures.java |
diff --git a/talk/app/webrtc/androidtests/src/org/webrtc/VideoCapturerAndroidTestFixtures.java b/talk/app/webrtc/androidtests/src/org/webrtc/VideoCapturerAndroidTestFixtures.java |
index 2bd49beba23515f41803fdc2cab76c8a4a07eb3e..1892506a649b8cca79c67348e88cb7ae3cdc53ad 100644 |
--- a/talk/app/webrtc/androidtests/src/org/webrtc/VideoCapturerAndroidTestFixtures.java |
+++ b/talk/app/webrtc/androidtests/src/org/webrtc/VideoCapturerAndroidTestFixtures.java |
@@ -412,6 +412,7 @@ public class VideoCapturerAndroidTestFixtures { |
static public void startWhileCameraIsAlreadyOpen( |
VideoCapturerAndroid capturer, Context appContext) throws InterruptedException { |
Camera camera = Camera.open(capturer.getCurrentCameraId()); |
+ |
final List<CaptureFormat> formats = capturer.getSupportedFormats(); |
final CameraEnumerationAndroid.CaptureFormat format = formats.get(0); |
@@ -419,7 +420,14 @@ public class VideoCapturerAndroidTestFixtures { |
capturer.startCapture(format.width, format.height, format.maxFramerate, |
appContext, observer); |
- assertFalse(observer.WaitForCapturerToStart()); |
+ if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.LOLLIPOP_MR1) { |
+ // The first opened camera client will be evicted. |
+ assertTrue(observer.WaitForCapturerToStart()); |
+ capturer.stopCapture(); |
+ } else { |
+ assertFalse(observer.WaitForCapturerToStart()); |
+ } |
+ |
capturer.dispose(); |
camera.release(); |
} |