Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(850)

Unified Diff: webrtc/api/androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java

Issue 2171023003: Convert Android camera tests to use the new createVideoSource API. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/api/android/java/src/org/webrtc/Camera2Capturer.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/api/androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java
diff --git a/webrtc/api/androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java b/webrtc/api/androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java
index 4c933db0e33ec68b53b5cf1285fda526ff921baa..d705be229a867578ea04a5b7ade7326323213004 100644
--- a/webrtc/api/androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java
+++ b/webrtc/api/androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java
@@ -22,6 +22,10 @@ import java.util.concurrent.CountDownLatch;
class CameraVideoCapturerTestFixtures {
static final String TAG = "CameraVideoCapturerTestFixtures";
+ // Default values used for starting capturing
+ static final int DEFAULT_WIDTH = 640;
+ static final int DEFAULT_HEIGHT = 480;
+ static final int DEFAULT_FPS = 15;
static private class RendererCallbacks implements VideoRenderer.Callbacks {
private int framesRendered = 0;
@@ -344,6 +348,11 @@ class CameraVideoCapturerTestFixtures {
}
private void disposeCapturer(CapturerInstance instance) {
+ try {
+ instance.capturer.stopCapture();
+ } catch (InterruptedException e) {
+ // TODO(sakal): Remove this once stopCapture no longer throws InterruptedException
+ }
instance.capturer.dispose();
instance.surfaceTextureHelper.returnTextureFrame();
instance.surfaceTextureHelper.dispose();
@@ -353,7 +362,8 @@ class CameraVideoCapturerTestFixtures {
VideoRenderer.Callbacks rendererCallbacks) {
VideoTrackWithRenderer videoTrackWithRenderer = new VideoTrackWithRenderer();
videoTrackWithRenderer.source =
- peerConnectionFactory.createVideoSource(capturer, new MediaConstraints());
+ peerConnectionFactory.createVideoSource(capturer);
magjed_webrtc 2016/07/26 09:15:13 This fits on the line above now.
sakal 2016/07/26 11:50:48 Done.
+ capturer.startCapture(DEFAULT_WIDTH, DEFAULT_HEIGHT, DEFAULT_FPS);
videoTrackWithRenderer.track =
peerConnectionFactory.createVideoTrack("dummy", videoTrackWithRenderer.source);
videoTrackWithRenderer.track.addRenderer(new VideoRenderer(rendererCallbacks));
@@ -402,8 +412,8 @@ class CameraVideoCapturerTestFixtures {
final VideoTrackWithRenderer videoTrackWithRenderer =
createVideoTrackWithRenderer(capturerInstance.capturer);
assertTrue(videoTrackWithRenderer.rendererCallbacks.waitForNextFrameToRender() > 0);
- disposeVideoTrackWithRenderer(videoTrackWithRenderer);
disposeCapturer(capturerInstance);
+ disposeVideoTrackWithRenderer(videoTrackWithRenderer);
}
// Test methods
@@ -466,8 +476,8 @@ class CameraVideoCapturerTestFixtures {
assertTrue(cameraSwitchSuccessful[0]);
// Ensure that frames are received.
assertTrue(videoTrackWithRenderer.rendererCallbacks.waitForNextFrameToRender() > 0);
- disposeVideoTrackWithRenderer(videoTrackWithRenderer);
disposeCapturer(capturerInstance);
+ disposeVideoTrackWithRenderer(videoTrackWithRenderer);
}
public void cameraEventsInvoked() throws InterruptedException {
@@ -493,8 +503,8 @@ class CameraVideoCapturerTestFixtures {
// We can't change |capturer| at this point, but we should not crash.
capturerInstance.capturer.switchCamera(null /* switchEventsHandler */);
- capturerInstance.capturer.onOutputFormatRequest(640, 480, 15);
- capturerInstance.capturer.changeCaptureFormat(640, 480, 15);
+ capturerInstance.capturer.onOutputFormatRequest(DEFAULT_WIDTH, DEFAULT_HEIGHT, DEFAULT_FPS);
+ capturerInstance.capturer.changeCaptureFormat(DEFAULT_WIDTH, DEFAULT_HEIGHT, DEFAULT_FPS);
disposeCapturer(capturerInstance);
}
@@ -507,15 +517,15 @@ class CameraVideoCapturerTestFixtures {
assertTrue(videoTrackWithRenderer.rendererCallbacks.waitForNextFrameToRender() > 0);
assertEquals(MediaSource.State.LIVE, videoTrackWithRenderer.source.state());
- videoTrackWithRenderer.source.stop();
+ capturerInstance.capturer.stopCapture();
assertEquals(MediaSource.State.ENDED, videoTrackWithRenderer.source.state());
- videoTrackWithRenderer.source.restart();
+ startCapture(capturerInstance);
assertTrue(videoTrackWithRenderer.rendererCallbacks.waitForNextFrameToRender() > 0);
assertEquals(MediaSource.State.LIVE, videoTrackWithRenderer.source.state());
- disposeVideoTrackWithRenderer(videoTrackWithRenderer);
disposeCapturer(capturerInstance);
+ disposeVideoTrackWithRenderer(videoTrackWithRenderer);
}
public void startStopWithDifferentResolutions() throws InterruptedException {
@@ -585,8 +595,8 @@ class CameraVideoCapturerTestFixtures {
capturerInstance.capturer.stopCapture();
// Dispose everything.
- disposeVideoTrackWithRenderer(videoTrackWithRenderer);
disposeCapturer(capturerInstance);
+ disposeVideoTrackWithRenderer(videoTrackWithRenderer);
// Return the frame(s), on a different thread out of spite.
final List<I420Frame> pendingFrames =
@@ -643,8 +653,8 @@ class CameraVideoCapturerTestFixtures {
&& videoTrackWithRenderer.rendererCallbacks.frameHeight() == scaledHeight);
} while (!gotExpectedResolution && numberOfInspectedFrames < 30);
- disposeVideoTrackWithRenderer(videoTrackWithRenderer);
disposeCapturer(capturerInstance);
+ disposeVideoTrackWithRenderer(videoTrackWithRenderer);
assertTrue(gotExpectedResolution);
}
« no previous file with comments | « webrtc/api/android/java/src/org/webrtc/Camera2Capturer.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698