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 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 event_.Set(); | 195 event_.Set(); |
196 } | 196 } |
197 | 197 |
198 bool Wait() { return event_.Wait(kDefaultTimeoutMs); } | 198 bool Wait() { return event_.Wait(kDefaultTimeoutMs); } |
199 | 199 |
200 rtc::Event event_; | 200 rtc::Event event_; |
201 } renderer; | 201 } renderer; |
202 | 202 |
203 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 203 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); |
204 | 204 |
205 test::DirectTransport sender_transport( | 205 test::DirectTransport sender_transport(sender_call_.get()); |
206 sender_call_.get(), MediaType::VIDEO); | 206 test::DirectTransport receiver_transport(receiver_call_.get()); |
207 test::DirectTransport receiver_transport( | |
208 receiver_call_.get(), MediaType::VIDEO); | |
209 sender_transport.SetReceiver(receiver_call_->Receiver()); | 207 sender_transport.SetReceiver(receiver_call_->Receiver()); |
210 receiver_transport.SetReceiver(sender_call_->Receiver()); | 208 receiver_transport.SetReceiver(sender_call_->Receiver()); |
211 | 209 |
212 CreateSendConfig(1, 0, 0, &sender_transport); | 210 CreateSendConfig(1, 0, 0, &sender_transport); |
213 CreateMatchingReceiveConfigs(&receiver_transport); | 211 CreateMatchingReceiveConfigs(&receiver_transport); |
214 | 212 |
215 video_receive_configs_[0].renderer = &renderer; | 213 video_receive_configs_[0].renderer = &renderer; |
216 | 214 |
217 CreateVideoStreams(); | 215 CreateVideoStreams(); |
218 Start(); | 216 Start(); |
(...skipping 25 matching lines...) Expand all Loading... |
244 | 242 |
245 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); } | 243 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); } |
246 | 244 |
247 bool Wait() { return event_.Wait(kDefaultTimeoutMs); } | 245 bool Wait() { return event_.Wait(kDefaultTimeoutMs); } |
248 | 246 |
249 rtc::Event event_; | 247 rtc::Event event_; |
250 } renderer; | 248 } renderer; |
251 | 249 |
252 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 250 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); |
253 | 251 |
254 test::DirectTransport sender_transport( | 252 test::DirectTransport sender_transport(sender_call_.get()); |
255 sender_call_.get(), MediaType::VIDEO); | 253 test::DirectTransport receiver_transport(receiver_call_.get()); |
256 test::DirectTransport receiver_transport( | |
257 receiver_call_.get(), MediaType::VIDEO); | |
258 sender_transport.SetReceiver(receiver_call_->Receiver()); | 254 sender_transport.SetReceiver(receiver_call_->Receiver()); |
259 receiver_transport.SetReceiver(sender_call_->Receiver()); | 255 receiver_transport.SetReceiver(sender_call_->Receiver()); |
260 | 256 |
261 CreateSendConfig(1, 0, 0, &sender_transport); | 257 CreateSendConfig(1, 0, 0, &sender_transport); |
262 CreateMatchingReceiveConfigs(&receiver_transport); | 258 CreateMatchingReceiveConfigs(&receiver_transport); |
263 video_receive_configs_[0].renderer = &renderer; | 259 video_receive_configs_[0].renderer = &renderer; |
264 | 260 |
265 CreateVideoStreams(); | 261 CreateVideoStreams(); |
266 Start(); | 262 Start(); |
267 | 263 |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
518 remote_ssrc_(0), | 514 remote_ssrc_(0), |
519 receive_transport_(nullptr) {} | 515 receive_transport_(nullptr) {} |
520 | 516 |
521 private: | 517 private: |
522 size_t GetNumVideoStreams() const override { return 0; } | 518 size_t GetNumVideoStreams() const override { return 0; } |
523 size_t GetNumAudioStreams() const override { return 1; } | 519 size_t GetNumAudioStreams() const override { return 1; } |
524 | 520 |
525 test::PacketTransport* CreateReceiveTransport() override { | 521 test::PacketTransport* CreateReceiveTransport() override { |
526 test::PacketTransport* receive_transport = new test::PacketTransport( | 522 test::PacketTransport* receive_transport = new test::PacketTransport( |
527 nullptr, this, test::PacketTransport::kReceiver, | 523 nullptr, this, test::PacketTransport::kReceiver, |
528 MediaType::AUDIO, | |
529 FakeNetworkPipe::Config()); | 524 FakeNetworkPipe::Config()); |
530 receive_transport_ = receive_transport; | 525 receive_transport_ = receive_transport; |
531 return receive_transport; | 526 return receive_transport; |
532 } | 527 } |
533 | 528 |
534 Action OnSendRtp(const uint8_t* packet, size_t length) override { | 529 Action OnSendRtp(const uint8_t* packet, size_t length) override { |
535 RTPHeader header; | 530 RTPHeader header; |
536 EXPECT_TRUE(parser_->Parse(packet, length, &header)); | 531 EXPECT_TRUE(parser_->Parse(packet, length, &header)); |
537 | 532 |
538 if (!sequence_number_to_retransmit_) { | 533 if (!sequence_number_to_retransmit_) { |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
780 | 775 |
781 return SEND_PACKET; | 776 return SEND_PACKET; |
782 } | 777 } |
783 | 778 |
784 test::PacketTransport* CreateSendTransport(Call* sender_call) override { | 779 test::PacketTransport* CreateSendTransport(Call* sender_call) override { |
785 // At low RTT (< kLowRttNackMs) -> NACK only, no FEC. | 780 // At low RTT (< kLowRttNackMs) -> NACK only, no FEC. |
786 const int kNetworkDelayMs = 100; | 781 const int kNetworkDelayMs = 100; |
787 FakeNetworkPipe::Config config; | 782 FakeNetworkPipe::Config config; |
788 config.queue_delay_ms = kNetworkDelayMs; | 783 config.queue_delay_ms = kNetworkDelayMs; |
789 return new test::PacketTransport(sender_call, this, | 784 return new test::PacketTransport(sender_call, this, |
790 test::PacketTransport::kSender, | 785 test::PacketTransport::kSender, config); |
791 MediaType::VIDEO, config); | |
792 } | 786 } |
793 | 787 |
794 void OnFrame(const VideoFrame& video_frame) override { | 788 void OnFrame(const VideoFrame& video_frame) override { |
795 rtc::CritScope lock(&crit_); | 789 rtc::CritScope lock(&crit_); |
796 // Rendering frame with timestamp of packet that was dropped -> FEC | 790 // Rendering frame with timestamp of packet that was dropped -> FEC |
797 // protection worked. | 791 // protection worked. |
798 auto it = dropped_timestamps_.find(video_frame.timestamp()); | 792 auto it = dropped_timestamps_.find(video_frame.timestamp()); |
799 if (it != dropped_timestamps_.end()) { | 793 if (it != dropped_timestamps_.end()) { |
800 if (!expect_flexfec_rtcp_ || received_flexfec_rtcp_) { | 794 if (!expect_flexfec_rtcp_ || received_flexfec_rtcp_) { |
801 observation_complete_.Set(); | 795 observation_complete_.Set(); |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
960 return SEND_PACKET; | 954 return SEND_PACKET; |
961 } | 955 } |
962 | 956 |
963 test::PacketTransport* CreateSendTransport(Call* sender_call) override { | 957 test::PacketTransport* CreateSendTransport(Call* sender_call) override { |
964 // At low RTT (< kLowRttNackMs) -> NACK only, no FEC. | 958 // At low RTT (< kLowRttNackMs) -> NACK only, no FEC. |
965 // Configure some network delay. | 959 // Configure some network delay. |
966 const int kNetworkDelayMs = 50; | 960 const int kNetworkDelayMs = 50; |
967 FakeNetworkPipe::Config config; | 961 FakeNetworkPipe::Config config; |
968 config.queue_delay_ms = kNetworkDelayMs; | 962 config.queue_delay_ms = kNetworkDelayMs; |
969 return new test::PacketTransport(sender_call, this, | 963 return new test::PacketTransport(sender_call, this, |
970 test::PacketTransport::kSender, | 964 test::PacketTransport::kSender, config); |
971 MediaType::VIDEO, config); | |
972 } | 965 } |
973 | 966 |
974 // TODO(holmer): Investigate why we don't send FEC packets when the bitrate | 967 // TODO(holmer): Investigate why we don't send FEC packets when the bitrate |
975 // is 10 kbps. | 968 // is 10 kbps. |
976 Call::Config GetSenderCallConfig() override { | 969 Call::Config GetSenderCallConfig() override { |
977 Call::Config config(&event_log_); | 970 Call::Config config(&event_log_); |
978 const int kMinBitrateBps = 30000; | 971 const int kMinBitrateBps = 30000; |
979 config.bitrate_config.min_bitrate_bps = kMinBitrateBps; | 972 config.bitrate_config.min_bitrate_bps = kMinBitrateBps; |
980 return config; | 973 return config; |
981 } | 974 } |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1303 return delivery_status; | 1296 return delivery_status; |
1304 } | 1297 } |
1305 } | 1298 } |
1306 | 1299 |
1307 PacketReceiver* receiver_; | 1300 PacketReceiver* receiver_; |
1308 rtc::Event delivered_packet_; | 1301 rtc::Event delivered_packet_; |
1309 }; | 1302 }; |
1310 | 1303 |
1311 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 1304 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); |
1312 | 1305 |
1313 test::DirectTransport send_transport( | 1306 test::DirectTransport send_transport(sender_call_.get()); |
1314 sender_call_.get(), MediaType::VIDEO); | 1307 test::DirectTransport receive_transport(receiver_call_.get()); |
1315 test::DirectTransport receive_transport( | |
1316 receiver_call_.get(), MediaType::VIDEO); | |
1317 PacketInputObserver input_observer(receiver_call_->Receiver()); | 1308 PacketInputObserver input_observer(receiver_call_->Receiver()); |
1318 send_transport.SetReceiver(&input_observer); | 1309 send_transport.SetReceiver(&input_observer); |
1319 receive_transport.SetReceiver(sender_call_->Receiver()); | 1310 receive_transport.SetReceiver(sender_call_->Receiver()); |
1320 | 1311 |
1321 CreateSendConfig(1, 0, 0, &send_transport); | 1312 CreateSendConfig(1, 0, 0, &send_transport); |
1322 CreateMatchingReceiveConfigs(&receive_transport); | 1313 CreateMatchingReceiveConfigs(&receive_transport); |
1323 | 1314 |
1324 CreateVideoStreams(); | 1315 CreateVideoStreams(); |
1325 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth, | 1316 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth, |
1326 kDefaultHeight); | 1317 kDefaultHeight); |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1533 // start flowing should this be dereferenced. | 1524 // start flowing should this be dereferenced. |
1534 virtual void UpdateSendConfig( | 1525 virtual void UpdateSendConfig( |
1535 size_t stream_index, | 1526 size_t stream_index, |
1536 VideoSendStream::Config* send_config, | 1527 VideoSendStream::Config* send_config, |
1537 VideoEncoderConfig* encoder_config, | 1528 VideoEncoderConfig* encoder_config, |
1538 test::FrameGeneratorCapturer** frame_generator) {} | 1529 test::FrameGeneratorCapturer** frame_generator) {} |
1539 virtual void UpdateReceiveConfig(size_t stream_index, | 1530 virtual void UpdateReceiveConfig(size_t stream_index, |
1540 VideoReceiveStream::Config* receive_config) { | 1531 VideoReceiveStream::Config* receive_config) { |
1541 } | 1532 } |
1542 virtual test::DirectTransport* CreateSendTransport(Call* sender_call) { | 1533 virtual test::DirectTransport* CreateSendTransport(Call* sender_call) { |
1543 return new test::DirectTransport(sender_call, MediaType::VIDEO); | 1534 return new test::DirectTransport(sender_call); |
1544 } | 1535 } |
1545 virtual test::DirectTransport* CreateReceiveTransport(Call* receiver_call) { | 1536 virtual test::DirectTransport* CreateReceiveTransport(Call* receiver_call) { |
1546 return new test::DirectTransport(receiver_call, MediaType::VIDEO); | 1537 return new test::DirectTransport(receiver_call); |
1547 } | 1538 } |
1548 }; | 1539 }; |
1549 | 1540 |
1550 // Each renderer verifies that it receives the expected resolution, and as soon | 1541 // Each renderer verifies that it receives the expected resolution, and as soon |
1551 // as every renderer has received a frame, the test finishes. | 1542 // as every renderer has received a frame, the test finishes. |
1552 TEST_F(EndToEndTest, SendsAndReceivesMultipleStreams) { | 1543 TEST_F(EndToEndTest, SendsAndReceivesMultipleStreams) { |
1553 class VideoOutputObserver : public rtc::VideoSinkInterface<VideoFrame> { | 1544 class VideoOutputObserver : public rtc::VideoSinkInterface<VideoFrame> { |
1554 public: | 1545 public: |
1555 VideoOutputObserver(const MultiStreamTest::CodecSettings& settings, | 1546 VideoOutputObserver(const MultiStreamTest::CodecSettings& settings, |
1556 uint32_t ssrc, | 1547 uint32_t ssrc, |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1615 } | 1606 } |
1616 | 1607 |
1617 TEST_F(EndToEndTest, AssignsTransportSequenceNumbers) { | 1608 TEST_F(EndToEndTest, AssignsTransportSequenceNumbers) { |
1618 static const int kExtensionId = 5; | 1609 static const int kExtensionId = 5; |
1619 | 1610 |
1620 class RtpExtensionHeaderObserver : public test::DirectTransport { | 1611 class RtpExtensionHeaderObserver : public test::DirectTransport { |
1621 public: | 1612 public: |
1622 RtpExtensionHeaderObserver(Call* sender_call, | 1613 RtpExtensionHeaderObserver(Call* sender_call, |
1623 const uint32_t& first_media_ssrc, | 1614 const uint32_t& first_media_ssrc, |
1624 const std::map<uint32_t, uint32_t>& ssrc_map) | 1615 const std::map<uint32_t, uint32_t>& ssrc_map) |
1625 : DirectTransport(sender_call, MediaType::VIDEO), | 1616 : DirectTransport(sender_call), |
1626 done_(false, false), | 1617 done_(false, false), |
1627 parser_(RtpHeaderParser::Create()), | 1618 parser_(RtpHeaderParser::Create()), |
1628 first_media_ssrc_(first_media_ssrc), | 1619 first_media_ssrc_(first_media_ssrc), |
1629 rtx_to_media_ssrcs_(ssrc_map), | 1620 rtx_to_media_ssrcs_(ssrc_map), |
1630 padding_observed_(false), | 1621 padding_observed_(false), |
1631 rtx_padding_observed_(false), | 1622 rtx_padding_observed_(false), |
1632 retransmit_observed_(false), | 1623 retransmit_observed_(false), |
1633 started_(false) { | 1624 started_(false) { |
1634 parser_->RegisterRtpHeaderExtension(kRtpExtensionTransportSequenceNumber, | 1625 parser_->RegisterRtpHeaderExtension(kRtpExtensionTransportSequenceNumber, |
1635 kExtensionId); | 1626 kExtensionId); |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1931 size_t length_; | 1922 size_t length_; |
1932 FrameType frame_type_; | 1923 FrameType frame_type_; |
1933 rtc::Event called_; | 1924 rtc::Event called_; |
1934 }; | 1925 }; |
1935 | 1926 |
1936 EncodedFrameTestObserver post_encode_observer; | 1927 EncodedFrameTestObserver post_encode_observer; |
1937 EncodedFrameTestObserver pre_decode_observer; | 1928 EncodedFrameTestObserver pre_decode_observer; |
1938 | 1929 |
1939 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 1930 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); |
1940 | 1931 |
1941 test::DirectTransport sender_transport( | 1932 test::DirectTransport sender_transport(sender_call_.get()); |
1942 sender_call_.get(), MediaType::VIDEO); | 1933 test::DirectTransport receiver_transport(receiver_call_.get()); |
1943 test::DirectTransport receiver_transport( | |
1944 receiver_call_.get(), MediaType::VIDEO); | |
1945 sender_transport.SetReceiver(receiver_call_->Receiver()); | 1934 sender_transport.SetReceiver(receiver_call_->Receiver()); |
1946 receiver_transport.SetReceiver(sender_call_->Receiver()); | 1935 receiver_transport.SetReceiver(sender_call_->Receiver()); |
1947 | 1936 |
1948 CreateSendConfig(1, 0, 0, &sender_transport); | 1937 CreateSendConfig(1, 0, 0, &sender_transport); |
1949 CreateMatchingReceiveConfigs(&receiver_transport); | 1938 CreateMatchingReceiveConfigs(&receiver_transport); |
1950 video_send_config_.post_encode_callback = &post_encode_observer; | 1939 video_send_config_.post_encode_callback = &post_encode_observer; |
1951 video_receive_configs_[0].pre_decode_callback = &pre_decode_observer; | 1940 video_receive_configs_[0].pre_decode_callback = &pre_decode_observer; |
1952 | 1941 |
1953 CreateVideoStreams(); | 1942 CreateVideoStreams(); |
1954 Start(); | 1943 Start(); |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2098 this, | 2087 this, |
2099 "BitrateStatsPollingThread"), | 2088 "BitrateStatsPollingThread"), |
2100 state_(kWaitForFirstRampUp), | 2089 state_(kWaitForFirstRampUp), |
2101 retransmission_rate_limiter_(clock_, 1000) {} | 2090 retransmission_rate_limiter_(clock_, 1000) {} |
2102 | 2091 |
2103 ~BweObserver() {} | 2092 ~BweObserver() {} |
2104 | 2093 |
2105 test::PacketTransport* CreateReceiveTransport() override { | 2094 test::PacketTransport* CreateReceiveTransport() override { |
2106 receive_transport_ = new test::PacketTransport( | 2095 receive_transport_ = new test::PacketTransport( |
2107 nullptr, this, test::PacketTransport::kReceiver, | 2096 nullptr, this, test::PacketTransport::kReceiver, |
2108 MediaType::VIDEO, | |
2109 FakeNetworkPipe::Config()); | 2097 FakeNetworkPipe::Config()); |
2110 return receive_transport_; | 2098 return receive_transport_; |
2111 } | 2099 } |
2112 | 2100 |
2113 Call::Config GetSenderCallConfig() override { | 2101 Call::Config GetSenderCallConfig() override { |
2114 Call::Config config(&event_log_); | 2102 Call::Config config(&event_log_); |
2115 // Set a high start bitrate to reduce the test completion time. | 2103 // Set a high start bitrate to reduce the test completion time. |
2116 config.bitrate_config.start_bitrate_bps = remb_bitrate_bps_; | 2104 config.bitrate_config.start_bitrate_bps = remb_bitrate_bps_; |
2117 return config; | 2105 return config; |
2118 } | 2106 } |
(...skipping 943 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3062 if (!stat.second) | 3050 if (!stat.second) |
3063 return false; | 3051 return false; |
3064 } | 3052 } |
3065 return true; | 3053 return true; |
3066 } | 3054 } |
3067 | 3055 |
3068 test::PacketTransport* CreateSendTransport(Call* sender_call) override { | 3056 test::PacketTransport* CreateSendTransport(Call* sender_call) override { |
3069 FakeNetworkPipe::Config network_config; | 3057 FakeNetworkPipe::Config network_config; |
3070 network_config.loss_percent = 5; | 3058 network_config.loss_percent = 5; |
3071 return new test::PacketTransport( | 3059 return new test::PacketTransport( |
3072 sender_call, this, test::PacketTransport::kSender, MediaType::VIDEO, | 3060 sender_call, this, test::PacketTransport::kSender, network_config); |
3073 network_config); | |
3074 } | 3061 } |
3075 | 3062 |
3076 Call::Config GetSenderCallConfig() override { | 3063 Call::Config GetSenderCallConfig() override { |
3077 Call::Config config = EndToEndTest::GetSenderCallConfig(); | 3064 Call::Config config = EndToEndTest::GetSenderCallConfig(); |
3078 config.bitrate_config.start_bitrate_bps = kStartBitrateBps; | 3065 config.bitrate_config.start_bitrate_bps = kStartBitrateBps; |
3079 return config; | 3066 return config; |
3080 } | 3067 } |
3081 | 3068 |
3082 // This test use other VideoStream settings than the the default settings | 3069 // This test use other VideoStream settings than the the default settings |
3083 // implemented in DefaultVideoStreamFactory. Therefore this test implement | 3070 // implemented in DefaultVideoStreamFactory. Therefore this test implement |
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3617 rtc::CriticalSection crit_; | 3604 rtc::CriticalSection crit_; |
3618 size_t ssrcs_to_observe_ GUARDED_BY(crit_); | 3605 size_t ssrcs_to_observe_ GUARDED_BY(crit_); |
3619 std::map<uint32_t, bool> ssrc_observed_ GUARDED_BY(crit_); | 3606 std::map<uint32_t, bool> ssrc_observed_ GUARDED_BY(crit_); |
3620 } observer(use_rtx); | 3607 } observer(use_rtx); |
3621 | 3608 |
3622 Call::Config config(&event_log_); | 3609 Call::Config config(&event_log_); |
3623 CreateCalls(config, config); | 3610 CreateCalls(config, config); |
3624 | 3611 |
3625 test::PacketTransport send_transport(sender_call_.get(), &observer, | 3612 test::PacketTransport send_transport(sender_call_.get(), &observer, |
3626 test::PacketTransport::kSender, | 3613 test::PacketTransport::kSender, |
3627 MediaType::VIDEO, | |
3628 FakeNetworkPipe::Config()); | 3614 FakeNetworkPipe::Config()); |
3629 test::PacketTransport receive_transport(nullptr, &observer, | 3615 test::PacketTransport receive_transport(nullptr, &observer, |
3630 test::PacketTransport::kReceiver, | 3616 test::PacketTransport::kReceiver, |
3631 MediaType::VIDEO, | |
3632 FakeNetworkPipe::Config()); | 3617 FakeNetworkPipe::Config()); |
3633 send_transport.SetReceiver(receiver_call_->Receiver()); | 3618 send_transport.SetReceiver(receiver_call_->Receiver()); |
3634 receive_transport.SetReceiver(sender_call_->Receiver()); | 3619 receive_transport.SetReceiver(sender_call_->Receiver()); |
3635 | 3620 |
3636 CreateSendConfig(kNumSsrcs, 0, 0, &send_transport); | 3621 CreateSendConfig(kNumSsrcs, 0, 0, &send_transport); |
3637 | 3622 |
3638 if (use_rtx) { | 3623 if (use_rtx) { |
3639 for (size_t i = 0; i < kNumSsrcs; ++i) { | 3624 for (size_t i = 0; i < kNumSsrcs; ++i) { |
3640 video_send_config_.rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[i]); | 3625 video_send_config_.rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[i]); |
3641 } | 3626 } |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3914 RunBaseTest(&test); | 3899 RunBaseTest(&test); |
3915 } | 3900 } |
3916 | 3901 |
3917 TEST_F(EndToEndTest, CallReportsRttForSender) { | 3902 TEST_F(EndToEndTest, CallReportsRttForSender) { |
3918 static const int kSendDelayMs = 30; | 3903 static const int kSendDelayMs = 30; |
3919 static const int kReceiveDelayMs = 70; | 3904 static const int kReceiveDelayMs = 70; |
3920 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 3905 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); |
3921 | 3906 |
3922 FakeNetworkPipe::Config config; | 3907 FakeNetworkPipe::Config config; |
3923 config.queue_delay_ms = kSendDelayMs; | 3908 config.queue_delay_ms = kSendDelayMs; |
3924 test::DirectTransport sender_transport( | 3909 test::DirectTransport sender_transport(config, sender_call_.get()); |
3925 config, sender_call_.get(), MediaType::VIDEO); | |
3926 config.queue_delay_ms = kReceiveDelayMs; | 3910 config.queue_delay_ms = kReceiveDelayMs; |
3927 test::DirectTransport receiver_transport( | 3911 test::DirectTransport receiver_transport(config, receiver_call_.get()); |
3928 config, receiver_call_.get(), MediaType::VIDEO); | |
3929 sender_transport.SetReceiver(receiver_call_->Receiver()); | 3912 sender_transport.SetReceiver(receiver_call_->Receiver()); |
3930 receiver_transport.SetReceiver(sender_call_->Receiver()); | 3913 receiver_transport.SetReceiver(sender_call_->Receiver()); |
3931 | 3914 |
3932 CreateSendConfig(1, 0, 0, &sender_transport); | 3915 CreateSendConfig(1, 0, 0, &sender_transport); |
3933 CreateMatchingReceiveConfigs(&receiver_transport); | 3916 CreateMatchingReceiveConfigs(&receiver_transport); |
3934 | 3917 |
3935 CreateVideoStreams(); | 3918 CreateVideoStreams(); |
3936 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth, | 3919 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth, |
3937 kDefaultHeight); | 3920 kDefaultHeight); |
3938 Start(); | 3921 Start(); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3980 DestroyStreams(); | 3963 DestroyStreams(); |
3981 } | 3964 } |
3982 | 3965 |
3983 void EndToEndTest::VerifyNewVideoReceiveStreamsRespectNetworkState( | 3966 void EndToEndTest::VerifyNewVideoReceiveStreamsRespectNetworkState( |
3984 MediaType network_to_bring_up, | 3967 MediaType network_to_bring_up, |
3985 Transport* transport) { | 3968 Transport* transport) { |
3986 Call::Config config(&event_log_); | 3969 Call::Config config(&event_log_); |
3987 CreateCalls(config, config); | 3970 CreateCalls(config, config); |
3988 receiver_call_->SignalChannelNetworkState(network_to_bring_up, kNetworkUp); | 3971 receiver_call_->SignalChannelNetworkState(network_to_bring_up, kNetworkUp); |
3989 | 3972 |
3990 test::DirectTransport sender_transport(sender_call_.get(), MediaType::VIDEO); | 3973 test::DirectTransport sender_transport(sender_call_.get()); |
3991 sender_transport.SetReceiver(receiver_call_->Receiver()); | 3974 sender_transport.SetReceiver(receiver_call_->Receiver()); |
3992 CreateSendConfig(1, 0, 0, &sender_transport); | 3975 CreateSendConfig(1, 0, 0, &sender_transport); |
3993 CreateMatchingReceiveConfigs(transport); | 3976 CreateMatchingReceiveConfigs(transport); |
3994 CreateVideoStreams(); | 3977 CreateVideoStreams(); |
3995 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth, | 3978 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth, |
3996 kDefaultHeight); | 3979 kDefaultHeight); |
3997 | 3980 |
3998 Start(); | 3981 Start(); |
3999 SleepMs(kSilenceTimeoutMs); | 3982 SleepMs(kSilenceTimeoutMs); |
4000 Stop(); | 3983 Stop(); |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4304 std::unique_ptr<VideoEncoder> encoder_; | 4287 std::unique_ptr<VideoEncoder> encoder_; |
4305 std::unique_ptr<VideoDecoder> decoder_; | 4288 std::unique_ptr<VideoDecoder> decoder_; |
4306 rtc::CriticalSection crit_; | 4289 rtc::CriticalSection crit_; |
4307 int recorded_frames_ GUARDED_BY(crit_); | 4290 int recorded_frames_ GUARDED_BY(crit_); |
4308 } test(this); | 4291 } test(this); |
4309 | 4292 |
4310 RunBaseTest(&test); | 4293 RunBaseTest(&test); |
4311 } | 4294 } |
4312 | 4295 |
4313 } // namespace webrtc | 4296 } // namespace webrtc |
OLD | NEW |