| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |