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

Side by Side Diff: webrtc/video/end_to_end_tests.cc

Issue 3000273002: Reverse |rtx_payload_types| map, and rename. (Closed)
Patch Set: Created 3 years, 4 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 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 #include <algorithm> 10 #include <algorithm>
(...skipping 823 matching lines...) Expand 10 before | Expand all | Expand 10 after
834 send_config->rtp.rtx.ssrcs.push_back(test::CallTest::kSendRtxSsrcs[0]); 834 send_config->rtp.rtx.ssrcs.push_back(test::CallTest::kSendRtxSsrcs[0]);
835 send_config->rtp.rtx.payload_type = test::CallTest::kSendRtxPayloadType; 835 send_config->rtp.rtx.payload_type = test::CallTest::kSendRtxPayloadType;
836 836
837 (*receive_configs)[0].rtp.nack.rtp_history_ms = 837 (*receive_configs)[0].rtp.nack.rtp_history_ms =
838 test::CallTest::kNackRtpHistoryMs; 838 test::CallTest::kNackRtpHistoryMs;
839 (*receive_configs)[0].rtp.ulpfec.red_rtx_payload_type = 839 (*receive_configs)[0].rtp.ulpfec.red_rtx_payload_type =
840 test::CallTest::kRtxRedPayloadType; 840 test::CallTest::kRtxRedPayloadType;
841 841
842 (*receive_configs)[0].rtp.rtx_ssrc = test::CallTest::kSendRtxSsrcs[0]; 842 (*receive_configs)[0].rtp.rtx_ssrc = test::CallTest::kSendRtxSsrcs[0];
843 (*receive_configs)[0] 843 (*receive_configs)[0]
844 .rtp.rtx_payload_types[test::CallTest::kVideoSendPayloadType] = 844 .rtp.media_pt_by_rtx_pt[test::CallTest::kSendRtxPayloadType] =
845 test::CallTest::kSendRtxPayloadType; 845 test::CallTest::kVideoSendPayloadType;
846 } 846 }
847 } 847 }
848 848
849 void ModifyFlexfecConfigs( 849 void ModifyFlexfecConfigs(
850 std::vector<FlexfecReceiveStream::Config>* receive_configs) override { 850 std::vector<FlexfecReceiveStream::Config>* receive_configs) override {
851 (*receive_configs)[0].local_ssrc = kFlexfecLocalSsrc; 851 (*receive_configs)[0].local_ssrc = kFlexfecLocalSsrc;
852 } 852 }
853 853
854 void PerformTest() override { 854 void PerformTest() override {
855 EXPECT_TRUE(Wait()) 855 EXPECT_TRUE(Wait())
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
1143 (*receive_configs)[0].rtp.ulpfec.red_payload_type = 1143 (*receive_configs)[0].rtp.ulpfec.red_payload_type =
1144 send_config->rtp.ulpfec.red_payload_type; 1144 send_config->rtp.ulpfec.red_payload_type;
1145 (*receive_configs)[0].rtp.ulpfec.red_rtx_payload_type = 1145 (*receive_configs)[0].rtp.ulpfec.red_rtx_payload_type =
1146 send_config->rtp.ulpfec.red_rtx_payload_type; 1146 send_config->rtp.ulpfec.red_rtx_payload_type;
1147 } 1147 }
1148 1148
1149 if (retransmission_ssrc_ == kSendRtxSsrcs[0]) { 1149 if (retransmission_ssrc_ == kSendRtxSsrcs[0]) {
1150 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]); 1150 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]);
1151 send_config->rtp.rtx.payload_type = kSendRtxPayloadType; 1151 send_config->rtp.rtx.payload_type = kSendRtxPayloadType;
1152 (*receive_configs)[0].rtp.rtx_ssrc = kSendRtxSsrcs[0]; 1152 (*receive_configs)[0].rtp.rtx_ssrc = kSendRtxSsrcs[0];
1153 (*receive_configs)[0].rtp.rtx_payload_types[payload_type_] = 1153 (*receive_configs)[0].rtp.media_pt_by_rtx_pt[kSendRtxPayloadType] =
1154 kSendRtxPayloadType; 1154 payload_type_;
1155 } 1155 }
1156 // Configure encoding and decoding with VP8, since generic packetization 1156 // Configure encoding and decoding with VP8, since generic packetization
1157 // doesn't support FEC with NACK. 1157 // doesn't support FEC with NACK.
1158 RTC_DCHECK_EQ(1, (*receive_configs)[0].decoders.size()); 1158 RTC_DCHECK_EQ(1, (*receive_configs)[0].decoders.size());
1159 send_config->encoder_settings.encoder = encoder_.get(); 1159 send_config->encoder_settings.encoder = encoder_.get();
1160 send_config->encoder_settings.payload_name = "VP8"; 1160 send_config->encoder_settings.payload_name = "VP8";
1161 (*receive_configs)[0].decoders[0].payload_name = "VP8"; 1161 (*receive_configs)[0].decoders[0].payload_name = "VP8";
1162 } 1162 }
1163 1163
1164 void PerformTest() override { 1164 void PerformTest() override {
(...skipping 1506 matching lines...) Expand 10 before | Expand all | Expand 10 after
2671 (*receive_configs)[0].decoders[0].payload_name = "VP8"; 2671 (*receive_configs)[0].decoders[0].payload_name = "VP8";
2672 (*receive_configs)[0].rtp.ulpfec.red_payload_type = kRedPayloadType; 2672 (*receive_configs)[0].rtp.ulpfec.red_payload_type = kRedPayloadType;
2673 (*receive_configs)[0].rtp.ulpfec.ulpfec_payload_type = 2673 (*receive_configs)[0].rtp.ulpfec.ulpfec_payload_type =
2674 kUlpfecPayloadType; 2674 kUlpfecPayloadType;
2675 } 2675 }
2676 // RTX 2676 // RTX
2677 if (use_rtx_) { 2677 if (use_rtx_) {
2678 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]); 2678 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]);
2679 send_config->rtp.rtx.payload_type = kSendRtxPayloadType; 2679 send_config->rtp.rtx.payload_type = kSendRtxPayloadType;
2680 (*receive_configs)[0].rtp.rtx_ssrc = kSendRtxSsrcs[0]; 2680 (*receive_configs)[0].rtp.rtx_ssrc = kSendRtxSsrcs[0];
2681 (*receive_configs)[0].rtp.rtx_payload_types[kFakeVideoSendPayloadType] = 2681 (*receive_configs)[0].rtp.media_pt_by_rtx_pt[kSendRtxPayloadType] =
2682 kSendRtxPayloadType; 2682 kFakeVideoSendPayloadType;
2683 } 2683 }
2684 // RTT needed for RemoteNtpTimeEstimator for the receive stream. 2684 // RTT needed for RemoteNtpTimeEstimator for the receive stream.
2685 (*receive_configs)[0].rtp.rtcp_xr.receiver_reference_time_report = true; 2685 (*receive_configs)[0].rtp.rtcp_xr.receiver_reference_time_report = true;
2686 encoder_config->content_type = 2686 encoder_config->content_type =
2687 screenshare_ ? VideoEncoderConfig::ContentType::kScreen 2687 screenshare_ ? VideoEncoderConfig::ContentType::kScreen
2688 : VideoEncoderConfig::ContentType::kRealtimeVideo; 2688 : VideoEncoderConfig::ContentType::kRealtimeVideo;
2689 } 2689 }
2690 2690
2691 void OnCallsCreated(Call* sender_call, Call* receiver_call) override { 2691 void OnCallsCreated(Call* sender_call, Call* receiver_call) override {
2692 sender_call_ = sender_call; 2692 sender_call_ = sender_call;
(...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after
3430 const std::vector<uint32_t>& ssrcs = send_config->rtp.ssrcs; 3430 const std::vector<uint32_t>& ssrcs = send_config->rtp.ssrcs;
3431 for (size_t i = 0; i < ssrcs.size(); ++i) { 3431 for (size_t i = 0; i < ssrcs.size(); ++i) {
3432 expected_send_ssrcs_.insert(ssrcs[i]); 3432 expected_send_ssrcs_.insert(ssrcs[i]);
3433 expected_receive_ssrcs_.push_back( 3433 expected_receive_ssrcs_.push_back(
3434 (*receive_configs)[i].rtp.remote_ssrc); 3434 (*receive_configs)[i].rtp.remote_ssrc);
3435 (*receive_configs)[i].render_delay_ms = kExpectedRenderDelayMs; 3435 (*receive_configs)[i].render_delay_ms = kExpectedRenderDelayMs;
3436 (*receive_configs)[i].renderer = &receive_stream_renderer_; 3436 (*receive_configs)[i].renderer = &receive_stream_renderer_;
3437 (*receive_configs)[i].rtp.nack.rtp_history_ms = kNackRtpHistoryMs; 3437 (*receive_configs)[i].rtp.nack.rtp_history_ms = kNackRtpHistoryMs;
3438 3438
3439 (*receive_configs)[i].rtp.rtx_ssrc = kSendRtxSsrcs[i]; 3439 (*receive_configs)[i].rtp.rtx_ssrc = kSendRtxSsrcs[i];
3440 (*receive_configs)[i].rtp.rtx_payload_types[kFakeVideoSendPayloadType] = 3440 (*receive_configs)[i].rtp.media_pt_by_rtx_pt[kSendRtxPayloadType] =
3441 kSendRtxPayloadType; 3441 kFakeVideoSendPayloadType;
3442 } 3442 }
3443 3443
3444 for (size_t i = 0; i < kNumSsrcs; ++i) 3444 for (size_t i = 0; i < kNumSsrcs; ++i)
3445 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[i]); 3445 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[i]);
3446 3446
3447 // Use a delayed encoder to make sure we see CpuOveruseMetrics stats that 3447 // Use a delayed encoder to make sure we see CpuOveruseMetrics stats that
3448 // are non-zero. 3448 // are non-zero.
3449 send_config->encoder_settings.encoder = &encoder_; 3449 send_config->encoder_settings.encoder = &encoder_;
3450 } 3450 }
3451 3451
(...skipping 731 matching lines...) Expand 10 before | Expand all | Expand 10 after
4183 video_send_config_.encoder_settings.encoder = encoder.get(); 4183 video_send_config_.encoder_settings.encoder = encoder.get();
4184 video_send_config_.encoder_settings.payload_name = "VP8"; 4184 video_send_config_.encoder_settings.payload_name = "VP8";
4185 video_send_config_.encoder_settings.payload_type = kVideoSendPayloadType; 4185 video_send_config_.encoder_settings.payload_type = kVideoSendPayloadType;
4186 video_send_config_.rtp.nack.rtp_history_ms = kNackRtpHistoryMs; 4186 video_send_config_.rtp.nack.rtp_history_ms = kNackRtpHistoryMs;
4187 video_send_config_.rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]); 4187 video_send_config_.rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]);
4188 video_send_config_.rtp.rtx.payload_type = kSendRtxPayloadType; 4188 video_send_config_.rtp.rtx.payload_type = kSendRtxPayloadType;
4189 4189
4190 CreateMatchingReceiveConfigs(&receive_transport); 4190 CreateMatchingReceiveConfigs(&receive_transport);
4191 video_receive_configs_[0].rtp.nack.rtp_history_ms = kNackRtpHistoryMs; 4191 video_receive_configs_[0].rtp.nack.rtp_history_ms = kNackRtpHistoryMs;
4192 video_receive_configs_[0].rtp.rtx_ssrc = kSendRtxSsrcs[0]; 4192 video_receive_configs_[0].rtp.rtx_ssrc = kSendRtxSsrcs[0];
4193 video_receive_configs_[0].rtp.rtx_payload_types[kVideoSendPayloadType] = 4193 video_receive_configs_[0].rtp.media_pt_by_rtx_pt[kSendRtxPayloadType] =
4194 kSendRtxPayloadType; 4194 kVideoSendPayloadType;
4195 4195
4196 // The matching FlexFEC receive config is not created by 4196 // The matching FlexFEC receive config is not created by
4197 // CreateMatchingReceiveConfigs since this is not a test::BaseTest. 4197 // CreateMatchingReceiveConfigs since this is not a test::BaseTest.
4198 // Set up the receive config manually instead. 4198 // Set up the receive config manually instead.
4199 FlexfecReceiveStream::Config flexfec_receive_config(&receive_transport); 4199 FlexfecReceiveStream::Config flexfec_receive_config(&receive_transport);
4200 flexfec_receive_config.payload_type = 4200 flexfec_receive_config.payload_type =
4201 video_send_config_.rtp.flexfec.payload_type; 4201 video_send_config_.rtp.flexfec.payload_type;
4202 flexfec_receive_config.remote_ssrc = video_send_config_.rtp.flexfec.ssrc; 4202 flexfec_receive_config.remote_ssrc = video_send_config_.rtp.flexfec.ssrc;
4203 flexfec_receive_config.protected_media_ssrcs = 4203 flexfec_receive_config.protected_media_ssrcs =
4204 video_send_config_.rtp.flexfec.protected_media_ssrcs; 4204 video_send_config_.rtp.flexfec.protected_media_ssrcs;
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
4646 VideoReceiveStream::Config default_receive_config(nullptr); 4646 VideoReceiveStream::Config default_receive_config(nullptr);
4647 EXPECT_EQ(RtcpMode::kCompound, default_receive_config.rtp.rtcp_mode) 4647 EXPECT_EQ(RtcpMode::kCompound, default_receive_config.rtp.rtcp_mode)
4648 << "Reduced-size RTCP require rtcp-rsize to be negotiated."; 4648 << "Reduced-size RTCP require rtcp-rsize to be negotiated.";
4649 EXPECT_FALSE(default_receive_config.rtp.remb) 4649 EXPECT_FALSE(default_receive_config.rtp.remb)
4650 << "REMB require rtcp-fb: goog-remb to be negotiated."; 4650 << "REMB require rtcp-fb: goog-remb to be negotiated.";
4651 EXPECT_FALSE( 4651 EXPECT_FALSE(
4652 default_receive_config.rtp.rtcp_xr.receiver_reference_time_report) 4652 default_receive_config.rtp.rtcp_xr.receiver_reference_time_report)
4653 << "RTCP XR settings require rtcp-xr to be negotiated."; 4653 << "RTCP XR settings require rtcp-xr to be negotiated.";
4654 EXPECT_EQ(0U, default_receive_config.rtp.rtx_ssrc) 4654 EXPECT_EQ(0U, default_receive_config.rtp.rtx_ssrc)
4655 << "Enabling RTX requires ssrc-group: FID negotiation"; 4655 << "Enabling RTX requires ssrc-group: FID negotiation";
4656 EXPECT_TRUE(default_receive_config.rtp.rtx_payload_types.empty()) 4656 EXPECT_TRUE(default_receive_config.rtp.media_pt_by_rtx_pt.empty())
4657 << "Enabling RTX requires rtpmap: rtx negotiation."; 4657 << "Enabling RTX requires rtpmap: rtx negotiation.";
4658 EXPECT_TRUE(default_receive_config.rtp.extensions.empty()) 4658 EXPECT_TRUE(default_receive_config.rtp.extensions.empty())
4659 << "Enabling RTP extensions require negotiation."; 4659 << "Enabling RTP extensions require negotiation.";
4660 4660
4661 VerifyEmptyNackConfig(default_receive_config.rtp.nack); 4661 VerifyEmptyNackConfig(default_receive_config.rtp.nack);
4662 VerifyEmptyUlpfecConfig(default_receive_config.rtp.ulpfec); 4662 VerifyEmptyUlpfecConfig(default_receive_config.rtp.ulpfec);
4663 } 4663 }
4664 4664
4665 TEST_F(EndToEndTest, VerifyDefaultFlexfecReceiveConfigParameters) { 4665 TEST_F(EndToEndTest, VerifyDefaultFlexfecReceiveConfigParameters) {
4666 test::NullTransport rtcp_send_transport; 4666 test::NullTransport rtcp_send_transport;
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
4840 std::unique_ptr<VideoEncoder> encoder_; 4840 std::unique_ptr<VideoEncoder> encoder_;
4841 std::unique_ptr<VideoDecoder> decoder_; 4841 std::unique_ptr<VideoDecoder> decoder_;
4842 rtc::CriticalSection crit_; 4842 rtc::CriticalSection crit_;
4843 int recorded_frames_ GUARDED_BY(crit_); 4843 int recorded_frames_ GUARDED_BY(crit_);
4844 } test(this); 4844 } test(this);
4845 4845
4846 RunBaseTest(&test); 4846 RunBaseTest(&test);
4847 } 4847 }
4848 4848
4849 } // namespace webrtc 4849 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698