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 801 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
812 | 812 |
813 // Test that external codecs are added to the end of the supported codec list. | 813 // Test that external codecs are added to the end of the supported codec list. |
814 TEST_F(WebRtcVideoEngineTest, ReportSupportedExternalCodecs) { | 814 TEST_F(WebRtcVideoEngineTest, ReportSupportedExternalCodecs) { |
815 cricket::FakeWebRtcVideoEncoderFactory encoder_factory; | 815 cricket::FakeWebRtcVideoEncoderFactory encoder_factory; |
816 encoder_factory.AddSupportedVideoCodecType("FakeExternalCodec"); | 816 encoder_factory.AddSupportedVideoCodecType("FakeExternalCodec"); |
817 engine_.SetExternalEncoderFactory(&encoder_factory); | 817 engine_.SetExternalEncoderFactory(&encoder_factory); |
818 engine_.Init(); | 818 engine_.Init(); |
819 | 819 |
820 std::vector<cricket::VideoCodec> codecs(engine_.codecs()); | 820 std::vector<cricket::VideoCodec> codecs(engine_.codecs()); |
821 ASSERT_GE(codecs.size(), 2u); | 821 ASSERT_GE(codecs.size(), 2u); |
822 cricket::VideoCodec external_codec = codecs[0]; | 822 cricket::VideoCodec internal_codec = codecs.front(); |
823 cricket::VideoCodec internal_codec = codecs[1]; | 823 cricket::VideoCodec external_codec = codecs.back(); |
824 | 824 |
825 // The external codec will appear first in the vector. | 825 // The external codec will appear last in the vector. |
| 826 EXPECT_EQ("VP8", internal_codec.name); |
826 EXPECT_EQ("FakeExternalCodec", external_codec.name); | 827 EXPECT_EQ("FakeExternalCodec", external_codec.name); |
827 EXPECT_EQ("VP8", internal_codec.name); | |
828 } | 828 } |
829 | 829 |
830 // Test that an external codec that was added after the engine was initialized | 830 // Test that an external codec that was added after the engine was initialized |
831 // does show up in the codec list after it was added. | 831 // does show up in the codec list after it was added. |
832 TEST_F(WebRtcVideoEngineTest, ReportSupportedExternalCodecsWithAddedCodec) { | 832 TEST_F(WebRtcVideoEngineTest, ReportSupportedExternalCodecsWithAddedCodec) { |
833 // Set up external encoder factory with first codec, and initialize engine. | 833 // Set up external encoder factory with first codec, and initialize engine. |
834 cricket::FakeWebRtcVideoEncoderFactory encoder_factory; | 834 cricket::FakeWebRtcVideoEncoderFactory encoder_factory; |
835 encoder_factory.AddSupportedVideoCodecType("FakeExternalCodec1"); | 835 encoder_factory.AddSupportedVideoCodecType("FakeExternalCodec1"); |
836 engine_.SetExternalEncoderFactory(&encoder_factory); | 836 engine_.SetExternalEncoderFactory(&encoder_factory); |
837 engine_.Init(); | 837 engine_.Init(); |
838 | 838 |
839 // The first external codec will appear first in the vector. | 839 // The first external codec will appear last in the vector. |
840 std::vector<cricket::VideoCodec> codecs_before(engine_.codecs()); | 840 std::vector<cricket::VideoCodec> codecs_before(engine_.codecs()); |
841 EXPECT_EQ("FakeExternalCodec1", codecs_before.front().name); | 841 EXPECT_EQ("FakeExternalCodec1", codecs_before.back().name); |
842 | 842 |
843 // Add second codec. | 843 // Add second codec. |
844 encoder_factory.AddSupportedVideoCodecType("FakeExternalCodec2"); | 844 encoder_factory.AddSupportedVideoCodecType("FakeExternalCodec2"); |
845 std::vector<cricket::VideoCodec> codecs_after(engine_.codecs()); | 845 std::vector<cricket::VideoCodec> codecs_after(engine_.codecs()); |
846 EXPECT_EQ(codecs_before.size() + 1, codecs_after.size()); | 846 EXPECT_EQ(codecs_before.size() + 1, codecs_after.size()); |
847 EXPECT_EQ("FakeExternalCodec2", codecs_after[1].name); | 847 EXPECT_EQ("FakeExternalCodec2", codecs_after.back().name); |
848 } | 848 } |
849 | 849 |
850 TEST_F(WebRtcVideoEngineTest, RegisterExternalDecodersIfSupported) { | 850 TEST_F(WebRtcVideoEngineTest, RegisterExternalDecodersIfSupported) { |
851 cricket::FakeWebRtcVideoDecoderFactory decoder_factory; | 851 cricket::FakeWebRtcVideoDecoderFactory decoder_factory; |
852 decoder_factory.AddSupportedVideoCodecType(webrtc::kVideoCodecVP8); | 852 decoder_factory.AddSupportedVideoCodecType(webrtc::kVideoCodecVP8); |
853 cricket::VideoRecvParameters parameters; | 853 cricket::VideoRecvParameters parameters; |
854 parameters.codecs.push_back(GetEngineCodec("VP8")); | 854 parameters.codecs.push_back(GetEngineCodec("VP8")); |
855 | 855 |
856 std::unique_ptr<VideoMediaChannel> channel( | 856 std::unique_ptr<VideoMediaChannel> channel( |
857 SetUpForExternalDecoderFactory(&decoder_factory, parameters.codecs)); | 857 SetUpForExternalDecoderFactory(&decoder_factory, parameters.codecs)); |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1059 engine_.Init(); | 1059 engine_.Init(); |
1060 channel_.reset(engine_.CreateChannel(fake_call_.get(), GetMediaConfig(), | 1060 channel_.reset(engine_.CreateChannel(fake_call_.get(), GetMediaConfig(), |
1061 VideoOptions())); | 1061 VideoOptions())); |
1062 channel_->OnReadyToSend(true); | 1062 channel_->OnReadyToSend(true); |
1063 last_ssrc_ = 123; | 1063 last_ssrc_ = 123; |
1064 send_parameters_.codecs = engine_.codecs(); | 1064 send_parameters_.codecs = engine_.codecs(); |
1065 recv_parameters_.codecs = engine_.codecs(); | 1065 recv_parameters_.codecs = engine_.codecs(); |
1066 ASSERT_TRUE(channel_->SetSendParameters(send_parameters_)); | 1066 ASSERT_TRUE(channel_->SetSendParameters(send_parameters_)); |
1067 } | 1067 } |
1068 | 1068 |
1069 void TearDown() override { | |
1070 channel_ = nullptr; | |
1071 fake_call_ = nullptr; | |
1072 } | |
1073 | |
1074 protected: | 1069 protected: |
1075 FakeVideoSendStream* AddSendStream() { | 1070 FakeVideoSendStream* AddSendStream() { |
1076 return AddSendStream(StreamParams::CreateLegacy(++last_ssrc_)); | 1071 return AddSendStream(StreamParams::CreateLegacy(++last_ssrc_)); |
1077 } | 1072 } |
1078 | 1073 |
1079 FakeVideoSendStream* AddSendStream(const StreamParams& sp) { | 1074 FakeVideoSendStream* AddSendStream(const StreamParams& sp) { |
1080 size_t num_streams = fake_call_->GetVideoSendStreams().size(); | 1075 size_t num_streams = fake_call_->GetVideoSendStreams().size(); |
1081 EXPECT_TRUE(channel_->AddSendStream(sp)); | 1076 EXPECT_TRUE(channel_->AddSendStream(sp)); |
1082 std::vector<FakeVideoSendStream*> streams = | 1077 std::vector<FakeVideoSendStream*> streams = |
1083 fake_call_->GetVideoSendStreams(); | 1078 fake_call_->GetVideoSendStreams(); |
(...skipping 889 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1973 void SetUp() override { | 1968 void SetUp() override { |
1974 engine_.SetExternalEncoderFactory(&encoder_factory_); | 1969 engine_.SetExternalEncoderFactory(&encoder_factory_); |
1975 | 1970 |
1976 WebRtcVideoChannelTest::SetUp(); | 1971 WebRtcVideoChannelTest::SetUp(); |
1977 } | 1972 } |
1978 | 1973 |
1979 void TearDown() override { | 1974 void TearDown() override { |
1980 // Remove references to encoder_factory_ since this will be destroyed | 1975 // Remove references to encoder_factory_ since this will be destroyed |
1981 // before channel_ and engine_. | 1976 // before channel_ and engine_. |
1982 ASSERT_TRUE(channel_->SetSendParameters(send_parameters_)); | 1977 ASSERT_TRUE(channel_->SetSendParameters(send_parameters_)); |
1983 | |
1984 WebRtcVideoChannelTest::TearDown(); | |
1985 } | 1978 } |
1986 | 1979 |
1987 cricket::FakeWebRtcVideoEncoderFactory encoder_factory_; | 1980 cricket::FakeWebRtcVideoEncoderFactory encoder_factory_; |
1988 }; | 1981 }; |
1989 | 1982 |
1990 TEST_F(Vp9SettingsTest, VerifyVp9SpecificSettings) { | 1983 TEST_F(Vp9SettingsTest, VerifyVp9SpecificSettings) { |
1991 cricket::VideoSendParameters parameters; | 1984 cricket::VideoSendParameters parameters; |
1992 parameters.codecs.push_back(GetEngineCodec("VP9")); | 1985 parameters.codecs.push_back(GetEngineCodec("VP9")); |
1993 ASSERT_TRUE(channel_->SetSendParameters(parameters)); | 1986 ASSERT_TRUE(channel_->SetSendParameters(parameters)); |
1994 | 1987 |
(...skipping 2693 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4688 | 4681 |
4689 TEST_F(WebRtcVideoChannelSimulcastTest, | 4682 TEST_F(WebRtcVideoChannelSimulcastTest, |
4690 NoSimulcastScreenshareWithoutConference) { | 4683 NoSimulcastScreenshareWithoutConference) { |
4691 webrtc::test::ScopedFieldTrials override_field_trials_( | 4684 webrtc::test::ScopedFieldTrials override_field_trials_( |
4692 "WebRTC-SimulcastScreenshare/Enabled/"); | 4685 "WebRTC-SimulcastScreenshare/Enabled/"); |
4693 VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 1, true, | 4686 VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 1, true, |
4694 false); | 4687 false); |
4695 } | 4688 } |
4696 | 4689 |
4697 } // namespace cricket | 4690 } // namespace cricket |
OLD | NEW |