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

Side by Side Diff: webrtc/examples/androidtests/src/org/appspot/apprtc/test/PeerConnectionClientTest.java

Issue 1876233002: Add test annotations to AppRTCDemoTest. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 8 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 unified diff | Download patch
« no previous file with comments | « webrtc/examples/androidtests/src/org/appspot/apprtc/test/LooperExecutorTest.java ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2014 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 13 matching lines...) Expand all
24 import org.webrtc.IceCandidate; 24 import org.webrtc.IceCandidate;
25 import org.webrtc.MediaCodecVideoEncoder; 25 import org.webrtc.MediaCodecVideoEncoder;
26 import org.webrtc.PeerConnection; 26 import org.webrtc.PeerConnection;
27 import org.webrtc.PeerConnectionFactory; 27 import org.webrtc.PeerConnectionFactory;
28 import org.webrtc.SessionDescription; 28 import org.webrtc.SessionDescription;
29 import org.webrtc.StatsReport; 29 import org.webrtc.StatsReport;
30 import org.webrtc.VideoRenderer; 30 import org.webrtc.VideoRenderer;
31 31
32 import android.os.Build; 32 import android.os.Build;
33 import android.test.InstrumentationTestCase; 33 import android.test.InstrumentationTestCase;
34 import android.test.suitebuilder.annotation.SmallTest;
34 import android.util.Log; 35 import android.util.Log;
35 36
36 public class PeerConnectionClientTest extends InstrumentationTestCase 37 public class PeerConnectionClientTest extends InstrumentationTestCase
37 implements PeerConnectionEvents { 38 implements PeerConnectionEvents {
38 private static final String TAG = "RTCClientTest"; 39 private static final String TAG = "RTCClientTest";
39 private static final int ICE_CONNECTION_WAIT_TIMEOUT = 10000; 40 private static final int ICE_CONNECTION_WAIT_TIMEOUT = 10000;
40 private static final int WAIT_TIMEOUT = 7000; 41 private static final int WAIT_TIMEOUT = 7000;
41 private static final int CAMERA_SWITCH_ATTEMPTS = 3; 42 private static final int CAMERA_SWITCH_ATTEMPTS = 3;
42 private static final int VIDEO_RESTART_ATTEMPTS = 3; 43 private static final int VIDEO_RESTART_ATTEMPTS = 3;
43 private static final int CAPTURE_FORMAT_CHANGE_ATTEMPTS = 3; 44 private static final int CAPTURE_FORMAT_CHANGE_ATTEMPTS = 3;
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 } 287 }
287 288
288 @Override 289 @Override
289 public void tearDown() { 290 public void tearDown() {
290 signalingExecutor.requestStop(); 291 signalingExecutor.requestStop();
291 if (eglBase != null) { 292 if (eglBase != null) {
292 eglBase.release(); 293 eglBase.release();
293 } 294 }
294 } 295 }
295 296
297 @SmallTest
296 public void testSetLocalOfferMakesVideoFlowLocally() 298 public void testSetLocalOfferMakesVideoFlowLocally()
297 throws InterruptedException { 299 throws InterruptedException {
298 Log.d(TAG, "testSetLocalOfferMakesVideoFlowLocally"); 300 Log.d(TAG, "testSetLocalOfferMakesVideoFlowLocally");
299 MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_R ENDERER_NAME); 301 MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_R ENDERER_NAME);
300 pcClient = createPeerConnectionClient( 302 pcClient = createPeerConnectionClient(
301 localRenderer, new MockRenderer(0, null), 303 localRenderer, new MockRenderer(0, null),
302 createParametersForVideoCall(VIDEO_CODEC_VP8, false), null); 304 createParametersForVideoCall(VIDEO_CODEC_VP8, false), null);
303 305
304 // Wait for local SDP and ice candidates set events. 306 // Wait for local SDP and ice candidates set events.
305 assertTrue("Local SDP was not set.", waitForLocalSDP(WAIT_TIMEOUT)); 307 assertTrue("Local SDP was not set.", waitForLocalSDP(WAIT_TIMEOUT));
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 // For audio just sleep for 1 sec. 353 // For audio just sleep for 1 sec.
352 // TODO(glaznev): check how we can detect that remote audio was rendered. 354 // TODO(glaznev): check how we can detect that remote audio was rendered.
353 Thread.sleep(AUDIO_RUN_TIMEOUT); 355 Thread.sleep(AUDIO_RUN_TIMEOUT);
354 } 356 }
355 357
356 pcClient.close(); 358 pcClient.close();
357 assertTrue(waitForPeerConnectionClosed(WAIT_TIMEOUT)); 359 assertTrue(waitForPeerConnectionClosed(WAIT_TIMEOUT));
358 Log.d(TAG, "testLoopback done."); 360 Log.d(TAG, "testLoopback done.");
359 } 361 }
360 362
363 @SmallTest
361 public void testLoopbackAudio() throws InterruptedException { 364 public void testLoopbackAudio() throws InterruptedException {
362 doLoopbackTest(createParametersForAudioCall(), false); 365 doLoopbackTest(createParametersForAudioCall(), false);
363 } 366 }
364 367
368 @SmallTest
365 public void testLoopbackVp8() throws InterruptedException { 369 public void testLoopbackVp8() throws InterruptedException {
366 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_VP8, false), false); 370 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_VP8, false), false);
367 } 371 }
368 372
369 public void DISABLED_testLoopbackVp9() throws InterruptedException { 373 //@SmallTest
374 public void testLoopbackVp9() throws InterruptedException {
370 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_VP9, false), false); 375 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_VP9, false), false);
371 } 376 }
372 377
378 @SmallTest
373 public void testLoopbackH264() throws InterruptedException { 379 public void testLoopbackH264() throws InterruptedException {
374 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_H264, false), false) ; 380 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_H264, false), false) ;
375 } 381 }
376 382
383 @SmallTest
377 public void testLoopbackVp8DecodeToTexture() throws InterruptedException { 384 public void testLoopbackVp8DecodeToTexture() throws InterruptedException {
378 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { 385 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
379 Log.i(TAG, "Decode to textures is not supported, requires SDK version 19." ); 386 Log.i(TAG, "Decode to textures is not supported, requires SDK version 19." );
380 return; 387 return;
381 } 388 }
382 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_VP8, false), true); 389 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_VP8, false), true);
383 } 390 }
384 391
385 public void DISABLED_testLoopbackVp9DecodeToTexture() throws InterruptedExcept ion { 392 //@SmallTest
393 public void testLoopbackVp9DecodeToTexture() throws InterruptedException {
386 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { 394 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
387 Log.i(TAG, "Decode to textures is not supported, requires SDK version 19." ); 395 Log.i(TAG, "Decode to textures is not supported, requires SDK version 19." );
388 return; 396 return;
389 } 397 }
390 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_VP9, false), true); 398 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_VP9, false), true);
391 } 399 }
392 400
401 @SmallTest
393 public void testLoopbackH264DecodeToTexture() throws InterruptedException { 402 public void testLoopbackH264DecodeToTexture() throws InterruptedException {
394 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { 403 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
395 Log.i(TAG, "Decode to textures is not supported, requires SDK version 19." ); 404 Log.i(TAG, "Decode to textures is not supported, requires SDK version 19." );
396 return; 405 return;
397 } 406 }
398 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_H264, false), true); 407 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_H264, false), true);
399 } 408 }
400 409
410 @SmallTest
401 public void testLoopbackVp8CaptureToTexture() throws InterruptedException { 411 public void testLoopbackVp8CaptureToTexture() throws InterruptedException {
402 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { 412 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
403 Log.i(TAG, "Encode to textures is not supported. Requires SDK version 19") ; 413 Log.i(TAG, "Encode to textures is not supported. Requires SDK version 19") ;
404 return; 414 return;
405 } 415 }
406 // TODO(perkj): If we can always capture to textures, there is no need to ch eck if the 416 // TODO(perkj): If we can always capture to textures, there is no need to ch eck if the
407 // hardware encoder supports to encode from a texture. 417 // hardware encoder supports to encode from a texture.
408 if (!MediaCodecVideoEncoder.isVp8HwSupportedUsingTextures()) { 418 if (!MediaCodecVideoEncoder.isVp8HwSupportedUsingTextures()) {
409 Log.i(TAG, "VP8 encode to textures is not supported."); 419 Log.i(TAG, "VP8 encode to textures is not supported.");
410 return; 420 return;
411 } 421 }
412 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_VP8, true), true); 422 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_VP8, true), true);
413 } 423 }
414 424
415 // Test that a call can be setup even if the EGL context used during initializ ation is 425 // Test that a call can be setup even if the EGL context used during initializ ation is
416 // released before the Video codecs are created. The HW encoder and decoder is setup to use 426 // released before the Video codecs are created. The HW encoder and decoder is setup to use
417 // textures. 427 // textures.
428 @SmallTest
418 public void testLoopbackEglContextReleasedAfterCreatingPc() throws Interrupted Exception { 429 public void testLoopbackEglContextReleasedAfterCreatingPc() throws Interrupted Exception {
419 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { 430 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
420 Log.i(TAG, "Decode to textures is not supported. Requires SDK version 19") ; 431 Log.i(TAG, "Decode to textures is not supported. Requires SDK version 19") ;
421 return; 432 return;
422 } 433 }
423 434
424 loopback = true; 435 loopback = true;
425 PeerConnectionParameters parameters = createParametersForVideoCall(VIDEO_COD EC_VP8, true); 436 PeerConnectionParameters parameters = createParametersForVideoCall(VIDEO_COD EC_VP8, true);
426 MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_R ENDERER_NAME); 437 MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_R ENDERER_NAME);
427 MockRenderer remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, REMOTE _RENDERER_NAME); 438 MockRenderer remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, REMOTE _RENDERER_NAME);
(...skipping 20 matching lines...) Expand all
448 assertTrue("Local video frames were not rendered.", 459 assertTrue("Local video frames were not rendered.",
449 localRenderer.waitForFramesRendered(WAIT_TIMEOUT)); 460 localRenderer.waitForFramesRendered(WAIT_TIMEOUT));
450 assertTrue("Remote video frames were not rendered.", 461 assertTrue("Remote video frames were not rendered.",
451 remoteRenderer.waitForFramesRendered(WAIT_TIMEOUT)); 462 remoteRenderer.waitForFramesRendered(WAIT_TIMEOUT));
452 463
453 pcClient.close(); 464 pcClient.close();
454 assertTrue(waitForPeerConnectionClosed(WAIT_TIMEOUT)); 465 assertTrue(waitForPeerConnectionClosed(WAIT_TIMEOUT));
455 Log.d(TAG, "testLoopback done."); 466 Log.d(TAG, "testLoopback done.");
456 } 467 }
457 468
469 @SmallTest
458 public void testLoopbackH264CaptureToTexture() throws InterruptedException { 470 public void testLoopbackH264CaptureToTexture() throws InterruptedException {
459 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { 471 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
460 Log.i(TAG, "Encode to textures is not supported. Requires KITKAT"); 472 Log.i(TAG, "Encode to textures is not supported. Requires KITKAT");
461 return; 473 return;
462 } 474 }
463 // TODO(perkj): If we can always capture to textures, there is no need to ch eck if the 475 // TODO(perkj): If we can always capture to textures, there is no need to ch eck if the
464 // hardware encoder supports to encode from a texture. 476 // hardware encoder supports to encode from a texture.
465 if (!MediaCodecVideoEncoder.isH264HwSupportedUsingTextures()) { 477 if (!MediaCodecVideoEncoder.isH264HwSupportedUsingTextures()) {
466 Log.i(TAG, "H264 encode to textures is not supported."); 478 Log.i(TAG, "H264 encode to textures is not supported.");
467 return; 479 return;
468 } 480 }
469 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_H264, true), true); 481 doLoopbackTest(createParametersForVideoCall(VIDEO_CODEC_H264, true), true);
470 } 482 }
471 483
472 484
473 // Checks if default front camera can be switched to back camera and then 485 // Checks if default front camera can be switched to back camera and then
474 // again to front camera. 486 // again to front camera.
487 @SmallTest
475 public void testCameraSwitch() throws InterruptedException { 488 public void testCameraSwitch() throws InterruptedException {
476 Log.d(TAG, "testCameraSwitch"); 489 Log.d(TAG, "testCameraSwitch");
477 loopback = true; 490 loopback = true;
478 491
479 MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_R ENDERER_NAME); 492 MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_R ENDERER_NAME);
480 MockRenderer remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, REMOTE _RENDERER_NAME); 493 MockRenderer remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, REMOTE _RENDERER_NAME);
481 494
482 pcClient = createPeerConnectionClient( 495 pcClient = createPeerConnectionClient(
483 localRenderer, remoteRenderer, createParametersForVideoCall(VIDEO_CODEC_ VP8, false), null); 496 localRenderer, remoteRenderer, createParametersForVideoCall(VIDEO_CODEC_ VP8, false), null);
484 497
(...skipping 26 matching lines...) Expand all
511 assertTrue("Remote video frames were not rendered after camera switch.", 524 assertTrue("Remote video frames were not rendered after camera switch.",
512 remoteRenderer.waitForFramesRendered(WAIT_TIMEOUT)); 525 remoteRenderer.waitForFramesRendered(WAIT_TIMEOUT));
513 } 526 }
514 pcClient.close(); 527 pcClient.close();
515 assertTrue(waitForPeerConnectionClosed(WAIT_TIMEOUT)); 528 assertTrue(waitForPeerConnectionClosed(WAIT_TIMEOUT));
516 Log.d(TAG, "testCameraSwitch done."); 529 Log.d(TAG, "testCameraSwitch done.");
517 } 530 }
518 531
519 // Checks if video source can be restarted - simulate app goes to 532 // Checks if video source can be restarted - simulate app goes to
520 // background and back to foreground. 533 // background and back to foreground.
534 @SmallTest
521 public void testVideoSourceRestart() throws InterruptedException { 535 public void testVideoSourceRestart() throws InterruptedException {
522 Log.d(TAG, "testVideoSourceRestart"); 536 Log.d(TAG, "testVideoSourceRestart");
523 loopback = true; 537 loopback = true;
524 538
525 MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_R ENDERER_NAME); 539 MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_R ENDERER_NAME);
526 MockRenderer remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, REMOTE _RENDERER_NAME); 540 MockRenderer remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, REMOTE _RENDERER_NAME);
527 541
528 pcClient = createPeerConnectionClient( 542 pcClient = createPeerConnectionClient(
529 localRenderer, remoteRenderer, createParametersForVideoCall(VIDEO_CODEC_ VP8, false), null); 543 localRenderer, remoteRenderer, createParametersForVideoCall(VIDEO_CODEC_ VP8, false), null);
530 544
(...skipping 27 matching lines...) Expand all
558 localRenderer.waitForFramesRendered(WAIT_TIMEOUT)); 572 localRenderer.waitForFramesRendered(WAIT_TIMEOUT));
559 assertTrue("Remote video frames were not rendered after video restart.", 573 assertTrue("Remote video frames were not rendered after video restart.",
560 remoteRenderer.waitForFramesRendered(WAIT_TIMEOUT)); 574 remoteRenderer.waitForFramesRendered(WAIT_TIMEOUT));
561 } 575 }
562 pcClient.close(); 576 pcClient.close();
563 assertTrue(waitForPeerConnectionClosed(WAIT_TIMEOUT)); 577 assertTrue(waitForPeerConnectionClosed(WAIT_TIMEOUT));
564 Log.d(TAG, "testVideoSourceRestart done."); 578 Log.d(TAG, "testVideoSourceRestart done.");
565 } 579 }
566 580
567 // Checks if capture format can be changed on fly and decoder can be reset pro perly. 581 // Checks if capture format can be changed on fly and decoder can be reset pro perly.
582 @SmallTest
568 public void testCaptureFormatChange() throws InterruptedException { 583 public void testCaptureFormatChange() throws InterruptedException {
569 Log.d(TAG, "testCaptureFormatChange"); 584 Log.d(TAG, "testCaptureFormatChange");
570 loopback = true; 585 loopback = true;
571 586
572 MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_R ENDERER_NAME); 587 MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_R ENDERER_NAME);
573 MockRenderer remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, REMOTE _RENDERER_NAME); 588 MockRenderer remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, REMOTE _RENDERER_NAME);
574 589
575 pcClient = createPeerConnectionClient( 590 pcClient = createPeerConnectionClient(
576 localRenderer, remoteRenderer, createParametersForVideoCall(VIDEO_CODEC_ VP8, false), null); 591 localRenderer, remoteRenderer, createParametersForVideoCall(VIDEO_CODEC_ VP8, false), null);
577 592
(...skipping 30 matching lines...) Expand all
608 assertTrue("Remote video frames were not rendered after capture format cha nge.", 623 assertTrue("Remote video frames were not rendered after capture format cha nge.",
609 remoteRenderer.waitForFramesRendered(WAIT_TIMEOUT)); 624 remoteRenderer.waitForFramesRendered(WAIT_TIMEOUT));
610 } 625 }
611 626
612 pcClient.close(); 627 pcClient.close();
613 assertTrue(waitForPeerConnectionClosed(WAIT_TIMEOUT)); 628 assertTrue(waitForPeerConnectionClosed(WAIT_TIMEOUT));
614 Log.d(TAG, "testCaptureFormatChange done."); 629 Log.d(TAG, "testCaptureFormatChange done.");
615 } 630 }
616 631
617 } 632 }
OLDNEW
« no previous file with comments | « webrtc/examples/androidtests/src/org/appspot/apprtc/test/LooperExecutorTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698