Chromium Code Reviews| 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); |
| } |