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 1023 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1034 EXPECT_EQ(expected_extension, | 1034 EXPECT_EQ(expected_extension, |
1035 send_stream->GetConfig().rtp.extensions[0].name); | 1035 send_stream->GetConfig().rtp.extensions[0].name); |
1036 } | 1036 } |
1037 | 1037 |
1038 void TestCpuAdaptation(bool enable_overuse, bool is_screenshare); | 1038 void TestCpuAdaptation(bool enable_overuse, bool is_screenshare); |
1039 void TestReceiverLocalSsrcConfiguration(bool receiver_first); | 1039 void TestReceiverLocalSsrcConfiguration(bool receiver_first); |
1040 void TestReceiveUnsignalledSsrcPacket(uint8_t payload_type, | 1040 void TestReceiveUnsignalledSsrcPacket(uint8_t payload_type, |
1041 bool expect_created_receive_stream); | 1041 bool expect_created_receive_stream); |
1042 | 1042 |
1043 FakeVideoSendStream* SetDenoisingOption( | 1043 FakeVideoSendStream* SetDenoisingOption( |
1044 const cricket::VideoSendParameters& parameters, | 1044 uint32_t ssrc, |
1045 cricket::FakeVideoCapturer* capturer, | 1045 cricket::FakeVideoCapturer* capturer, |
1046 bool enabled) { | 1046 bool enabled) { |
1047 cricket::VideoSendParameters params = parameters; | 1047 cricket::VideoOptions options; |
1048 params.options.video_noise_reduction = rtc::Optional<bool>(enabled); | 1048 options.video_noise_reduction = rtc::Optional<bool>(enabled); |
1049 // TODO(nisse): Switch to using SetOptions? | 1049 channel_->SetVideoSend(ssrc, true, &options); |
1050 channel_->SetSendParameters(params); | |
1051 // Options only take effect on the next frame. | 1050 // Options only take effect on the next frame. |
1052 EXPECT_TRUE(capturer->CaptureFrame()); | 1051 EXPECT_TRUE(capturer->CaptureFrame()); |
1053 | 1052 |
1054 return fake_call_->GetVideoSendStreams().back(); | 1053 return fake_call_->GetVideoSendStreams().back(); |
1055 } | 1054 } |
1056 | 1055 |
1057 FakeVideoSendStream* SetUpSimulcast(bool enabled, bool with_rtx) { | 1056 FakeVideoSendStream* SetUpSimulcast(bool enabled, bool with_rtx) { |
1058 const int kRtxSsrcOffset = 0xDEADBEEF; | 1057 const int kRtxSsrcOffset = 0xDEADBEEF; |
1059 last_ssrc_ += 3; | 1058 last_ssrc_ += 3; |
1060 std::vector<uint32_t> ssrcs; | 1059 std::vector<uint32_t> ssrcs; |
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1482 EXPECT_GT(recv_stream->GetConfig().rtp.nack.rtp_history_ms, 0); | 1481 EXPECT_GT(recv_stream->GetConfig().rtp.nack.rtp_history_ms, 0); |
1483 send_stream = fake_call_->GetVideoSendStreams()[0]; | 1482 send_stream = fake_call_->GetVideoSendStreams()[0]; |
1484 EXPECT_GT(send_stream->GetConfig().rtp.nack.rtp_history_ms, 0); | 1483 EXPECT_GT(send_stream->GetConfig().rtp.nack.rtp_history_ms, 0); |
1485 } | 1484 } |
1486 | 1485 |
1487 TEST_F(WebRtcVideoChannel2Test, UsesCorrectSettingsForScreencast) { | 1486 TEST_F(WebRtcVideoChannel2Test, UsesCorrectSettingsForScreencast) { |
1488 static const int kScreenshareMinBitrateKbps = 800; | 1487 static const int kScreenshareMinBitrateKbps = 800; |
1489 cricket::VideoCodec codec = kVp8Codec360p; | 1488 cricket::VideoCodec codec = kVp8Codec360p; |
1490 cricket::VideoSendParameters parameters; | 1489 cricket::VideoSendParameters parameters; |
1491 parameters.codecs.push_back(codec); | 1490 parameters.codecs.push_back(codec); |
1492 parameters.options.screencast_min_bitrate_kbps = | 1491 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
| 1492 AddSendStream(); |
| 1493 |
| 1494 VideoOptions mbr_options; |
| 1495 mbr_options.screencast_min_bitrate_kbps = |
1493 rtc::Optional<int>(kScreenshareMinBitrateKbps); | 1496 rtc::Optional<int>(kScreenshareMinBitrateKbps); |
1494 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1497 channel_->SetVideoSend(last_ssrc_, true, &mbr_options); |
1495 | |
1496 AddSendStream(); | |
1497 | 1498 |
1498 cricket::FakeVideoCapturer capturer; | 1499 cricket::FakeVideoCapturer capturer; |
1499 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1500 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1500 cricket::VideoFormat capture_format_hd = | 1501 cricket::VideoFormat capture_format_hd = |
1501 capturer.GetSupportedFormats()->front(); | 1502 capturer.GetSupportedFormats()->front(); |
1502 EXPECT_EQ(1280, capture_format_hd.width); | 1503 EXPECT_EQ(1280, capture_format_hd.width); |
1503 EXPECT_EQ(720, capture_format_hd.height); | 1504 EXPECT_EQ(720, capture_format_hd.height); |
1504 EXPECT_EQ(cricket::CS_RUNNING, capturer.Start(capture_format_hd)); | 1505 EXPECT_EQ(cricket::CS_RUNNING, capturer.Start(capture_format_hd)); |
1505 | 1506 |
1506 EXPECT_TRUE(channel_->SetSend(true)); | 1507 EXPECT_TRUE(channel_->SetSend(true)); |
(...skipping 10 matching lines...) Expand all Loading... |
1517 encoder_config.content_type); | 1518 encoder_config.content_type); |
1518 EXPECT_EQ(codec.width, encoder_config.streams.front().width); | 1519 EXPECT_EQ(codec.width, encoder_config.streams.front().width); |
1519 EXPECT_EQ(codec.height, encoder_config.streams.front().height); | 1520 EXPECT_EQ(codec.height, encoder_config.streams.front().height); |
1520 EXPECT_EQ(0, encoder_config.min_transmit_bitrate_bps) | 1521 EXPECT_EQ(0, encoder_config.min_transmit_bitrate_bps) |
1521 << "Non-screenshare shouldn't use min-transmit bitrate."; | 1522 << "Non-screenshare shouldn't use min-transmit bitrate."; |
1522 | 1523 |
1523 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, nullptr)); | 1524 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, nullptr)); |
1524 // Removing a capturer triggers a black frame to be sent. | 1525 // Removing a capturer triggers a black frame to be sent. |
1525 EXPECT_EQ(2, send_stream->GetNumberOfSwappedFrames()); | 1526 EXPECT_EQ(2, send_stream->GetNumberOfSwappedFrames()); |
1526 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1527 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1527 parameters.options.is_screencast = rtc::Optional<bool>(true); | 1528 VideoOptions screencast_options; |
1528 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1529 screencast_options.is_screencast = rtc::Optional<bool>(true); |
| 1530 EXPECT_TRUE(channel_->SetVideoSend(last_ssrc_, true, &screencast_options)); |
1529 EXPECT_TRUE(capturer.CaptureFrame()); | 1531 EXPECT_TRUE(capturer.CaptureFrame()); |
1530 // Send stream not recreated after option change. | 1532 // Send stream not recreated after option change. |
1531 ASSERT_EQ(send_stream, fake_call_->GetVideoSendStreams().front()); | 1533 ASSERT_EQ(send_stream, fake_call_->GetVideoSendStreams().front()); |
1532 EXPECT_EQ(3, send_stream->GetNumberOfSwappedFrames()); | 1534 EXPECT_EQ(3, send_stream->GetNumberOfSwappedFrames()); |
1533 | 1535 |
1534 // Verify screencast settings. | 1536 // Verify screencast settings. |
1535 encoder_config = send_stream->GetEncoderConfig(); | 1537 encoder_config = send_stream->GetEncoderConfig(); |
1536 EXPECT_EQ(webrtc::VideoEncoderConfig::ContentType::kScreen, | 1538 EXPECT_EQ(webrtc::VideoEncoderConfig::ContentType::kScreen, |
1537 encoder_config.content_type); | 1539 encoder_config.content_type); |
1538 EXPECT_EQ(kScreenshareMinBitrateKbps * 1000, | 1540 EXPECT_EQ(kScreenshareMinBitrateKbps * 1000, |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1594 encoder_config.content_type); | 1596 encoder_config.content_type); |
1595 | 1597 |
1596 EXPECT_TRUE(channel_->SetCapturer(kSsrc, NULL)); | 1598 EXPECT_TRUE(channel_->SetCapturer(kSsrc, NULL)); |
1597 } | 1599 } |
1598 | 1600 |
1599 TEST_F(WebRtcVideoChannel2Test, | 1601 TEST_F(WebRtcVideoChannel2Test, |
1600 ConferenceModeScreencastConfiguresTemporalLayer) { | 1602 ConferenceModeScreencastConfiguresTemporalLayer) { |
1601 static const int kConferenceScreencastTemporalBitrateBps = | 1603 static const int kConferenceScreencastTemporalBitrateBps = |
1602 ScreenshareLayerConfig::GetDefault().tl0_bitrate_kbps * 1000; | 1604 ScreenshareLayerConfig::GetDefault().tl0_bitrate_kbps * 1000; |
1603 send_parameters_.conference_mode = true; | 1605 send_parameters_.conference_mode = true; |
1604 send_parameters_.options.is_screencast = rtc::Optional<bool>(true); | |
1605 channel_->SetSendParameters(send_parameters_); | 1606 channel_->SetSendParameters(send_parameters_); |
1606 | 1607 |
1607 AddSendStream(); | 1608 AddSendStream(); |
1608 | 1609 VideoOptions options; |
| 1610 options.is_screencast = rtc::Optional<bool>(true); |
| 1611 channel_->SetVideoSend(last_ssrc_, true, &options); |
1609 cricket::FakeVideoCapturer capturer; | 1612 cricket::FakeVideoCapturer capturer; |
1610 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1613 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1611 cricket::VideoFormat capture_format_hd = | 1614 cricket::VideoFormat capture_format_hd = |
1612 capturer.GetSupportedFormats()->front(); | 1615 capturer.GetSupportedFormats()->front(); |
1613 EXPECT_EQ(cricket::CS_RUNNING, capturer.Start(capture_format_hd)); | 1616 EXPECT_EQ(cricket::CS_RUNNING, capturer.Start(capture_format_hd)); |
1614 | 1617 |
1615 EXPECT_TRUE(channel_->SetSend(true)); | 1618 EXPECT_TRUE(channel_->SetSend(true)); |
1616 | 1619 |
1617 EXPECT_TRUE(capturer.CaptureFrame()); | 1620 EXPECT_TRUE(capturer.CaptureFrame()); |
1618 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); | 1621 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1682 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1685 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1683 channel_->SetSend(true); | 1686 channel_->SetSend(true); |
1684 | 1687 |
1685 EXPECT_TRUE(capturer.CaptureFrame()); | 1688 EXPECT_TRUE(capturer.CaptureFrame()); |
1686 | 1689 |
1687 webrtc::VideoCodecVP8 vp8_settings; | 1690 webrtc::VideoCodecVP8 vp8_settings; |
1688 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; | 1691 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; |
1689 EXPECT_TRUE(vp8_settings.denoisingOn) | 1692 EXPECT_TRUE(vp8_settings.denoisingOn) |
1690 << "VP8 denoising should be on by default."; | 1693 << "VP8 denoising should be on by default."; |
1691 | 1694 |
1692 stream = SetDenoisingOption(parameters, &capturer, false); | 1695 stream = SetDenoisingOption(last_ssrc_, &capturer, false); |
1693 | 1696 |
1694 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; | 1697 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; |
1695 EXPECT_FALSE(vp8_settings.denoisingOn); | 1698 EXPECT_FALSE(vp8_settings.denoisingOn); |
1696 EXPECT_TRUE(vp8_settings.automaticResizeOn); | 1699 EXPECT_TRUE(vp8_settings.automaticResizeOn); |
1697 EXPECT_TRUE(vp8_settings.frameDroppingOn); | 1700 EXPECT_TRUE(vp8_settings.frameDroppingOn); |
1698 | 1701 |
1699 stream = SetDenoisingOption(parameters, &capturer, true); | 1702 stream = SetDenoisingOption(last_ssrc_, &capturer, true); |
1700 | 1703 |
1701 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; | 1704 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; |
1702 EXPECT_TRUE(vp8_settings.denoisingOn); | 1705 EXPECT_TRUE(vp8_settings.denoisingOn); |
1703 EXPECT_TRUE(vp8_settings.automaticResizeOn); | 1706 EXPECT_TRUE(vp8_settings.automaticResizeOn); |
1704 EXPECT_TRUE(vp8_settings.frameDroppingOn); | 1707 EXPECT_TRUE(vp8_settings.frameDroppingOn); |
1705 | 1708 |
1706 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, NULL)); | 1709 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, NULL)); |
1707 stream = SetUpSimulcast(true, false); | 1710 stream = SetUpSimulcast(true, false); |
1708 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1711 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1709 channel_->SetSend(true); | 1712 channel_->SetSend(true); |
1710 EXPECT_TRUE(capturer.CaptureFrame()); | 1713 EXPECT_TRUE(capturer.CaptureFrame()); |
1711 | 1714 |
1712 EXPECT_EQ(3, stream->GetVideoStreams().size()); | 1715 EXPECT_EQ(3, stream->GetVideoStreams().size()); |
1713 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; | 1716 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; |
1714 // Autmatic resize off when using simulcast. | 1717 // Autmatic resize off when using simulcast. |
1715 EXPECT_FALSE(vp8_settings.automaticResizeOn); | 1718 EXPECT_FALSE(vp8_settings.automaticResizeOn); |
1716 EXPECT_TRUE(vp8_settings.frameDroppingOn); | 1719 EXPECT_TRUE(vp8_settings.frameDroppingOn); |
1717 | 1720 |
1718 // In screen-share mode, denoising is forced off and simulcast disabled. | 1721 // In screen-share mode, denoising is forced off and simulcast disabled. |
1719 parameters.options.is_screencast = rtc::Optional<bool>(true); | 1722 VideoOptions options; |
1720 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1723 options.is_screencast = rtc::Optional<bool>(true); |
| 1724 EXPECT_TRUE(channel_->SetVideoSend(last_ssrc_, true, &options)); |
1721 | 1725 |
1722 stream = SetDenoisingOption(parameters, &capturer, false); | 1726 stream = SetDenoisingOption(last_ssrc_, &capturer, false); |
1723 | 1727 |
1724 EXPECT_EQ(1, stream->GetVideoStreams().size()); | 1728 EXPECT_EQ(1, stream->GetVideoStreams().size()); |
1725 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; | 1729 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; |
1726 EXPECT_FALSE(vp8_settings.denoisingOn); | 1730 EXPECT_FALSE(vp8_settings.denoisingOn); |
1727 // Resizing and frame dropping always off for screen sharing. | 1731 // Resizing and frame dropping always off for screen sharing. |
1728 EXPECT_FALSE(vp8_settings.automaticResizeOn); | 1732 EXPECT_FALSE(vp8_settings.automaticResizeOn); |
1729 EXPECT_FALSE(vp8_settings.frameDroppingOn); | 1733 EXPECT_FALSE(vp8_settings.frameDroppingOn); |
1730 | 1734 |
1731 stream = SetDenoisingOption(parameters, &capturer, true); | 1735 stream = SetDenoisingOption(last_ssrc_, &capturer, true); |
1732 | 1736 |
1733 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; | 1737 ASSERT_TRUE(stream->GetVp8Settings(&vp8_settings)) << "No VP8 config set."; |
1734 EXPECT_FALSE(vp8_settings.denoisingOn); | 1738 EXPECT_FALSE(vp8_settings.denoisingOn); |
1735 EXPECT_FALSE(vp8_settings.automaticResizeOn); | 1739 EXPECT_FALSE(vp8_settings.automaticResizeOn); |
1736 EXPECT_FALSE(vp8_settings.frameDroppingOn); | 1740 EXPECT_FALSE(vp8_settings.frameDroppingOn); |
1737 | 1741 |
1738 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, NULL)); | 1742 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, NULL)); |
1739 } | 1743 } |
1740 | 1744 |
1741 class Vp9SettingsTest : public WebRtcVideoChannel2Test { | 1745 class Vp9SettingsTest : public WebRtcVideoChannel2Test { |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1774 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1778 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1775 channel_->SetSend(true); | 1779 channel_->SetSend(true); |
1776 | 1780 |
1777 EXPECT_TRUE(capturer.CaptureFrame()); | 1781 EXPECT_TRUE(capturer.CaptureFrame()); |
1778 | 1782 |
1779 webrtc::VideoCodecVP9 vp9_settings; | 1783 webrtc::VideoCodecVP9 vp9_settings; |
1780 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; | 1784 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; |
1781 EXPECT_FALSE(vp9_settings.denoisingOn) | 1785 EXPECT_FALSE(vp9_settings.denoisingOn) |
1782 << "VP9 denoising should be off by default."; | 1786 << "VP9 denoising should be off by default."; |
1783 | 1787 |
1784 stream = SetDenoisingOption(parameters, &capturer, false); | 1788 stream = SetDenoisingOption(last_ssrc_, &capturer, false); |
1785 | 1789 |
1786 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; | 1790 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; |
1787 EXPECT_FALSE(vp9_settings.denoisingOn); | 1791 EXPECT_FALSE(vp9_settings.denoisingOn); |
1788 // Frame dropping always on for real time video. | 1792 // Frame dropping always on for real time video. |
1789 EXPECT_TRUE(vp9_settings.frameDroppingOn); | 1793 EXPECT_TRUE(vp9_settings.frameDroppingOn); |
1790 | 1794 |
1791 stream = SetDenoisingOption(parameters, &capturer, true); | 1795 stream = SetDenoisingOption(last_ssrc_, &capturer, true); |
1792 | 1796 |
1793 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; | 1797 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; |
1794 EXPECT_TRUE(vp9_settings.denoisingOn); | 1798 EXPECT_TRUE(vp9_settings.denoisingOn); |
1795 EXPECT_TRUE(vp9_settings.frameDroppingOn); | 1799 EXPECT_TRUE(vp9_settings.frameDroppingOn); |
1796 | 1800 |
1797 // In screen-share mode, denoising is forced off. | 1801 // In screen-share mode, denoising is forced off. |
1798 parameters.options.is_screencast = rtc::Optional<bool>(true); | 1802 VideoOptions options; |
1799 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1803 options.is_screencast = rtc::Optional<bool>(true); |
| 1804 EXPECT_TRUE(channel_->SetVideoSend(last_ssrc_, true, &options)); |
1800 | 1805 |
1801 stream = SetDenoisingOption(parameters, &capturer, false); | 1806 stream = SetDenoisingOption(last_ssrc_, &capturer, false); |
1802 | 1807 |
1803 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; | 1808 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; |
1804 EXPECT_FALSE(vp9_settings.denoisingOn); | 1809 EXPECT_FALSE(vp9_settings.denoisingOn); |
1805 // Frame dropping always off for screen sharing. | 1810 // Frame dropping always off for screen sharing. |
1806 EXPECT_FALSE(vp9_settings.frameDroppingOn); | 1811 EXPECT_FALSE(vp9_settings.frameDroppingOn); |
1807 | 1812 |
1808 stream = SetDenoisingOption(parameters, &capturer, false); | 1813 stream = SetDenoisingOption(last_ssrc_, &capturer, false); |
1809 | 1814 |
1810 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; | 1815 ASSERT_TRUE(stream->GetVp9Settings(&vp9_settings)) << "No VP9 config set."; |
1811 EXPECT_FALSE(vp9_settings.denoisingOn); | 1816 EXPECT_FALSE(vp9_settings.denoisingOn); |
1812 EXPECT_FALSE(vp9_settings.frameDroppingOn); | 1817 EXPECT_FALSE(vp9_settings.frameDroppingOn); |
1813 | 1818 |
1814 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, NULL)); | 1819 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, NULL)); |
1815 } | 1820 } |
1816 | 1821 |
1817 TEST_F(WebRtcVideoChannel2Test, AdaptsOnOveruse) { | 1822 TEST_F(WebRtcVideoChannel2Test, AdaptsOnOveruse) { |
1818 TestCpuAdaptation(true, false); | 1823 TestCpuAdaptation(true, false); |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1898 cricket::VideoSendParameters parameters; | 1903 cricket::VideoSendParameters parameters; |
1899 parameters.codecs.push_back(codec); | 1904 parameters.codecs.push_back(codec); |
1900 | 1905 |
1901 MediaConfig media_config = MediaConfig(); | 1906 MediaConfig media_config = MediaConfig(); |
1902 if (!enable_overuse) { | 1907 if (!enable_overuse) { |
1903 media_config.video.enable_cpu_overuse_detection = false; | 1908 media_config.video.enable_cpu_overuse_detection = false; |
1904 } | 1909 } |
1905 channel_.reset( | 1910 channel_.reset( |
1906 engine_.CreateChannel(fake_call_.get(), media_config, VideoOptions())); | 1911 engine_.CreateChannel(fake_call_.get(), media_config, VideoOptions())); |
1907 | 1912 |
1908 parameters.options.is_screencast = rtc::Optional<bool>(is_screenshare); | |
1909 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1913 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1910 | 1914 |
1911 AddSendStream(); | 1915 AddSendStream(); |
1912 | 1916 |
| 1917 VideoOptions options; |
| 1918 options.is_screencast = rtc::Optional<bool>(is_screenshare); |
| 1919 EXPECT_TRUE(channel_->SetVideoSend(last_ssrc_, true, &options)); |
| 1920 |
1913 cricket::FakeVideoCapturer capturer; | 1921 cricket::FakeVideoCapturer capturer; |
1914 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1922 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1915 EXPECT_EQ(cricket::CS_RUNNING, | 1923 EXPECT_EQ(cricket::CS_RUNNING, |
1916 capturer.Start(capturer.GetSupportedFormats()->front())); | 1924 capturer.Start(capturer.GetSupportedFormats()->front())); |
1917 | 1925 |
1918 EXPECT_TRUE(channel_->SetSend(true)); | 1926 EXPECT_TRUE(channel_->SetSend(true)); |
1919 | 1927 |
1920 // Trigger overuse. | 1928 // Trigger overuse. |
1921 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); | 1929 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); |
1922 FakeVideoSendStream* send_stream = fake_call_->GetVideoSendStreams().front(); | 1930 FakeVideoSendStream* send_stream = fake_call_->GetVideoSendStreams().front(); |
(...skipping 1328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3251 } | 3259 } |
3252 | 3260 |
3253 // Test that we normalize send codec format size in simulcast. | 3261 // Test that we normalize send codec format size in simulcast. |
3254 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) { | 3262 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) { |
3255 cricket::VideoCodec codec(kVp8Codec270p); | 3263 cricket::VideoCodec codec(kVp8Codec270p); |
3256 codec.width += 1; | 3264 codec.width += 1; |
3257 codec.height += 1; | 3265 codec.height += 1; |
3258 VerifySimulcastSettings(codec, 2, 2); | 3266 VerifySimulcastSettings(codec, 2, 2); |
3259 } | 3267 } |
3260 } // namespace cricket | 3268 } // namespace cricket |
3261 | |
OLD | NEW |