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

Side by Side Diff: video/end_to_end_tests.cc

Issue 2826263004: Move responsibility for RTP header extensions on video receive. (Closed)
Patch Set: Crude rebase. Created 3 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 | « test/call_test.cc ('k') | video/rtp_video_stream_receiver.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 1855 matching lines...) Expand 10 before | Expand all | Expand 10 after
1866 send_config->rtp.ssrcs[0]; 1866 send_config->rtp.ssrcs[0];
1867 1867
1868 if (stream_index == 0) 1868 if (stream_index == 0)
1869 first_media_ssrc_ = send_config->rtp.ssrcs[0]; 1869 first_media_ssrc_ = send_config->rtp.ssrcs[0];
1870 } 1870 }
1871 1871
1872 void UpdateReceiveConfig( 1872 void UpdateReceiveConfig(
1873 size_t stream_index, 1873 size_t stream_index,
1874 VideoReceiveStream::Config* receive_config) override { 1874 VideoReceiveStream::Config* receive_config) override {
1875 receive_config->rtp.nack.rtp_history_ms = kNackRtpHistoryMs; 1875 receive_config->rtp.nack.rtp_history_ms = kNackRtpHistoryMs;
1876 #if 0
1876 receive_config->rtp.extensions.clear(); 1877 receive_config->rtp.extensions.clear();
1877 receive_config->rtp.extensions.push_back(RtpExtension( 1878 receive_config->rtp.extensions.push_back(RtpExtension(
1878 RtpExtension::kTransportSequenceNumberUri, kExtensionId)); 1879 RtpExtension::kTransportSequenceNumberUri, kExtensionId));
1880 #endif
1879 receive_config->renderer = &fake_renderer_; 1881 receive_config->renderer = &fake_renderer_;
1880 } 1882 }
1881 1883
1882 test::DirectTransport* CreateSendTransport( 1884 test::DirectTransport* CreateSendTransport(
1883 test::SingleThreadedTaskQueueForTesting* task_queue, 1885 test::SingleThreadedTaskQueueForTesting* task_queue,
1884 Call* sender_call) override { 1886 Call* sender_call) override {
1885 std::map<uint8_t, MediaType> payload_type_map = 1887 std::map<uint8_t, MediaType> payload_type_map =
1886 MultiStreamTest::payload_type_map_; 1888 MultiStreamTest::payload_type_map_;
1887 RTC_DCHECK(payload_type_map.find(kSendRtxPayloadType) == 1889 RTC_DCHECK(payload_type_map.find(kSendRtxPayloadType) ==
1888 payload_type_map.end()); 1890 payload_type_map.end());
(...skipping 1748 matching lines...) Expand 10 before | Expand all | Expand 10 after
3637 StatsObserver() : EndToEndTest(kLongTimeoutMs) {} 3639 StatsObserver() : EndToEndTest(kLongTimeoutMs) {}
3638 3640
3639 private: 3641 private:
3640 void ModifyVideoConfigs( 3642 void ModifyVideoConfigs(
3641 VideoSendStream::Config* send_config, 3643 VideoSendStream::Config* send_config,
3642 std::vector<VideoReceiveStream::Config>* receive_configs, 3644 std::vector<VideoReceiveStream::Config>* receive_configs,
3643 VideoEncoderConfig* encoder_config) override { 3645 VideoEncoderConfig* encoder_config) override {
3644 send_config->rtp.extensions.clear(); 3646 send_config->rtp.extensions.clear();
3645 send_config->rtp.extensions.push_back( 3647 send_config->rtp.extensions.push_back(
3646 RtpExtension(RtpExtension::kVideoTimingUri, kExtensionId)); 3648 RtpExtension(RtpExtension::kVideoTimingUri, kExtensionId));
3649 #if 0
3647 for (size_t i = 0; i < receive_configs->size(); ++i) { 3650 for (size_t i = 0; i < receive_configs->size(); ++i) {
3648 (*receive_configs)[i].rtp.extensions.clear(); 3651 (*receive_configs)[i].rtp.extensions.clear();
3649 (*receive_configs)[i].rtp.extensions.push_back( 3652 (*receive_configs)[i].rtp.extensions.push_back(
3650 RtpExtension(RtpExtension::kVideoTimingUri, kExtensionId)); 3653 RtpExtension(RtpExtension::kVideoTimingUri, kExtensionId));
3651 } 3654 }
3655 #endif
3652 } 3656 }
3653 3657
3654 void OnVideoStreamsCreated( 3658 void OnVideoStreamsCreated(
3655 VideoSendStream* send_stream, 3659 VideoSendStream* send_stream,
3656 const std::vector<VideoReceiveStream*>& receive_streams) override { 3660 const std::vector<VideoReceiveStream*>& receive_streams) override {
3657 receive_streams_ = receive_streams; 3661 receive_streams_ = receive_streams;
3658 } 3662 }
3659 3663
3660 void PerformTest() override { 3664 void PerformTest() override {
3661 // No frames reported initially. 3665 // No frames reported initially.
(...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after
4337 // Set up the receive config manually instead. 4341 // Set up the receive config manually instead.
4338 FlexfecReceiveStream::Config flexfec_receive_config( 4342 FlexfecReceiveStream::Config flexfec_receive_config(
4339 receive_transport.get()); 4343 receive_transport.get());
4340 flexfec_receive_config.payload_type = 4344 flexfec_receive_config.payload_type =
4341 video_send_config_.rtp.flexfec.payload_type; 4345 video_send_config_.rtp.flexfec.payload_type;
4342 flexfec_receive_config.remote_ssrc = video_send_config_.rtp.flexfec.ssrc; 4346 flexfec_receive_config.remote_ssrc = video_send_config_.rtp.flexfec.ssrc;
4343 flexfec_receive_config.protected_media_ssrcs = 4347 flexfec_receive_config.protected_media_ssrcs =
4344 video_send_config_.rtp.flexfec.protected_media_ssrcs; 4348 video_send_config_.rtp.flexfec.protected_media_ssrcs;
4345 flexfec_receive_config.local_ssrc = kReceiverLocalVideoSsrc; 4349 flexfec_receive_config.local_ssrc = kReceiverLocalVideoSsrc;
4346 flexfec_receive_config.transport_cc = true; 4350 flexfec_receive_config.transport_cc = true;
4351 #if 0
4347 flexfec_receive_config.rtp_header_extensions.emplace_back( 4352 flexfec_receive_config.rtp_header_extensions.emplace_back(
4348 RtpExtension::kTransportSequenceNumberUri, 4353 RtpExtension::kTransportSequenceNumberUri,
4349 test::kTransportSequenceNumberExtensionId); 4354 test::kTransportSequenceNumberExtensionId);
4355 #endif
4350 flexfec_receive_configs_.push_back(flexfec_receive_config); 4356 flexfec_receive_configs_.push_back(flexfec_receive_config);
4351 4357
4352 CreateFlexfecStreams(); 4358 CreateFlexfecStreams();
4353 CreateVideoStreams(); 4359 CreateVideoStreams();
4354 4360
4355 // RTCP might be disabled if the network is "down". 4361 // RTCP might be disabled if the network is "down".
4356 sender_call_->SignalChannelNetworkState(MediaType::VIDEO, kNetworkUp); 4362 sender_call_->SignalChannelNetworkState(MediaType::VIDEO, kNetworkUp);
4357 receiver_call_->SignalChannelNetworkState(MediaType::VIDEO, kNetworkUp); 4363 receiver_call_->SignalChannelNetworkState(MediaType::VIDEO, kNetworkUp);
4358 4364
4359 CreateFrameGeneratorCapturer(kFrameRate, kFrameMaxWidth, kFrameMaxHeight); 4365 CreateFrameGeneratorCapturer(kFrameRate, kFrameMaxWidth, kFrameMaxHeight);
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after
4825 << "Reduced-size RTCP require rtcp-rsize to be negotiated."; 4831 << "Reduced-size RTCP require rtcp-rsize to be negotiated.";
4826 EXPECT_FALSE(default_receive_config.rtp.remb) 4832 EXPECT_FALSE(default_receive_config.rtp.remb)
4827 << "REMB require rtcp-fb: goog-remb to be negotiated."; 4833 << "REMB require rtcp-fb: goog-remb to be negotiated.";
4828 EXPECT_FALSE( 4834 EXPECT_FALSE(
4829 default_receive_config.rtp.rtcp_xr.receiver_reference_time_report) 4835 default_receive_config.rtp.rtcp_xr.receiver_reference_time_report)
4830 << "RTCP XR settings require rtcp-xr to be negotiated."; 4836 << "RTCP XR settings require rtcp-xr to be negotiated.";
4831 EXPECT_EQ(0U, default_receive_config.rtp.rtx_ssrc) 4837 EXPECT_EQ(0U, default_receive_config.rtp.rtx_ssrc)
4832 << "Enabling RTX requires ssrc-group: FID negotiation"; 4838 << "Enabling RTX requires ssrc-group: FID negotiation";
4833 EXPECT_TRUE(default_receive_config.rtp.rtx_associated_payload_types.empty()) 4839 EXPECT_TRUE(default_receive_config.rtp.rtx_associated_payload_types.empty())
4834 << "Enabling RTX requires rtpmap: rtx negotiation."; 4840 << "Enabling RTX requires rtpmap: rtx negotiation.";
4841 #if 0
4835 EXPECT_TRUE(default_receive_config.rtp.extensions.empty()) 4842 EXPECT_TRUE(default_receive_config.rtp.extensions.empty())
4836 << "Enabling RTP extensions require negotiation."; 4843 << "Enabling RTP extensions require negotiation.";
4837 4844 #endif
4838 VerifyEmptyNackConfig(default_receive_config.rtp.nack); 4845 VerifyEmptyNackConfig(default_receive_config.rtp.nack);
4839 EXPECT_EQ(-1, default_receive_config.rtp.ulpfec_payload_type) 4846 EXPECT_EQ(-1, default_receive_config.rtp.ulpfec_payload_type)
4840 << "Enabling ULPFEC requires rtpmap: ulpfec negotiation."; 4847 << "Enabling ULPFEC requires rtpmap: ulpfec negotiation.";
4841 EXPECT_EQ(-1, default_receive_config.rtp.red_payload_type) 4848 EXPECT_EQ(-1, default_receive_config.rtp.red_payload_type)
4842 << "Enabling ULPFEC requires rtpmap: red negotiation."; 4849 << "Enabling ULPFEC requires rtpmap: red negotiation.";
4843 } 4850 }
4844 4851
4845 TEST_F(EndToEndTest, VerifyDefaultFlexfecReceiveConfigParameters) { 4852 TEST_F(EndToEndTest, VerifyDefaultFlexfecReceiveConfigParameters) {
4846 test::NullTransport rtcp_send_transport; 4853 test::NullTransport rtcp_send_transport;
4847 FlexfecReceiveStream::Config default_receive_config(&rtcp_send_transport); 4854 FlexfecReceiveStream::Config default_receive_config(&rtcp_send_transport);
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
5020 std::unique_ptr<VideoEncoder> encoder_; 5027 std::unique_ptr<VideoEncoder> encoder_;
5021 std::unique_ptr<VideoDecoder> decoder_; 5028 std::unique_ptr<VideoDecoder> decoder_;
5022 rtc::CriticalSection crit_; 5029 rtc::CriticalSection crit_;
5023 int recorded_frames_ RTC_GUARDED_BY(crit_); 5030 int recorded_frames_ RTC_GUARDED_BY(crit_);
5024 } test(this); 5031 } test(this);
5025 5032
5026 RunBaseTest(&test); 5033 RunBaseTest(&test);
5027 } 5034 }
5028 5035
5029 } // namespace webrtc 5036 } // namespace webrtc
OLDNEW
« no previous file with comments | « test/call_test.cc ('k') | video/rtp_video_stream_receiver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698