OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 #include <stdio.h> | 10 #include <stdio.h> |
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
324 2500000, false, "VP8", 3, 0, 400000, | 324 2500000, false, "VP8", 3, 0, 400000, |
325 false, false, "", ""}; | 325 false, false, "", ""}; |
326 VideoQualityTest::Params screenshare_params_low; | 326 VideoQualityTest::Params screenshare_params_low; |
327 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, | 327 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, |
328 2000000, false, "VP8", 2, 0, 400000, | 328 2000000, false, "VP8", 2, 0, 400000, |
329 false, false, "", ""}; | 329 false, false, "", ""}; |
330 | 330 |
331 std::vector<VideoStream> streams = { | 331 std::vector<VideoStream> streams = { |
332 DefaultVideoStream(screenshare_params_low), | 332 DefaultVideoStream(screenshare_params_low), |
333 DefaultVideoStream(screenshare_params_high)}; | 333 DefaultVideoStream(screenshare_params_high)}; |
334 screenshare.ss = {streams, 1, 1, 0}; | 334 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; |
335 RunTest(screenshare); | 335 RunTest(screenshare); |
336 } | 336 } |
337 | 337 |
338 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { | 338 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { |
339 VideoQualityTest::Params config; | 339 VideoQualityTest::Params config; |
340 config.call.send_side_bwe = true; | 340 config.call.send_side_bwe = true; |
341 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false, | 341 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false, |
342 "VP8", 2, 1, 400000, false, false, "", ""}; | 342 "VP8", 2, 1, 400000, false, false, "", ""}; |
343 config.screenshare = {true, 10, 2}; | 343 config.screenshare = {true, 10, 2}; |
344 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0, | 344 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0, |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
416 #if !defined(RTC_DISABLE_VP9) | 416 #if !defined(RTC_DISABLE_VP9) |
417 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { | 417 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { |
418 VideoQualityTest::Params screenshare; | 418 VideoQualityTest::Params screenshare; |
419 screenshare.call.send_side_bwe = true; | 419 screenshare.call.send_side_bwe = true; |
420 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 420 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
421 "VP9", 1, 0, 400000, false, false, "", ""}; | 421 "VP9", 1, 0, 400000, false, false, "", ""}; |
422 screenshare.screenshare = {true, 10}; | 422 screenshare.screenshare = {true, 10}; |
423 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, | 423 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, |
424 kFullStackTestDurationSecs}; | 424 kFullStackTestDurationSecs}; |
425 screenshare.logs = false; | 425 screenshare.logs = false; |
426 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1}; | 426 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1, |
| 427 std::vector<SpatialLayer>(), false}; |
427 RunTest(screenshare); | 428 RunTest(screenshare); |
428 } | 429 } |
429 | 430 |
430 TEST_F(FullStackTest, VP9SVC_3SL_High) { | 431 TEST_F(FullStackTest, VP9SVC_3SL_High) { |
431 VideoQualityTest::Params simulcast; | 432 VideoQualityTest::Params simulcast; |
432 simulcast.call.send_side_bwe = true; | 433 simulcast.call.send_side_bwe = true; |
433 simulcast.video = kSvcVp9Video; | 434 simulcast.video = kSvcVp9Video; |
434 simulcast.analyzer = {"vp9svc_3sl_high", 0.0, 0.0, | 435 simulcast.analyzer = {"vp9svc_3sl_high", 0.0, 0.0, |
435 kFullStackTestDurationSecs}; | 436 kFullStackTestDurationSecs}; |
436 simulcast.logs = false; | 437 simulcast.logs = false; |
437 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 2}; | 438 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 2, |
| 439 std::vector<SpatialLayer>(), false}; |
438 RunTest(simulcast); | 440 RunTest(simulcast); |
439 } | 441 } |
440 | 442 |
441 TEST_F(FullStackTest, VP9SVC_3SL_Medium) { | 443 TEST_F(FullStackTest, VP9SVC_3SL_Medium) { |
442 VideoQualityTest::Params simulcast; | 444 VideoQualityTest::Params simulcast; |
443 simulcast.call.send_side_bwe = true; | 445 simulcast.call.send_side_bwe = true; |
444 simulcast.video = kSvcVp9Video; | 446 simulcast.video = kSvcVp9Video; |
445 simulcast.analyzer = {"vp9svc_3sl_medium", 0.0, 0.0, | 447 simulcast.analyzer = {"vp9svc_3sl_medium", 0.0, 0.0, |
446 kFullStackTestDurationSecs}; | 448 kFullStackTestDurationSecs}; |
447 simulcast.logs = false; | 449 simulcast.logs = false; |
448 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 1}; | 450 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 1, |
| 451 std::vector<SpatialLayer>(), false}; |
449 RunTest(simulcast); | 452 RunTest(simulcast); |
450 } | 453 } |
451 | 454 |
452 TEST_F(FullStackTest, VP9SVC_3SL_Low) { | 455 TEST_F(FullStackTest, VP9SVC_3SL_Low) { |
453 VideoQualityTest::Params simulcast; | 456 VideoQualityTest::Params simulcast; |
454 simulcast.call.send_side_bwe = true; | 457 simulcast.call.send_side_bwe = true; |
455 simulcast.video = kSvcVp9Video; | 458 simulcast.video = kSvcVp9Video; |
456 simulcast.analyzer = {"vp9svc_3sl_low", 0.0, 0.0, kFullStackTestDurationSecs}; | 459 simulcast.analyzer = {"vp9svc_3sl_low", 0.0, 0.0, kFullStackTestDurationSecs}; |
457 simulcast.logs = false; | 460 simulcast.logs = false; |
458 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 0}; | 461 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 0, |
| 462 std::vector<SpatialLayer>(), false}; |
459 RunTest(simulcast); | 463 RunTest(simulcast); |
460 } | 464 } |
461 #endif // !defined(RTC_DISABLE_VP9) | 465 #endif // !defined(RTC_DISABLE_VP9) |
462 | 466 |
| 467 // Android bots can't handle FullHD, so disable the test. |
| 468 #if defined(WEBRTC_ANDROID) |
| 469 #define MAYBE_SimulcastFullHdOveruse DISABLED_SimulcastFullHdOveruse |
| 470 #else |
| 471 #define MAYBE_SimulcastFullHdOveruse SimulcastFullHdOveruse |
| 472 #endif |
| 473 |
| 474 TEST_F(FullStackTest, MAYBE_SimulcastFullHdOveruse) { |
| 475 VideoQualityTest::Params simulcast; |
| 476 simulcast.call.send_side_bwe = true; |
| 477 simulcast.video = {true, 1920, 1080, 30, 800000, 2500000, |
| 478 2500000, false, "VP8", 3, 2, 400000, |
| 479 false, false, "", "Generator"}; |
| 480 simulcast.analyzer = {"simulcast_HD_high", 0.0, 0.0, |
| 481 kFullStackTestDurationSecs}; |
| 482 simulcast.pipe.loss_percent = 0; |
| 483 simulcast.pipe.queue_delay_ms = 100; |
| 484 std::vector<VideoStream> streams = {DefaultVideoStream(simulcast), |
| 485 DefaultVideoStream(simulcast), |
| 486 DefaultVideoStream(simulcast)}; |
| 487 simulcast.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), true}; |
| 488 webrtc::test::ScopedFieldTrials override_trials( |
| 489 "WebRTC-ForceSimulatedOveruseIntervalMs/1000-50000-300/"); |
| 490 RunTest(simulcast); |
| 491 } |
| 492 |
463 TEST_F(FullStackTest, SimulcastVP8_3SL_High) { | 493 TEST_F(FullStackTest, SimulcastVP8_3SL_High) { |
464 VideoQualityTest::Params simulcast; | 494 VideoQualityTest::Params simulcast; |
465 simulcast.call.send_side_bwe = true; | 495 simulcast.call.send_side_bwe = true; |
466 simulcast.video = kSimulcastVp8VideoHigh; | 496 simulcast.video = kSimulcastVp8VideoHigh; |
467 simulcast.analyzer = {"simulcast_vp8_3sl_high", 0.0, 0.0, | 497 simulcast.analyzer = {"simulcast_vp8_3sl_high", 0.0, 0.0, |
468 kFullStackTestDurationSecs}; | 498 kFullStackTestDurationSecs}; |
469 simulcast.pipe.loss_percent = 0; | 499 simulcast.pipe.loss_percent = 0; |
470 simulcast.pipe.queue_delay_ms = 100; | 500 simulcast.pipe.queue_delay_ms = 100; |
471 VideoQualityTest::Params video_params_high; | 501 VideoQualityTest::Params video_params_high; |
472 video_params_high.video = kSimulcastVp8VideoHigh; | 502 video_params_high.video = kSimulcastVp8VideoHigh; |
473 VideoQualityTest::Params video_params_medium; | 503 VideoQualityTest::Params video_params_medium; |
474 video_params_medium.video = kSimulcastVp8VideoMedium; | 504 video_params_medium.video = kSimulcastVp8VideoMedium; |
475 VideoQualityTest::Params video_params_low; | 505 VideoQualityTest::Params video_params_low; |
476 video_params_low.video = kSimulcastVp8VideoLow; | 506 video_params_low.video = kSimulcastVp8VideoLow; |
477 | 507 |
478 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 508 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
479 DefaultVideoStream(video_params_medium), | 509 DefaultVideoStream(video_params_medium), |
480 DefaultVideoStream(video_params_high)}; | 510 DefaultVideoStream(video_params_high)}; |
481 simulcast.ss = {streams, 2, 1, 0}; | 511 simulcast.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; |
482 RunTest(simulcast); | 512 RunTest(simulcast); |
483 } | 513 } |
484 | 514 |
485 TEST_F(FullStackTest, SimulcastVP8_3SL_Medium) { | 515 TEST_F(FullStackTest, SimulcastVP8_3SL_Medium) { |
486 VideoQualityTest::Params simulcast; | 516 VideoQualityTest::Params simulcast; |
487 simulcast.call.send_side_bwe = true; | 517 simulcast.call.send_side_bwe = true; |
488 simulcast.video = kSimulcastVp8VideoHigh; | 518 simulcast.video = kSimulcastVp8VideoHigh; |
489 simulcast.analyzer = {"simulcast_vp8_3sl_medium", 0.0, 0.0, | 519 simulcast.analyzer = {"simulcast_vp8_3sl_medium", 0.0, 0.0, |
490 kFullStackTestDurationSecs}; | 520 kFullStackTestDurationSecs}; |
491 simulcast.pipe.loss_percent = 0; | 521 simulcast.pipe.loss_percent = 0; |
492 simulcast.pipe.queue_delay_ms = 100; | 522 simulcast.pipe.queue_delay_ms = 100; |
493 VideoQualityTest::Params video_params_high; | 523 VideoQualityTest::Params video_params_high; |
494 video_params_high.video = kSimulcastVp8VideoHigh; | 524 video_params_high.video = kSimulcastVp8VideoHigh; |
495 VideoQualityTest::Params video_params_medium; | 525 VideoQualityTest::Params video_params_medium; |
496 video_params_medium.video = kSimulcastVp8VideoMedium; | 526 video_params_medium.video = kSimulcastVp8VideoMedium; |
497 VideoQualityTest::Params video_params_low; | 527 VideoQualityTest::Params video_params_low; |
498 video_params_low.video = kSimulcastVp8VideoLow; | 528 video_params_low.video = kSimulcastVp8VideoLow; |
499 | 529 |
500 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 530 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
501 DefaultVideoStream(video_params_medium), | 531 DefaultVideoStream(video_params_medium), |
502 DefaultVideoStream(video_params_high)}; | 532 DefaultVideoStream(video_params_high)}; |
503 simulcast.ss = {streams, 1, 1, 0}; | 533 simulcast.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; |
504 RunTest(simulcast); | 534 RunTest(simulcast); |
505 } | 535 } |
506 | 536 |
507 TEST_F(FullStackTest, SimulcastVP8_3SL_Low) { | 537 TEST_F(FullStackTest, SimulcastVP8_3SL_Low) { |
508 VideoQualityTest::Params simulcast; | 538 VideoQualityTest::Params simulcast; |
509 simulcast.call.send_side_bwe = true; | 539 simulcast.call.send_side_bwe = true; |
510 simulcast.video = kSimulcastVp8VideoHigh; | 540 simulcast.video = kSimulcastVp8VideoHigh; |
511 simulcast.analyzer = {"simulcast_vp8_3sl_low", 0.0, 0.0, | 541 simulcast.analyzer = {"simulcast_vp8_3sl_low", 0.0, 0.0, |
512 kFullStackTestDurationSecs}; | 542 kFullStackTestDurationSecs}; |
513 simulcast.pipe.loss_percent = 0; | 543 simulcast.pipe.loss_percent = 0; |
514 simulcast.pipe.queue_delay_ms = 100; | 544 simulcast.pipe.queue_delay_ms = 100; |
515 VideoQualityTest::Params video_params_high; | 545 VideoQualityTest::Params video_params_high; |
516 video_params_high.video = kSimulcastVp8VideoHigh; | 546 video_params_high.video = kSimulcastVp8VideoHigh; |
517 VideoQualityTest::Params video_params_medium; | 547 VideoQualityTest::Params video_params_medium; |
518 video_params_medium.video = kSimulcastVp8VideoMedium; | 548 video_params_medium.video = kSimulcastVp8VideoMedium; |
519 VideoQualityTest::Params video_params_low; | 549 VideoQualityTest::Params video_params_low; |
520 video_params_low.video = kSimulcastVp8VideoLow; | 550 video_params_low.video = kSimulcastVp8VideoLow; |
521 | 551 |
522 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 552 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
523 DefaultVideoStream(video_params_medium), | 553 DefaultVideoStream(video_params_medium), |
524 DefaultVideoStream(video_params_high)}; | 554 DefaultVideoStream(video_params_high)}; |
525 simulcast.ss = {streams, 0, 1, 0}; | 555 simulcast.ss = {streams, 0, 1, 0, std::vector<SpatialLayer>(), false}; |
526 RunTest(simulcast); | 556 RunTest(simulcast); |
527 } | 557 } |
528 | 558 |
529 TEST_F(FullStackTest, LargeRoomVP8_5thumb) { | 559 TEST_F(FullStackTest, LargeRoomVP8_5thumb) { |
530 VideoQualityTest::Params large_room; | 560 VideoQualityTest::Params large_room; |
531 large_room.call.send_side_bwe = true; | 561 large_room.call.send_side_bwe = true; |
532 large_room.video = kSimulcastVp8VideoHigh; | 562 large_room.video = kSimulcastVp8VideoHigh; |
533 large_room.analyzer = {"largeroom_5thumb", 0.0, 0.0, | 563 large_room.analyzer = {"largeroom_5thumb", 0.0, 0.0, |
534 kFullStackTestDurationSecs}; | 564 kFullStackTestDurationSecs}; |
535 large_room.pipe.loss_percent = 0; | 565 large_room.pipe.loss_percent = 0; |
536 large_room.pipe.queue_delay_ms = 100; | 566 large_room.pipe.queue_delay_ms = 100; |
537 VideoQualityTest::Params video_params_high; | 567 VideoQualityTest::Params video_params_high; |
538 video_params_high.video = kSimulcastVp8VideoHigh; | 568 video_params_high.video = kSimulcastVp8VideoHigh; |
539 VideoQualityTest::Params video_params_medium; | 569 VideoQualityTest::Params video_params_medium; |
540 video_params_medium.video = kSimulcastVp8VideoMedium; | 570 video_params_medium.video = kSimulcastVp8VideoMedium; |
541 VideoQualityTest::Params video_params_low; | 571 VideoQualityTest::Params video_params_low; |
542 video_params_low.video = kSimulcastVp8VideoLow; | 572 video_params_low.video = kSimulcastVp8VideoLow; |
543 | 573 |
544 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 574 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
545 DefaultVideoStream(video_params_medium), | 575 DefaultVideoStream(video_params_medium), |
546 DefaultVideoStream(video_params_high)}; | 576 DefaultVideoStream(video_params_high)}; |
547 large_room.num_thumbnails = 5; | 577 large_room.num_thumbnails = 5; |
548 large_room.ss = {streams, 2, 1, 0}; | 578 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; |
549 RunTest(large_room); | 579 RunTest(large_room); |
550 } | 580 } |
551 | 581 |
552 #if defined(WEBRTC_ANDROID) | 582 #if defined(WEBRTC_ANDROID) |
553 // Fails on Android: | 583 // Fails on Android: |
554 // https://bugs.chromium.org/p/webrtc/issues/detail?id=7301 | 584 // https://bugs.chromium.org/p/webrtc/issues/detail?id=7301 |
555 #define MAYBE_LargeRoomVP8_50thumb DISABLED_LargeRoomVP8_50thumb | 585 #define MAYBE_LargeRoomVP8_50thumb DISABLED_LargeRoomVP8_50thumb |
556 #define MAYBE_LargeRoomVP8_15thumb DISABLED_LargeRoomVP8_15thumb | 586 #define MAYBE_LargeRoomVP8_15thumb DISABLED_LargeRoomVP8_15thumb |
557 #else | 587 #else |
558 #define MAYBE_LargeRoomVP8_50thumb LargeRoomVP8_50thumb | 588 #define MAYBE_LargeRoomVP8_50thumb LargeRoomVP8_50thumb |
(...skipping 12 matching lines...) Expand all Loading... |
571 video_params_high.video = kSimulcastVp8VideoHigh; | 601 video_params_high.video = kSimulcastVp8VideoHigh; |
572 VideoQualityTest::Params video_params_medium; | 602 VideoQualityTest::Params video_params_medium; |
573 video_params_medium.video = kSimulcastVp8VideoMedium; | 603 video_params_medium.video = kSimulcastVp8VideoMedium; |
574 VideoQualityTest::Params video_params_low; | 604 VideoQualityTest::Params video_params_low; |
575 video_params_low.video = kSimulcastVp8VideoLow; | 605 video_params_low.video = kSimulcastVp8VideoLow; |
576 | 606 |
577 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 607 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
578 DefaultVideoStream(video_params_medium), | 608 DefaultVideoStream(video_params_medium), |
579 DefaultVideoStream(video_params_high)}; | 609 DefaultVideoStream(video_params_high)}; |
580 large_room.num_thumbnails = 15; | 610 large_room.num_thumbnails = 15; |
581 large_room.ss = {streams, 2, 1, 0}; | 611 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; |
582 RunTest(large_room); | 612 RunTest(large_room); |
583 } | 613 } |
584 | 614 |
585 TEST_F(FullStackTest, MAYBE_LargeRoomVP8_50thumb) { | 615 TEST_F(FullStackTest, MAYBE_LargeRoomVP8_50thumb) { |
586 VideoQualityTest::Params large_room; | 616 VideoQualityTest::Params large_room; |
587 large_room.call.send_side_bwe = true; | 617 large_room.call.send_side_bwe = true; |
588 large_room.video = kSimulcastVp8VideoHigh; | 618 large_room.video = kSimulcastVp8VideoHigh; |
589 large_room.analyzer = {"largeroom_50thumb", 0.0, 0.0, | 619 large_room.analyzer = {"largeroom_50thumb", 0.0, 0.0, |
590 kFullStackTestDurationSecs}; | 620 kFullStackTestDurationSecs}; |
591 large_room.pipe.loss_percent = 0; | 621 large_room.pipe.loss_percent = 0; |
592 large_room.pipe.queue_delay_ms = 100; | 622 large_room.pipe.queue_delay_ms = 100; |
593 VideoQualityTest::Params video_params_high; | 623 VideoQualityTest::Params video_params_high; |
594 video_params_high.video = kSimulcastVp8VideoHigh; | 624 video_params_high.video = kSimulcastVp8VideoHigh; |
595 VideoQualityTest::Params video_params_medium; | 625 VideoQualityTest::Params video_params_medium; |
596 video_params_medium.video = kSimulcastVp8VideoMedium; | 626 video_params_medium.video = kSimulcastVp8VideoMedium; |
597 VideoQualityTest::Params video_params_low; | 627 VideoQualityTest::Params video_params_low; |
598 video_params_low.video = kSimulcastVp8VideoLow; | 628 video_params_low.video = kSimulcastVp8VideoLow; |
599 | 629 |
600 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 630 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
601 DefaultVideoStream(video_params_medium), | 631 DefaultVideoStream(video_params_medium), |
602 DefaultVideoStream(video_params_high)}; | 632 DefaultVideoStream(video_params_high)}; |
603 large_room.num_thumbnails = 50; | 633 large_room.num_thumbnails = 50; |
604 large_room.ss = {streams, 2, 1, 0}; | 634 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; |
605 RunTest(large_room); | 635 RunTest(large_room); |
606 } | 636 } |
607 | 637 |
608 | 638 |
609 } // namespace webrtc | 639 } // namespace webrtc |
OLD | NEW |