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

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

Issue 3000273002: Reverse |rtx_payload_types| map, and rename. (Closed)
Patch Set: Rebased. Created 3 years, 3 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_unittest.cc ('k') | webrtc/video/replay.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) 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 847 matching lines...) Expand 10 before | Expand all | Expand 10 after
858 send_config->rtp.rtx.ssrcs.push_back(test::CallTest::kSendRtxSsrcs[0]); 858 send_config->rtp.rtx.ssrcs.push_back(test::CallTest::kSendRtxSsrcs[0]);
859 send_config->rtp.rtx.payload_type = test::CallTest::kSendRtxPayloadType; 859 send_config->rtp.rtx.payload_type = test::CallTest::kSendRtxPayloadType;
860 860
861 (*receive_configs)[0].rtp.nack.rtp_history_ms = 861 (*receive_configs)[0].rtp.nack.rtp_history_ms =
862 test::CallTest::kNackRtpHistoryMs; 862 test::CallTest::kNackRtpHistoryMs;
863 (*receive_configs)[0].rtp.ulpfec.red_rtx_payload_type = 863 (*receive_configs)[0].rtp.ulpfec.red_rtx_payload_type =
864 test::CallTest::kRtxRedPayloadType; 864 test::CallTest::kRtxRedPayloadType;
865 865
866 (*receive_configs)[0].rtp.rtx_ssrc = test::CallTest::kSendRtxSsrcs[0]; 866 (*receive_configs)[0].rtp.rtx_ssrc = test::CallTest::kSendRtxSsrcs[0];
867 (*receive_configs)[0] 867 (*receive_configs)[0]
868 .rtp.rtx_payload_types[test::CallTest::kVideoSendPayloadType] = 868 .rtp
869 test::CallTest::kSendRtxPayloadType; 869 .rtx_associated_payload_types[test::CallTest::kSendRtxPayloadType] =
870 test::CallTest::kVideoSendPayloadType;
870 } 871 }
871 } 872 }
872 873
873 void OnFrameGeneratorCapturerCreated( 874 void OnFrameGeneratorCapturerCreated(
874 test::FrameGeneratorCapturer* frame_generator_capturer) override { 875 test::FrameGeneratorCapturer* frame_generator_capturer) override {
875 frame_generator_capturer->SetFakeRotation(kVideoRotation_90); 876 frame_generator_capturer->SetFakeRotation(kVideoRotation_90);
876 } 877 }
877 878
878 void ModifyFlexfecConfigs( 879 void ModifyFlexfecConfigs(
879 std::vector<FlexfecReceiveStream::Config>* receive_configs) override { 880 std::vector<FlexfecReceiveStream::Config>* receive_configs) override {
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
1175 (*receive_configs)[0].rtp.ulpfec.red_payload_type = 1176 (*receive_configs)[0].rtp.ulpfec.red_payload_type =
1176 send_config->rtp.ulpfec.red_payload_type; 1177 send_config->rtp.ulpfec.red_payload_type;
1177 (*receive_configs)[0].rtp.ulpfec.red_rtx_payload_type = 1178 (*receive_configs)[0].rtp.ulpfec.red_rtx_payload_type =
1178 send_config->rtp.ulpfec.red_rtx_payload_type; 1179 send_config->rtp.ulpfec.red_rtx_payload_type;
1179 } 1180 }
1180 1181
1181 if (retransmission_ssrc_ == kSendRtxSsrcs[0]) { 1182 if (retransmission_ssrc_ == kSendRtxSsrcs[0]) {
1182 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]); 1183 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]);
1183 send_config->rtp.rtx.payload_type = kSendRtxPayloadType; 1184 send_config->rtp.rtx.payload_type = kSendRtxPayloadType;
1184 (*receive_configs)[0].rtp.rtx_ssrc = kSendRtxSsrcs[0]; 1185 (*receive_configs)[0].rtp.rtx_ssrc = kSendRtxSsrcs[0];
1185 (*receive_configs)[0].rtp.rtx_payload_types[payload_type_] = 1186 (*receive_configs)[0]
1186 kSendRtxPayloadType; 1187 .rtp.rtx_associated_payload_types[kSendRtxPayloadType] =
1188 payload_type_;
1187 } 1189 }
1188 // Configure encoding and decoding with VP8, since generic packetization 1190 // Configure encoding and decoding with VP8, since generic packetization
1189 // doesn't support FEC with NACK. 1191 // doesn't support FEC with NACK.
1190 RTC_DCHECK_EQ(1, (*receive_configs)[0].decoders.size()); 1192 RTC_DCHECK_EQ(1, (*receive_configs)[0].decoders.size());
1191 send_config->encoder_settings.encoder = encoder_.get(); 1193 send_config->encoder_settings.encoder = encoder_.get();
1192 send_config->encoder_settings.payload_name = "VP8"; 1194 send_config->encoder_settings.payload_name = "VP8";
1193 (*receive_configs)[0].decoders[0].payload_name = "VP8"; 1195 (*receive_configs)[0].decoders[0].payload_name = "VP8";
1194 } 1196 }
1195 1197
1196 void OnFrameGeneratorCapturerCreated( 1198 void OnFrameGeneratorCapturerCreated(
(...skipping 1569 matching lines...) Expand 10 before | Expand all | Expand 10 after
2766 (*receive_configs)[0].decoders[0].payload_name = "VP8"; 2768 (*receive_configs)[0].decoders[0].payload_name = "VP8";
2767 (*receive_configs)[0].rtp.ulpfec.red_payload_type = kRedPayloadType; 2769 (*receive_configs)[0].rtp.ulpfec.red_payload_type = kRedPayloadType;
2768 (*receive_configs)[0].rtp.ulpfec.ulpfec_payload_type = 2770 (*receive_configs)[0].rtp.ulpfec.ulpfec_payload_type =
2769 kUlpfecPayloadType; 2771 kUlpfecPayloadType;
2770 } 2772 }
2771 // RTX 2773 // RTX
2772 if (use_rtx_) { 2774 if (use_rtx_) {
2773 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]); 2775 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]);
2774 send_config->rtp.rtx.payload_type = kSendRtxPayloadType; 2776 send_config->rtp.rtx.payload_type = kSendRtxPayloadType;
2775 (*receive_configs)[0].rtp.rtx_ssrc = kSendRtxSsrcs[0]; 2777 (*receive_configs)[0].rtp.rtx_ssrc = kSendRtxSsrcs[0];
2776 (*receive_configs)[0].rtp.rtx_payload_types[kFakeVideoSendPayloadType] = 2778 (*receive_configs)[0]
2777 kSendRtxPayloadType; 2779 .rtp.rtx_associated_payload_types[kSendRtxPayloadType] =
2780 kFakeVideoSendPayloadType;
2778 } 2781 }
2779 // RTT needed for RemoteNtpTimeEstimator for the receive stream. 2782 // RTT needed for RemoteNtpTimeEstimator for the receive stream.
2780 (*receive_configs)[0].rtp.rtcp_xr.receiver_reference_time_report = true; 2783 (*receive_configs)[0].rtp.rtcp_xr.receiver_reference_time_report = true;
2781 encoder_config->content_type = 2784 encoder_config->content_type =
2782 screenshare_ ? VideoEncoderConfig::ContentType::kScreen 2785 screenshare_ ? VideoEncoderConfig::ContentType::kScreen
2783 : VideoEncoderConfig::ContentType::kRealtimeVideo; 2786 : VideoEncoderConfig::ContentType::kRealtimeVideo;
2784 } 2787 }
2785 2788
2786 void OnCallsCreated(Call* sender_call, Call* receiver_call) override { 2789 void OnCallsCreated(Call* sender_call, Call* receiver_call) override {
2787 sender_call_ = sender_call; 2790 sender_call_ = sender_call;
(...skipping 745 matching lines...) Expand 10 before | Expand all | Expand 10 after
3533 const std::vector<uint32_t>& ssrcs = send_config->rtp.ssrcs; 3536 const std::vector<uint32_t>& ssrcs = send_config->rtp.ssrcs;
3534 for (size_t i = 0; i < ssrcs.size(); ++i) { 3537 for (size_t i = 0; i < ssrcs.size(); ++i) {
3535 expected_send_ssrcs_.insert(ssrcs[i]); 3538 expected_send_ssrcs_.insert(ssrcs[i]);
3536 expected_receive_ssrcs_.push_back( 3539 expected_receive_ssrcs_.push_back(
3537 (*receive_configs)[i].rtp.remote_ssrc); 3540 (*receive_configs)[i].rtp.remote_ssrc);
3538 (*receive_configs)[i].render_delay_ms = kExpectedRenderDelayMs; 3541 (*receive_configs)[i].render_delay_ms = kExpectedRenderDelayMs;
3539 (*receive_configs)[i].renderer = &receive_stream_renderer_; 3542 (*receive_configs)[i].renderer = &receive_stream_renderer_;
3540 (*receive_configs)[i].rtp.nack.rtp_history_ms = kNackRtpHistoryMs; 3543 (*receive_configs)[i].rtp.nack.rtp_history_ms = kNackRtpHistoryMs;
3541 3544
3542 (*receive_configs)[i].rtp.rtx_ssrc = kSendRtxSsrcs[i]; 3545 (*receive_configs)[i].rtp.rtx_ssrc = kSendRtxSsrcs[i];
3543 (*receive_configs)[i].rtp.rtx_payload_types[kFakeVideoSendPayloadType] = 3546 (*receive_configs)[i]
3544 kSendRtxPayloadType; 3547 .rtp.rtx_associated_payload_types[kSendRtxPayloadType] =
3548 kFakeVideoSendPayloadType;
3545 } 3549 }
3546 3550
3547 for (size_t i = 0; i < kNumSsrcs; ++i) 3551 for (size_t i = 0; i < kNumSsrcs; ++i)
3548 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[i]); 3552 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[i]);
3549 3553
3550 // Use a delayed encoder to make sure we see CpuOveruseMetrics stats that 3554 // Use a delayed encoder to make sure we see CpuOveruseMetrics stats that
3551 // are non-zero. 3555 // are non-zero.
3552 send_config->encoder_settings.encoder = &encoder_; 3556 send_config->encoder_settings.encoder = &encoder_;
3553 } 3557 }
3554 3558
(...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after
4316 video_send_config_.encoder_settings.encoder = encoder.get(); 4320 video_send_config_.encoder_settings.encoder = encoder.get();
4317 video_send_config_.encoder_settings.payload_name = "VP8"; 4321 video_send_config_.encoder_settings.payload_name = "VP8";
4318 video_send_config_.encoder_settings.payload_type = kVideoSendPayloadType; 4322 video_send_config_.encoder_settings.payload_type = kVideoSendPayloadType;
4319 video_send_config_.rtp.nack.rtp_history_ms = kNackRtpHistoryMs; 4323 video_send_config_.rtp.nack.rtp_history_ms = kNackRtpHistoryMs;
4320 video_send_config_.rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]); 4324 video_send_config_.rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]);
4321 video_send_config_.rtp.rtx.payload_type = kSendRtxPayloadType; 4325 video_send_config_.rtp.rtx.payload_type = kSendRtxPayloadType;
4322 4326
4323 CreateMatchingReceiveConfigs(receive_transport.get()); 4327 CreateMatchingReceiveConfigs(receive_transport.get());
4324 video_receive_configs_[0].rtp.nack.rtp_history_ms = kNackRtpHistoryMs; 4328 video_receive_configs_[0].rtp.nack.rtp_history_ms = kNackRtpHistoryMs;
4325 video_receive_configs_[0].rtp.rtx_ssrc = kSendRtxSsrcs[0]; 4329 video_receive_configs_[0].rtp.rtx_ssrc = kSendRtxSsrcs[0];
4326 video_receive_configs_[0].rtp.rtx_payload_types[kVideoSendPayloadType] = 4330 video_receive_configs_[0]
4327 kSendRtxPayloadType; 4331 .rtp.rtx_associated_payload_types[kSendRtxPayloadType] =
4332 kVideoSendPayloadType;
4328 4333
4329 // The matching FlexFEC receive config is not created by 4334 // The matching FlexFEC receive config is not created by
4330 // CreateMatchingReceiveConfigs since this is not a test::BaseTest. 4335 // CreateMatchingReceiveConfigs since this is not a test::BaseTest.
4331 // Set up the receive config manually instead. 4336 // Set up the receive config manually instead.
4332 FlexfecReceiveStream::Config flexfec_receive_config( 4337 FlexfecReceiveStream::Config flexfec_receive_config(
4333 receive_transport.get()); 4338 receive_transport.get());
4334 flexfec_receive_config.payload_type = 4339 flexfec_receive_config.payload_type =
4335 video_send_config_.rtp.flexfec.payload_type; 4340 video_send_config_.rtp.flexfec.payload_type;
4336 flexfec_receive_config.remote_ssrc = video_send_config_.rtp.flexfec.ssrc; 4341 flexfec_receive_config.remote_ssrc = video_send_config_.rtp.flexfec.ssrc;
4337 flexfec_receive_config.protected_media_ssrcs = 4342 flexfec_receive_config.protected_media_ssrcs =
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
4817 VideoReceiveStream::Config default_receive_config(nullptr); 4822 VideoReceiveStream::Config default_receive_config(nullptr);
4818 EXPECT_EQ(RtcpMode::kCompound, default_receive_config.rtp.rtcp_mode) 4823 EXPECT_EQ(RtcpMode::kCompound, default_receive_config.rtp.rtcp_mode)
4819 << "Reduced-size RTCP require rtcp-rsize to be negotiated."; 4824 << "Reduced-size RTCP require rtcp-rsize to be negotiated.";
4820 EXPECT_FALSE(default_receive_config.rtp.remb) 4825 EXPECT_FALSE(default_receive_config.rtp.remb)
4821 << "REMB require rtcp-fb: goog-remb to be negotiated."; 4826 << "REMB require rtcp-fb: goog-remb to be negotiated.";
4822 EXPECT_FALSE( 4827 EXPECT_FALSE(
4823 default_receive_config.rtp.rtcp_xr.receiver_reference_time_report) 4828 default_receive_config.rtp.rtcp_xr.receiver_reference_time_report)
4824 << "RTCP XR settings require rtcp-xr to be negotiated."; 4829 << "RTCP XR settings require rtcp-xr to be negotiated.";
4825 EXPECT_EQ(0U, default_receive_config.rtp.rtx_ssrc) 4830 EXPECT_EQ(0U, default_receive_config.rtp.rtx_ssrc)
4826 << "Enabling RTX requires ssrc-group: FID negotiation"; 4831 << "Enabling RTX requires ssrc-group: FID negotiation";
4827 EXPECT_TRUE(default_receive_config.rtp.rtx_payload_types.empty()) 4832 EXPECT_TRUE(default_receive_config.rtp.rtx_associated_payload_types.empty())
4828 << "Enabling RTX requires rtpmap: rtx negotiation."; 4833 << "Enabling RTX requires rtpmap: rtx negotiation.";
4829 EXPECT_TRUE(default_receive_config.rtp.extensions.empty()) 4834 EXPECT_TRUE(default_receive_config.rtp.extensions.empty())
4830 << "Enabling RTP extensions require negotiation."; 4835 << "Enabling RTP extensions require negotiation.";
4831 4836
4832 VerifyEmptyNackConfig(default_receive_config.rtp.nack); 4837 VerifyEmptyNackConfig(default_receive_config.rtp.nack);
4833 VerifyEmptyUlpfecConfig(default_receive_config.rtp.ulpfec); 4838 VerifyEmptyUlpfecConfig(default_receive_config.rtp.ulpfec);
4834 } 4839 }
4835 4840
4836 TEST_F(EndToEndTest, VerifyDefaultFlexfecReceiveConfigParameters) { 4841 TEST_F(EndToEndTest, VerifyDefaultFlexfecReceiveConfigParameters) {
4837 test::NullTransport rtcp_send_transport; 4842 test::NullTransport rtcp_send_transport;
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
5011 std::unique_ptr<VideoEncoder> encoder_; 5016 std::unique_ptr<VideoEncoder> encoder_;
5012 std::unique_ptr<VideoDecoder> decoder_; 5017 std::unique_ptr<VideoDecoder> decoder_;
5013 rtc::CriticalSection crit_; 5018 rtc::CriticalSection crit_;
5014 int recorded_frames_ GUARDED_BY(crit_); 5019 int recorded_frames_ GUARDED_BY(crit_);
5015 } test(this); 5020 } test(this);
5016 5021
5017 RunBaseTest(&test); 5022 RunBaseTest(&test);
5018 } 5023 }
5019 5024
5020 } // namespace webrtc 5025 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/media/engine/webrtcvideoengine_unittest.cc ('k') | webrtc/video/replay.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698