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