OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2004 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 1447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1458 cricket::VideoCodec codec = kVp8Codec360p; | 1458 cricket::VideoCodec codec = kVp8Codec360p; |
1459 cricket::VideoSendParameters parameters; | 1459 cricket::VideoSendParameters parameters; |
1460 parameters.codecs.push_back(codec); | 1460 parameters.codecs.push_back(codec); |
1461 parameters.options.screencast_min_bitrate_kbps = | 1461 parameters.options.screencast_min_bitrate_kbps = |
1462 rtc::Optional<int>(kScreenshareMinBitrateKbps); | 1462 rtc::Optional<int>(kScreenshareMinBitrateKbps); |
1463 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1463 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1464 | 1464 |
1465 AddSendStream(); | 1465 AddSendStream(); |
1466 | 1466 |
1467 cricket::FakeVideoCapturer capturer; | 1467 cricket::FakeVideoCapturer capturer; |
1468 capturer.SetScreencast(false); | |
1469 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1468 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1470 cricket::VideoFormat capture_format_hd = | 1469 cricket::VideoFormat capture_format_hd = |
1471 capturer.GetSupportedFormats()->front(); | 1470 capturer.GetSupportedFormats()->front(); |
1472 EXPECT_EQ(1280, capture_format_hd.width); | 1471 EXPECT_EQ(1280, capture_format_hd.width); |
1473 EXPECT_EQ(720, capture_format_hd.height); | 1472 EXPECT_EQ(720, capture_format_hd.height); |
1474 EXPECT_EQ(cricket::CS_RUNNING, capturer.Start(capture_format_hd)); | 1473 EXPECT_EQ(cricket::CS_RUNNING, capturer.Start(capture_format_hd)); |
1475 | 1474 |
1476 EXPECT_TRUE(channel_->SetSend(true)); | 1475 EXPECT_TRUE(channel_->SetSend(true)); |
1477 | 1476 |
1478 EXPECT_TRUE(capturer.CaptureFrame()); | 1477 EXPECT_TRUE(capturer.CaptureFrame()); |
1479 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); | 1478 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); |
1480 FakeVideoSendStream* send_stream = fake_call_->GetVideoSendStreams().front(); | 1479 FakeVideoSendStream* send_stream = fake_call_->GetVideoSendStreams().front(); |
1481 | 1480 |
1482 EXPECT_EQ(1, send_stream->GetNumberOfSwappedFrames()); | 1481 EXPECT_EQ(1, send_stream->GetNumberOfSwappedFrames()); |
1483 | 1482 |
1484 // Verify non-screencast settings. | 1483 // Verify non-screencast settings. |
1485 webrtc::VideoEncoderConfig encoder_config = send_stream->GetEncoderConfig(); | 1484 webrtc::VideoEncoderConfig encoder_config = send_stream->GetEncoderConfig(); |
1486 EXPECT_EQ(webrtc::VideoEncoderConfig::ContentType::kRealtimeVideo, | 1485 EXPECT_EQ(webrtc::VideoEncoderConfig::ContentType::kRealtimeVideo, |
1487 encoder_config.content_type); | 1486 encoder_config.content_type); |
1488 EXPECT_EQ(codec.width, encoder_config.streams.front().width); | 1487 EXPECT_EQ(codec.width, encoder_config.streams.front().width); |
1489 EXPECT_EQ(codec.height, encoder_config.streams.front().height); | 1488 EXPECT_EQ(codec.height, encoder_config.streams.front().height); |
1490 EXPECT_EQ(0, encoder_config.min_transmit_bitrate_bps) | 1489 EXPECT_EQ(0, encoder_config.min_transmit_bitrate_bps) |
1491 << "Non-screenshare shouldn't use min-transmit bitrate."; | 1490 << "Non-screenshare shouldn't use min-transmit bitrate."; |
1492 | 1491 |
1493 capturer.SetScreencast(true); | 1492 FakeVideoCapturer screencast_capturer(true); |
1494 EXPECT_TRUE(capturer.CaptureFrame()); | 1493 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &screencast_capturer)); |
| 1494 EXPECT_EQ(cricket::CS_RUNNING, screencast_capturer.Start(capture_format_hd)); |
| 1495 parameters.options.is_screencast = rtc::Optional<bool>(true); |
| 1496 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1495 | 1497 |
1496 EXPECT_EQ(2, send_stream->GetNumberOfSwappedFrames()); | 1498 // Send stream recreated after parameter change. |
| 1499 send_stream = fake_call_->GetVideoSendStreams().front(); |
| 1500 EXPECT_EQ(0, send_stream->GetNumberOfSwappedFrames()); |
| 1501 |
| 1502 EXPECT_TRUE(screencast_capturer.CaptureFrame()); |
| 1503 |
| 1504 EXPECT_EQ(1, send_stream->GetNumberOfSwappedFrames()); |
1497 | 1505 |
1498 // Verify screencast settings. | 1506 // Verify screencast settings. |
1499 encoder_config = send_stream->GetEncoderConfig(); | 1507 encoder_config = send_stream->GetEncoderConfig(); |
1500 EXPECT_EQ(webrtc::VideoEncoderConfig::ContentType::kScreen, | 1508 EXPECT_EQ(webrtc::VideoEncoderConfig::ContentType::kScreen, |
1501 encoder_config.content_type); | 1509 encoder_config.content_type); |
1502 EXPECT_EQ(kScreenshareMinBitrateKbps * 1000, | 1510 EXPECT_EQ(kScreenshareMinBitrateKbps * 1000, |
1503 encoder_config.min_transmit_bitrate_bps); | 1511 encoder_config.min_transmit_bitrate_bps); |
1504 | 1512 |
1505 EXPECT_EQ(capture_format_hd.width, encoder_config.streams.front().width); | 1513 EXPECT_EQ(capture_format_hd.width, encoder_config.streams.front().width); |
1506 EXPECT_EQ(capture_format_hd.height, encoder_config.streams.front().height); | 1514 EXPECT_EQ(capture_format_hd.height, encoder_config.streams.front().height); |
1507 EXPECT_TRUE(encoder_config.streams[0].temporal_layer_thresholds_bps.empty()); | 1515 EXPECT_TRUE(encoder_config.streams[0].temporal_layer_thresholds_bps.empty()); |
1508 | 1516 |
1509 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, NULL)); | 1517 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, NULL)); |
1510 } | 1518 } |
1511 | 1519 |
1512 TEST_F(WebRtcVideoChannel2Test, | 1520 TEST_F(WebRtcVideoChannel2Test, |
1513 ConferenceModeScreencastConfiguresTemporalLayer) { | 1521 ConferenceModeScreencastConfiguresTemporalLayer) { |
1514 static const int kConferenceScreencastTemporalBitrateBps = | 1522 static const int kConferenceScreencastTemporalBitrateBps = |
1515 ScreenshareLayerConfig::GetDefault().tl0_bitrate_kbps * 1000; | 1523 ScreenshareLayerConfig::GetDefault().tl0_bitrate_kbps * 1000; |
1516 send_parameters_.conference_mode = true; | 1524 send_parameters_.conference_mode = true; |
| 1525 send_parameters_.options.is_screencast = rtc::Optional<bool>(true); |
1517 channel_->SetSendParameters(send_parameters_); | 1526 channel_->SetSendParameters(send_parameters_); |
1518 | 1527 |
1519 AddSendStream(); | 1528 AddSendStream(); |
1520 | 1529 |
1521 cricket::FakeVideoCapturer capturer; | 1530 cricket::FakeVideoCapturer capturer(true); |
1522 capturer.SetScreencast(true); | |
1523 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1531 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1524 cricket::VideoFormat capture_format_hd = | 1532 cricket::VideoFormat capture_format_hd = |
1525 capturer.GetSupportedFormats()->front(); | 1533 capturer.GetSupportedFormats()->front(); |
1526 EXPECT_EQ(cricket::CS_RUNNING, capturer.Start(capture_format_hd)); | 1534 EXPECT_EQ(cricket::CS_RUNNING, capturer.Start(capture_format_hd)); |
1527 | 1535 |
1528 EXPECT_TRUE(channel_->SetSend(true)); | 1536 EXPECT_TRUE(channel_->SetSend(true)); |
1529 | 1537 |
1530 EXPECT_TRUE(capturer.CaptureFrame()); | 1538 EXPECT_TRUE(capturer.CaptureFrame()); |
1531 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); | 1539 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); |
1532 FakeVideoSendStream* send_stream = fake_call_->GetVideoSendStreams().front(); | 1540 FakeVideoSendStream* send_stream = fake_call_->GetVideoSendStreams().front(); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1576 TEST_F(WebRtcVideoChannel2Test, VerifyVp8SpecificSettings) { | 1584 TEST_F(WebRtcVideoChannel2Test, VerifyVp8SpecificSettings) { |
1577 cricket::VideoSendParameters parameters; | 1585 cricket::VideoSendParameters parameters; |
1578 parameters.codecs.push_back(kVp8Codec720p); | 1586 parameters.codecs.push_back(kVp8Codec720p); |
1579 ASSERT_TRUE(channel_->SetSendParameters(parameters)); | 1587 ASSERT_TRUE(channel_->SetSendParameters(parameters)); |
1580 | 1588 |
1581 // Single-stream settings should apply with RTX as well (verifies that we | 1589 // Single-stream settings should apply with RTX as well (verifies that we |
1582 // check number of regular SSRCs and not StreamParams::ssrcs which contains | 1590 // check number of regular SSRCs and not StreamParams::ssrcs which contains |
1583 // both RTX and regular SSRCs). | 1591 // both RTX and regular SSRCs). |
1584 FakeVideoSendStream* stream = SetUpSimulcast(false, true); | 1592 FakeVideoSendStream* stream = SetUpSimulcast(false, true); |
1585 | 1593 |
1586 cricket::FakeVideoCapturer capturer; | 1594 cricket::FakeVideoCapturer capturer(false); |
1587 capturer.SetScreencast(false); | |
1588 EXPECT_EQ(cricket::CS_RUNNING, | 1595 EXPECT_EQ(cricket::CS_RUNNING, |
1589 capturer.Start(capturer.GetSupportedFormats()->front())); | 1596 capturer.Start(capturer.GetSupportedFormats()->front())); |
1590 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1597 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1591 channel_->SetSend(true); | 1598 channel_->SetSend(true); |
1592 | 1599 |
1593 EXPECT_TRUE(capturer.CaptureFrame()); | 1600 EXPECT_TRUE(capturer.CaptureFrame()); |
1594 | 1601 |
1595 webrtc::VideoCodecVP8 vp8_settings; | 1602 webrtc::VideoCodecVP8 vp8_settings; |
1596 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; | 1603 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; |
1597 EXPECT_TRUE(vp8_settings.denoisingOn) | 1604 EXPECT_TRUE(vp8_settings.denoisingOn) |
(...skipping 19 matching lines...) Expand all Loading... |
1617 channel_->SetSend(true); | 1624 channel_->SetSend(true); |
1618 EXPECT_TRUE(capturer.CaptureFrame()); | 1625 EXPECT_TRUE(capturer.CaptureFrame()); |
1619 | 1626 |
1620 EXPECT_EQ(3, stream->GetVideoStreams().size()); | 1627 EXPECT_EQ(3, stream->GetVideoStreams().size()); |
1621 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; | 1628 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; |
1622 // Autmatic resize off when using simulcast. | 1629 // Autmatic resize off when using simulcast. |
1623 EXPECT_FALSE(vp8_settings.automaticResizeOn); | 1630 EXPECT_FALSE(vp8_settings.automaticResizeOn); |
1624 EXPECT_TRUE(vp8_settings.frameDroppingOn); | 1631 EXPECT_TRUE(vp8_settings.frameDroppingOn); |
1625 | 1632 |
1626 // In screen-share mode, denoising is forced off and simulcast disabled. | 1633 // In screen-share mode, denoising is forced off and simulcast disabled. |
1627 capturer.SetScreencast(true); | 1634 FakeVideoCapturer screencast_capturer(true); |
1628 EXPECT_TRUE(capturer.CaptureFrame()); | 1635 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &screencast_capturer)); |
| 1636 EXPECT_EQ(cricket::CS_RUNNING, screencast_capturer.Start( |
| 1637 screencast_capturer.GetSupportedFormats()->front())); |
| 1638 parameters.options.is_screencast = rtc::Optional<bool>(true); |
| 1639 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
| 1640 |
| 1641 EXPECT_TRUE(screencast_capturer.CaptureFrame()); |
1629 stream = SetDenoisingOption(parameters, false); | 1642 stream = SetDenoisingOption(parameters, false); |
1630 | 1643 |
1631 EXPECT_EQ(1, stream->GetVideoStreams().size()); | 1644 EXPECT_EQ(1, stream->GetVideoStreams().size()); |
1632 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; | 1645 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; |
1633 EXPECT_FALSE(vp8_settings.denoisingOn); | 1646 EXPECT_FALSE(vp8_settings.denoisingOn); |
1634 // Resizing and frame dropping always off for screen sharing. | 1647 // Resizing and frame dropping always off for screen sharing. |
1635 EXPECT_FALSE(vp8_settings.automaticResizeOn); | 1648 EXPECT_FALSE(vp8_settings.automaticResizeOn); |
1636 EXPECT_FALSE(vp8_settings.frameDroppingOn); | 1649 EXPECT_FALSE(vp8_settings.frameDroppingOn); |
1637 | 1650 |
1638 stream = SetDenoisingOption(parameters, true); | 1651 stream = SetDenoisingOption(parameters, true); |
(...skipping 29 matching lines...) Expand all Loading... |
1668 cricket::FakeWebRtcVideoEncoderFactory encoder_factory_; | 1681 cricket::FakeWebRtcVideoEncoderFactory encoder_factory_; |
1669 }; | 1682 }; |
1670 | 1683 |
1671 TEST_F(Vp9SettingsTest, VerifyVp9SpecificSettings) { | 1684 TEST_F(Vp9SettingsTest, VerifyVp9SpecificSettings) { |
1672 cricket::VideoSendParameters parameters; | 1685 cricket::VideoSendParameters parameters; |
1673 parameters.codecs.push_back(kVp9Codec); | 1686 parameters.codecs.push_back(kVp9Codec); |
1674 ASSERT_TRUE(channel_->SetSendParameters(parameters)); | 1687 ASSERT_TRUE(channel_->SetSendParameters(parameters)); |
1675 | 1688 |
1676 FakeVideoSendStream* stream = SetUpSimulcast(false, false); | 1689 FakeVideoSendStream* stream = SetUpSimulcast(false, false); |
1677 | 1690 |
1678 cricket::FakeVideoCapturer capturer; | 1691 cricket::FakeVideoCapturer capturer(false); |
1679 capturer.SetScreencast(false); | |
1680 EXPECT_EQ(cricket::CS_RUNNING, | 1692 EXPECT_EQ(cricket::CS_RUNNING, |
1681 capturer.Start(capturer.GetSupportedFormats()->front())); | 1693 capturer.Start(capturer.GetSupportedFormats()->front())); |
1682 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1694 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1683 channel_->SetSend(true); | 1695 channel_->SetSend(true); |
1684 | 1696 |
1685 EXPECT_TRUE(capturer.CaptureFrame()); | 1697 EXPECT_TRUE(capturer.CaptureFrame()); |
1686 | 1698 |
1687 webrtc::VideoCodecVP9 vp9_settings; | 1699 webrtc::VideoCodecVP9 vp9_settings; |
1688 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; | 1700 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; |
1689 EXPECT_FALSE(vp9_settings.denoisingOn) | 1701 EXPECT_FALSE(vp9_settings.denoisingOn) |
1690 << "VP9 denoising should be off by default."; | 1702 << "VP9 denoising should be off by default."; |
1691 | 1703 |
1692 stream = SetDenoisingOption(parameters, false); | 1704 stream = SetDenoisingOption(parameters, false); |
1693 | 1705 |
1694 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; | 1706 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; |
1695 EXPECT_FALSE(vp9_settings.denoisingOn); | 1707 EXPECT_FALSE(vp9_settings.denoisingOn); |
1696 // Frame dropping always on for real time video. | 1708 // Frame dropping always on for real time video. |
1697 EXPECT_TRUE(vp9_settings.frameDroppingOn); | 1709 EXPECT_TRUE(vp9_settings.frameDroppingOn); |
1698 | 1710 |
1699 stream = SetDenoisingOption(parameters, true); | 1711 stream = SetDenoisingOption(parameters, true); |
1700 | 1712 |
1701 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; | 1713 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; |
1702 EXPECT_TRUE(vp9_settings.denoisingOn); | 1714 EXPECT_TRUE(vp9_settings.denoisingOn); |
1703 EXPECT_TRUE(vp9_settings.frameDroppingOn); | 1715 EXPECT_TRUE(vp9_settings.frameDroppingOn); |
1704 | 1716 |
1705 // In screen-share mode, denoising is forced off. | 1717 // In screen-share mode, denoising is forced off. |
1706 capturer.SetScreencast(true); | 1718 FakeVideoCapturer screencast_capturer(true); |
1707 EXPECT_TRUE(capturer.CaptureFrame()); | 1719 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &screencast_capturer)); |
| 1720 EXPECT_EQ(cricket::CS_RUNNING, screencast_capturer.Start( |
| 1721 screencast_capturer.GetSupportedFormats()->front())); |
| 1722 parameters.options.is_screencast = rtc::Optional<bool>(true); |
| 1723 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
| 1724 |
| 1725 EXPECT_TRUE(screencast_capturer.CaptureFrame()); |
1708 stream = SetDenoisingOption(parameters, false); | 1726 stream = SetDenoisingOption(parameters, false); |
1709 | 1727 |
1710 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; | 1728 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; |
1711 EXPECT_FALSE(vp9_settings.denoisingOn); | 1729 EXPECT_FALSE(vp9_settings.denoisingOn); |
1712 // Frame dropping always off for screen sharing. | 1730 // Frame dropping always off for screen sharing. |
1713 EXPECT_FALSE(vp9_settings.frameDroppingOn); | 1731 EXPECT_FALSE(vp9_settings.frameDroppingOn); |
1714 | 1732 |
1715 stream = SetDenoisingOption(parameters, false); | 1733 stream = SetDenoisingOption(parameters, false); |
1716 | 1734 |
1717 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; | 1735 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; |
(...skipping 25 matching lines...) Expand all Loading... |
1743 if (!enable_overuse) { | 1761 if (!enable_overuse) { |
1744 media_config.enable_cpu_overuse_detection = false; | 1762 media_config.enable_cpu_overuse_detection = false; |
1745 } | 1763 } |
1746 channel_.reset( | 1764 channel_.reset( |
1747 engine_.CreateChannel(fake_call_.get(), media_config, VideoOptions())); | 1765 engine_.CreateChannel(fake_call_.get(), media_config, VideoOptions())); |
1748 | 1766 |
1749 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1767 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1750 | 1768 |
1751 AddSendStream(); | 1769 AddSendStream(); |
1752 | 1770 |
1753 cricket::FakeVideoCapturer capturer; | 1771 cricket::FakeVideoCapturer capturer(is_screenshare); |
1754 capturer.SetScreencast(is_screenshare); | |
1755 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1772 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1756 EXPECT_EQ(cricket::CS_RUNNING, | 1773 EXPECT_EQ(cricket::CS_RUNNING, |
1757 capturer.Start(capturer.GetSupportedFormats()->front())); | 1774 capturer.Start(capturer.GetSupportedFormats()->front())); |
1758 | 1775 |
1759 EXPECT_TRUE(channel_->SetSend(true)); | 1776 EXPECT_TRUE(channel_->SetSend(true)); |
1760 | 1777 |
1761 // Trigger overuse. | 1778 // Trigger overuse. |
1762 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); | 1779 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); |
1763 FakeVideoSendStream* send_stream = fake_call_->GetVideoSendStreams().front(); | 1780 FakeVideoSendStream* send_stream = fake_call_->GetVideoSendStreams().front(); |
1764 webrtc::LoadObserver* overuse_callback = | 1781 webrtc::LoadObserver* overuse_callback = |
(...skipping 1313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3078 // Test that we normalize send codec format size in simulcast. | 3095 // Test that we normalize send codec format size in simulcast. |
3079 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) { | 3096 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) { |
3080 cricket::VideoCodec codec(kVp8Codec270p); | 3097 cricket::VideoCodec codec(kVp8Codec270p); |
3081 codec.width += 1; | 3098 codec.width += 1; |
3082 codec.height += 1; | 3099 codec.height += 1; |
3083 VerifySimulcastSettings(codec, 2, 2); | 3100 VerifySimulcastSettings(codec, 2, 2); |
3084 } | 3101 } |
3085 } // namespace cricket | 3102 } // namespace cricket |
3086 | 3103 |
3087 #endif // HAVE_WEBRTC_VIDEO | 3104 #endif // HAVE_WEBRTC_VIDEO |
OLD | NEW |