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

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

Issue 2391963002: Rename FecConfig to UlpfecConfig in config.h. (Closed)
Patch Set: Rebase. Created 4 years, 2 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/webrtcvideoengine2.cc ('k') | webrtc/video/end_to_end_tests.cc » ('j') | 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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 return buffer; 75 return buffer;
76 } 76 }
77 77
78 void VerifySendStreamHasRtxTypes(const webrtc::VideoSendStream::Config& config, 78 void VerifySendStreamHasRtxTypes(const webrtc::VideoSendStream::Config& config,
79 const std::map<int, int>& rtx_types) { 79 const std::map<int, int>& rtx_types) {
80 std::map<int, int>::const_iterator it; 80 std::map<int, int>::const_iterator it;
81 it = rtx_types.find(config.encoder_settings.payload_type); 81 it = rtx_types.find(config.encoder_settings.payload_type);
82 EXPECT_TRUE(it != rtx_types.end() && 82 EXPECT_TRUE(it != rtx_types.end() &&
83 it->second == config.rtp.rtx.payload_type); 83 it->second == config.rtp.rtx.payload_type);
84 84
85 if (config.rtp.fec.red_rtx_payload_type != -1) { 85 if (config.rtp.ulpfec.red_rtx_payload_type != -1) {
86 it = rtx_types.find(config.rtp.fec.red_payload_type); 86 it = rtx_types.find(config.rtp.ulpfec.red_payload_type);
87 EXPECT_TRUE(it != rtx_types.end() && 87 EXPECT_TRUE(it != rtx_types.end() &&
88 it->second == config.rtp.fec.red_rtx_payload_type); 88 it->second == config.rtp.ulpfec.red_rtx_payload_type);
89 } 89 }
90 } 90 }
91 } // namespace 91 } // namespace
92 92
93 namespace cricket { 93 namespace cricket {
94 class WebRtcVideoEngine2Test : public ::testing::Test { 94 class WebRtcVideoEngine2Test : public ::testing::Test {
95 public: 95 public:
96 WebRtcVideoEngine2Test() : WebRtcVideoEngine2Test("") {} 96 WebRtcVideoEngine2Test() : WebRtcVideoEngine2Test("") {}
97 explicit WebRtcVideoEngine2Test(const char* field_trials) 97 explicit WebRtcVideoEngine2Test(const char* field_trials)
98 : override_field_trials_(field_trials), 98 : override_field_trials_(field_trials),
(...skipping 2139 matching lines...) Expand 10 before | Expand all | Expand 10 after
2238 2238
2239 // Using a RTX setup to verify that the default RTX payload type is good. 2239 // Using a RTX setup to verify that the default RTX payload type is good.
2240 const std::vector<uint32_t> ssrcs = MAKE_VECTOR(kSsrcs1); 2240 const std::vector<uint32_t> ssrcs = MAKE_VECTOR(kSsrcs1);
2241 const std::vector<uint32_t> rtx_ssrcs = MAKE_VECTOR(kRtxSsrcs1); 2241 const std::vector<uint32_t> rtx_ssrcs = MAKE_VECTOR(kRtxSsrcs1);
2242 FakeVideoSendStream* stream = AddSendStream( 2242 FakeVideoSendStream* stream = AddSendStream(
2243 cricket::CreateSimWithRtxStreamParams("cname", ssrcs, rtx_ssrcs)); 2243 cricket::CreateSimWithRtxStreamParams("cname", ssrcs, rtx_ssrcs));
2244 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); 2244 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy();
2245 2245
2246 // Make sure NACK and FEC are enabled on the correct payload types. 2246 // Make sure NACK and FEC are enabled on the correct payload types.
2247 EXPECT_EQ(1000, config.rtp.nack.rtp_history_ms); 2247 EXPECT_EQ(1000, config.rtp.nack.rtp_history_ms);
2248 EXPECT_EQ(default_ulpfec_codec_.id, config.rtp.fec.ulpfec_payload_type); 2248 EXPECT_EQ(default_ulpfec_codec_.id, config.rtp.ulpfec.ulpfec_payload_type);
2249 EXPECT_EQ(default_red_codec_.id, config.rtp.fec.red_payload_type); 2249 EXPECT_EQ(default_red_codec_.id, config.rtp.ulpfec.red_payload_type);
2250 2250
2251 EXPECT_EQ(1u, config.rtp.rtx.ssrcs.size()); 2251 EXPECT_EQ(1u, config.rtp.rtx.ssrcs.size());
2252 EXPECT_EQ(kRtxSsrcs1[0], config.rtp.rtx.ssrcs[0]); 2252 EXPECT_EQ(kRtxSsrcs1[0], config.rtp.rtx.ssrcs[0]);
2253 VerifySendStreamHasRtxTypes(config, default_apt_rtx_types_); 2253 VerifySendStreamHasRtxTypes(config, default_apt_rtx_types_);
2254 // TODO(juberti): Check RTCP, PLI, TMMBR. 2254 // TODO(juberti): Check RTCP, PLI, TMMBR.
2255 } 2255 }
2256 2256
2257 TEST_F(WebRtcVideoChannel2Test, SetSendCodecsWithoutFec) { 2257 TEST_F(WebRtcVideoChannel2Test, SetSendCodecsWithoutFec) {
2258 cricket::VideoSendParameters parameters; 2258 cricket::VideoSendParameters parameters;
2259 parameters.codecs.push_back(kVp8Codec); 2259 parameters.codecs.push_back(kVp8Codec);
2260 ASSERT_TRUE(channel_->SetSendParameters(parameters)); 2260 ASSERT_TRUE(channel_->SetSendParameters(parameters));
2261 2261
2262 FakeVideoSendStream* stream = AddSendStream(); 2262 FakeVideoSendStream* stream = AddSendStream();
2263 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); 2263 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy();
2264 2264
2265 EXPECT_EQ(-1, config.rtp.fec.ulpfec_payload_type); 2265 EXPECT_EQ(-1, config.rtp.ulpfec.ulpfec_payload_type);
2266 EXPECT_EQ(-1, config.rtp.fec.red_payload_type); 2266 EXPECT_EQ(-1, config.rtp.ulpfec.red_payload_type);
2267 } 2267 }
2268 2268
2269 TEST_F(WebRtcVideoChannel2Test, 2269 TEST_F(WebRtcVideoChannel2Test,
2270 SetSendCodecRejectsRtxWithoutAssociatedPayloadType) { 2270 SetSendCodecRejectsRtxWithoutAssociatedPayloadType) {
2271 cricket::VideoSendParameters parameters; 2271 cricket::VideoSendParameters parameters;
2272 cricket::VideoCodec rtx_codec(96, "rtx", 0, 0, 0); 2272 cricket::VideoCodec rtx_codec(96, "rtx", 0, 0, 0);
2273 parameters.codecs.push_back(rtx_codec); 2273 parameters.codecs.push_back(rtx_codec);
2274 EXPECT_FALSE(channel_->SetSendParameters(parameters)) 2274 EXPECT_FALSE(channel_->SetSendParameters(parameters))
2275 << "RTX codec without associated payload type should be rejected."; 2275 << "RTX codec without associated payload type should be rejected.";
2276 } 2276 }
(...skipping 17 matching lines...) Expand all
2294 2294
2295 TEST_F(WebRtcVideoChannel2Test, SetSendCodecsWithoutFecDisablesFec) { 2295 TEST_F(WebRtcVideoChannel2Test, SetSendCodecsWithoutFecDisablesFec) {
2296 cricket::VideoSendParameters parameters; 2296 cricket::VideoSendParameters parameters;
2297 parameters.codecs.push_back(kVp8Codec); 2297 parameters.codecs.push_back(kVp8Codec);
2298 parameters.codecs.push_back(kUlpfecCodec); 2298 parameters.codecs.push_back(kUlpfecCodec);
2299 ASSERT_TRUE(channel_->SetSendParameters(parameters)); 2299 ASSERT_TRUE(channel_->SetSendParameters(parameters));
2300 2300
2301 FakeVideoSendStream* stream = AddSendStream(); 2301 FakeVideoSendStream* stream = AddSendStream();
2302 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); 2302 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy();
2303 2303
2304 EXPECT_EQ(kUlpfecCodec.id, config.rtp.fec.ulpfec_payload_type); 2304 EXPECT_EQ(kUlpfecCodec.id, config.rtp.ulpfec.ulpfec_payload_type);
2305 2305
2306 parameters.codecs.pop_back(); 2306 parameters.codecs.pop_back();
2307 ASSERT_TRUE(channel_->SetSendParameters(parameters)); 2307 ASSERT_TRUE(channel_->SetSendParameters(parameters));
2308 stream = fake_call_->GetVideoSendStreams()[0]; 2308 stream = fake_call_->GetVideoSendStreams()[0];
2309 ASSERT_TRUE(stream != NULL); 2309 ASSERT_TRUE(stream != NULL);
2310 config = stream->GetConfig().Copy(); 2310 config = stream->GetConfig().Copy();
2311 EXPECT_EQ(-1, config.rtp.fec.ulpfec_payload_type) 2311 EXPECT_EQ(-1, config.rtp.ulpfec.ulpfec_payload_type)
2312 << "SetSendCodec without FEC should disable current FEC."; 2312 << "SetSendCodec without FEC should disable current FEC.";
2313 } 2313 }
2314 2314
2315 TEST_F(WebRtcVideoChannel2Test, SetSendCodecsChangesExistingStreams) { 2315 TEST_F(WebRtcVideoChannel2Test, SetSendCodecsChangesExistingStreams) {
2316 cricket::VideoSendParameters parameters; 2316 cricket::VideoSendParameters parameters;
2317 cricket::VideoCodec codec720p(100, "VP8", 1280, 720, 30); 2317 cricket::VideoCodec codec720p(100, "VP8", 1280, 720, 30);
2318 codec720p.SetParam(kCodecParamMaxQuantization, kDefaultQpMax); 2318 codec720p.SetParam(kCodecParamMaxQuantization, kDefaultQpMax);
2319 parameters.codecs.push_back(codec720p); 2319 parameters.codecs.push_back(codec720p);
2320 2320
2321 ASSERT_TRUE(channel_->SetSendParameters(parameters)); 2321 ASSERT_TRUE(channel_->SetSendParameters(parameters));
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
2650 2650
2651 TEST_F(WebRtcVideoChannel2Test, SetRecvCodecsWithoutFecDisablesFec) { 2651 TEST_F(WebRtcVideoChannel2Test, SetRecvCodecsWithoutFecDisablesFec) {
2652 cricket::VideoSendParameters send_parameters; 2652 cricket::VideoSendParameters send_parameters;
2653 send_parameters.codecs.push_back(kVp8Codec); 2653 send_parameters.codecs.push_back(kVp8Codec);
2654 send_parameters.codecs.push_back(kRedCodec); 2654 send_parameters.codecs.push_back(kRedCodec);
2655 send_parameters.codecs.push_back(kUlpfecCodec); 2655 send_parameters.codecs.push_back(kUlpfecCodec);
2656 ASSERT_TRUE(channel_->SetSendParameters(send_parameters)); 2656 ASSERT_TRUE(channel_->SetSendParameters(send_parameters));
2657 2657
2658 FakeVideoReceiveStream* stream = AddRecvStream(); 2658 FakeVideoReceiveStream* stream = AddRecvStream();
2659 2659
2660 EXPECT_EQ(kUlpfecCodec.id, stream->GetConfig().rtp.fec.ulpfec_payload_type); 2660 EXPECT_EQ(kUlpfecCodec.id,
2661 stream->GetConfig().rtp.ulpfec.ulpfec_payload_type);
2661 2662
2662 cricket::VideoRecvParameters recv_parameters; 2663 cricket::VideoRecvParameters recv_parameters;
2663 recv_parameters.codecs.push_back(kVp8Codec); 2664 recv_parameters.codecs.push_back(kVp8Codec);
2664 ASSERT_TRUE(channel_->SetRecvParameters(recv_parameters)); 2665 ASSERT_TRUE(channel_->SetRecvParameters(recv_parameters));
2665 stream = fake_call_->GetVideoReceiveStreams()[0]; 2666 stream = fake_call_->GetVideoReceiveStreams()[0];
2666 ASSERT_TRUE(stream != NULL); 2667 ASSERT_TRUE(stream != NULL);
2667 EXPECT_EQ(-1, stream->GetConfig().rtp.fec.ulpfec_payload_type) 2668 EXPECT_EQ(-1, stream->GetConfig().rtp.ulpfec.ulpfec_payload_type)
2668 << "SetSendCodec without FEC should disable current FEC."; 2669 << "SetSendCodec without FEC should disable current FEC.";
2669 } 2670 }
2670 2671
2671 TEST_F(WebRtcVideoChannel2Test, SetSendParamsWithoutFecDisablesReceivingFec) { 2672 TEST_F(WebRtcVideoChannel2Test, SetSendParamsWithoutFecDisablesReceivingFec) {
2672 FakeVideoReceiveStream* stream = AddRecvStream(); 2673 FakeVideoReceiveStream* stream = AddRecvStream();
2673 EXPECT_EQ(kUlpfecCodec.id, stream->GetConfig().rtp.fec.ulpfec_payload_type); 2674 EXPECT_EQ(kUlpfecCodec.id,
2675 stream->GetConfig().rtp.ulpfec.ulpfec_payload_type);
2674 2676
2675 cricket::VideoRecvParameters recv_parameters; 2677 cricket::VideoRecvParameters recv_parameters;
2676 recv_parameters.codecs.push_back(kVp8Codec); 2678 recv_parameters.codecs.push_back(kVp8Codec);
2677 recv_parameters.codecs.push_back(kRedCodec); 2679 recv_parameters.codecs.push_back(kRedCodec);
2678 recv_parameters.codecs.push_back(kUlpfecCodec); 2680 recv_parameters.codecs.push_back(kUlpfecCodec);
2679 ASSERT_TRUE(channel_->SetRecvParameters(recv_parameters)); 2681 ASSERT_TRUE(channel_->SetRecvParameters(recv_parameters));
2680 stream = fake_call_->GetVideoReceiveStreams()[0]; 2682 stream = fake_call_->GetVideoReceiveStreams()[0];
2681 ASSERT_TRUE(stream != NULL); 2683 ASSERT_TRUE(stream != NULL);
2682 EXPECT_EQ(kUlpfecCodec.id, stream->GetConfig().rtp.fec.ulpfec_payload_type) 2684 EXPECT_EQ(kUlpfecCodec.id, stream->GetConfig().rtp.ulpfec.ulpfec_payload_type)
2683 << "FEC should be enabled on the recieve stream."; 2685 << "FEC should be enabled on the recieve stream.";
2684 2686
2685 cricket::VideoSendParameters send_parameters; 2687 cricket::VideoSendParameters send_parameters;
2686 send_parameters.codecs.push_back(kVp8Codec); 2688 send_parameters.codecs.push_back(kVp8Codec);
2687 ASSERT_TRUE(channel_->SetSendParameters(send_parameters)); 2689 ASSERT_TRUE(channel_->SetSendParameters(send_parameters));
2688 stream = fake_call_->GetVideoReceiveStreams()[0]; 2690 stream = fake_call_->GetVideoReceiveStreams()[0];
2689 EXPECT_EQ(-1, stream->GetConfig().rtp.fec.ulpfec_payload_type) 2691 EXPECT_EQ(-1, stream->GetConfig().rtp.ulpfec.ulpfec_payload_type)
2690 << "FEC should have been disabled when we know the other side won't do " 2692 << "FEC should have been disabled when we know the other side won't do "
2691 "FEC."; 2693 "FEC.";
2692 2694
2693 send_parameters.codecs.push_back(kRedCodec); 2695 send_parameters.codecs.push_back(kRedCodec);
2694 send_parameters.codecs.push_back(kUlpfecCodec); 2696 send_parameters.codecs.push_back(kUlpfecCodec);
2695 ASSERT_TRUE(channel_->SetSendParameters(send_parameters)); 2697 ASSERT_TRUE(channel_->SetSendParameters(send_parameters));
2696 stream = fake_call_->GetVideoReceiveStreams()[0]; 2698 stream = fake_call_->GetVideoReceiveStreams()[0];
2697 EXPECT_EQ(kUlpfecCodec.id, stream->GetConfig().rtp.fec.ulpfec_payload_type) 2699 EXPECT_EQ(kUlpfecCodec.id, stream->GetConfig().rtp.ulpfec.ulpfec_payload_type)
2698 << "FEC should be enabled on the recieve stream."; 2700 << "FEC should be enabled on the recieve stream.";
2699 } 2701 }
2700 2702
2701 TEST_F(WebRtcVideoChannel2Test, SetSendCodecsRejectDuplicateFecPayloads) { 2703 TEST_F(WebRtcVideoChannel2Test, SetSendCodecsRejectDuplicateFecPayloads) {
2702 cricket::VideoRecvParameters parameters; 2704 cricket::VideoRecvParameters parameters;
2703 parameters.codecs.push_back(kVp8Codec); 2705 parameters.codecs.push_back(kVp8Codec);
2704 parameters.codecs.push_back(kRedCodec); 2706 parameters.codecs.push_back(kRedCodec);
2705 parameters.codecs[1].id = parameters.codecs[0].id; 2707 parameters.codecs[1].id = parameters.codecs[0].id;
2706 EXPECT_FALSE(channel_->SetRecvParameters(parameters)); 2708 EXPECT_FALSE(channel_->SetRecvParameters(parameters));
2707 } 2709 }
(...skipping 1144 matching lines...) Expand 10 before | Expand all | Expand 10 after
3852 } 3854 }
3853 3855
3854 // Test that we normalize send codec format size in simulcast. 3856 // Test that we normalize send codec format size in simulcast.
3855 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) { 3857 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) {
3856 cricket::VideoCodec codec(kVp8Codec270p); 3858 cricket::VideoCodec codec(kVp8Codec270p);
3857 codec.width += 1; 3859 codec.width += 1;
3858 codec.height += 1; 3860 codec.height += 1;
3859 VerifySimulcastSettings(codec, 2, 2); 3861 VerifySimulcastSettings(codec, 2, 2);
3860 } 3862 }
3861 } // namespace cricket 3863 } // namespace cricket
OLDNEW
« no previous file with comments | « webrtc/media/engine/webrtcvideoengine2.cc ('k') | webrtc/video/end_to_end_tests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698