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

Side by Side Diff: webrtc/media/engine/webrtcvideoengine_unittest.cc

Issue 2982053002: Revert "Prefer external video codecs over internal in SDP" (Closed)
Patch Set: Created 3 years, 5 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/media/engine/webrtcvideoengine.cc ('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 (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
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
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
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
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
OLDNEW
« no previous file with comments | « webrtc/media/engine/webrtcvideoengine.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698