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 |