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

Side by Side Diff: webrtc/video/end_to_end_tests.cc

Issue 2353033005: Refactoring: move ownership of RtcEventLog from Call to PeerConnection (Closed)
Patch Set: Make Call::Config constructor require RtcEventLog Created 4 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
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>
11 #include <list> 11 #include <list>
12 #include <map> 12 #include <map>
13 #include <memory> 13 #include <memory>
14 #include <sstream> 14 #include <sstream>
15 #include <string> 15 #include <string>
16 #include <vector> 16 #include <vector>
17 17
18 #include "webrtc/base/checks.h" 18 #include "webrtc/base/checks.h"
19 #include "webrtc/base/event.h" 19 #include "webrtc/base/event.h"
20 #include "webrtc/base/file.h" 20 #include "webrtc/base/file.h"
21 #include "webrtc/base/optional.h" 21 #include "webrtc/base/optional.h"
22 #include "webrtc/base/rate_limiter.h" 22 #include "webrtc/base/rate_limiter.h"
23 #include "webrtc/call.h" 23 #include "webrtc/call.h"
24 #include "webrtc/call/transport_adapter.h" 24 #include "webrtc/call/transport_adapter.h"
25 #include "webrtc/common_video/include/frame_callback.h" 25 #include "webrtc/common_video/include/frame_callback.h"
26 #include "webrtc/logging/rtc_event_log/rtc_event_log.h"
26 #include "webrtc/media/base/fakevideorenderer.h" 27 #include "webrtc/media/base/fakevideorenderer.h"
27 #include "webrtc/modules/include/module_common_types.h" 28 #include "webrtc/modules/include/module_common_types.h"
28 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h" 29 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h"
29 #include "webrtc/modules/rtp_rtcp/source/byte_io.h" 30 #include "webrtc/modules/rtp_rtcp/source/byte_io.h"
30 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/nack.h" 31 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/nack.h"
31 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/rapid_resync_request.h" 32 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/rapid_resync_request.h"
32 #include "webrtc/modules/rtp_rtcp/source/rtcp_utility.h" 33 #include "webrtc/modules/rtp_rtcp/source/rtcp_utility.h"
33 #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h" 34 #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h"
34 #include "webrtc/modules/video_coding/codecs/h264/include/h264.h" 35 #include "webrtc/modules/video_coding/codecs/h264/include/h264.h"
35 #include "webrtc/modules/video_coding/codecs/vp8/include/vp8.h" 36 #include "webrtc/modules/video_coding/codecs/vp8/include/vp8.h"
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 void VerifyNewVideoSendStreamsRespectNetworkState( 125 void VerifyNewVideoSendStreamsRespectNetworkState(
125 MediaType network_to_bring_down, 126 MediaType network_to_bring_down,
126 VideoEncoder* encoder, 127 VideoEncoder* encoder,
127 Transport* transport); 128 Transport* transport);
128 void VerifyNewVideoReceiveStreamsRespectNetworkState( 129 void VerifyNewVideoReceiveStreamsRespectNetworkState(
129 MediaType network_to_bring_down, 130 MediaType network_to_bring_down,
130 Transport* transport); 131 Transport* transport);
131 }; 132 };
132 133
133 TEST_F(EndToEndTest, ReceiverCanBeStartedTwice) { 134 TEST_F(EndToEndTest, ReceiverCanBeStartedTwice) {
134 CreateCalls(Call::Config(), Call::Config()); 135 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_));
135 136
136 test::NullTransport transport; 137 test::NullTransport transport;
137 CreateSendConfig(1, 0, &transport); 138 CreateSendConfig(1, 0, &transport);
138 CreateMatchingReceiveConfigs(&transport); 139 CreateMatchingReceiveConfigs(&transport);
139 140
140 CreateVideoStreams(); 141 CreateVideoStreams();
141 142
142 video_receive_streams_[0]->Start(); 143 video_receive_streams_[0]->Start();
143 video_receive_streams_[0]->Start(); 144 video_receive_streams_[0]->Start();
144 145
145 DestroyStreams(); 146 DestroyStreams();
146 } 147 }
147 148
148 TEST_F(EndToEndTest, ReceiverCanBeStoppedTwice) { 149 TEST_F(EndToEndTest, ReceiverCanBeStoppedTwice) {
149 CreateCalls(Call::Config(), Call::Config()); 150 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_));
150 151
151 test::NullTransport transport; 152 test::NullTransport transport;
152 CreateSendConfig(1, 0, &transport); 153 CreateSendConfig(1, 0, &transport);
153 CreateMatchingReceiveConfigs(&transport); 154 CreateMatchingReceiveConfigs(&transport);
154 155
155 CreateVideoStreams(); 156 CreateVideoStreams();
156 157
157 video_receive_streams_[0]->Stop(); 158 video_receive_streams_[0]->Stop();
158 video_receive_streams_[0]->Stop(); 159 video_receive_streams_[0]->Stop();
159 160
(...skipping 27 matching lines...) Expand all
187 188
188 private: 189 private:
189 void FrameCallback(VideoFrame* frame) override { 190 void FrameCallback(VideoFrame* frame) override {
190 SleepMs(kDelayRenderCallbackMs); 191 SleepMs(kDelayRenderCallbackMs);
191 event_.Set(); 192 event_.Set();
192 } 193 }
193 194
194 rtc::Event event_; 195 rtc::Event event_;
195 }; 196 };
196 197
197 CreateCalls(Call::Config(), Call::Config()); 198 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_));
198 199
199 test::DirectTransport sender_transport(sender_call_.get()); 200 test::DirectTransport sender_transport(sender_call_.get());
200 test::DirectTransport receiver_transport(receiver_call_.get()); 201 test::DirectTransport receiver_transport(receiver_call_.get());
201 sender_transport.SetReceiver(receiver_call_->Receiver()); 202 sender_transport.SetReceiver(receiver_call_->Receiver());
202 receiver_transport.SetReceiver(sender_call_->Receiver()); 203 receiver_transport.SetReceiver(sender_call_->Receiver());
203 204
204 CreateSendConfig(1, 0, &sender_transport); 205 CreateSendConfig(1, 0, &sender_transport);
205 CreateMatchingReceiveConfigs(&receiver_transport); 206 CreateMatchingReceiveConfigs(&receiver_transport);
206 207
207 TestFrameCallback pre_render_callback; 208 TestFrameCallback pre_render_callback;
(...skipping 29 matching lines...) Expand all
237 public: 238 public:
238 Renderer() : event_(false, false) {} 239 Renderer() : event_(false, false) {}
239 240
240 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); } 241 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); }
241 242
242 bool Wait() { return event_.Wait(kDefaultTimeoutMs); } 243 bool Wait() { return event_.Wait(kDefaultTimeoutMs); }
243 244
244 rtc::Event event_; 245 rtc::Event event_;
245 } renderer; 246 } renderer;
246 247
247 CreateCalls(Call::Config(), Call::Config()); 248 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_));
248 249
249 test::DirectTransport sender_transport(sender_call_.get()); 250 test::DirectTransport sender_transport(sender_call_.get());
250 test::DirectTransport receiver_transport(receiver_call_.get()); 251 test::DirectTransport receiver_transport(receiver_call_.get());
251 sender_transport.SetReceiver(receiver_call_->Receiver()); 252 sender_transport.SetReceiver(receiver_call_->Receiver());
252 receiver_transport.SetReceiver(sender_call_->Receiver()); 253 receiver_transport.SetReceiver(sender_call_->Receiver());
253 254
254 CreateSendConfig(1, 0, &sender_transport); 255 CreateSendConfig(1, 0, &sender_transport);
255 CreateMatchingReceiveConfigs(&receiver_transport); 256 CreateMatchingReceiveConfigs(&receiver_transport);
256 video_receive_configs_[0].renderer = &renderer; 257 video_receive_configs_[0].renderer = &renderer;
257 258
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after
764 const int kNetworkDelayMs = 50; 765 const int kNetworkDelayMs = 50;
765 FakeNetworkPipe::Config config; 766 FakeNetworkPipe::Config config;
766 config.queue_delay_ms = kNetworkDelayMs; 767 config.queue_delay_ms = kNetworkDelayMs;
767 return new test::PacketTransport(sender_call, this, 768 return new test::PacketTransport(sender_call, this,
768 test::PacketTransport::kSender, config); 769 test::PacketTransport::kSender, config);
769 } 770 }
770 771
771 // TODO(holmer): Investigate why we don't send FEC packets when the bitrate 772 // TODO(holmer): Investigate why we don't send FEC packets when the bitrate
772 // is 10 kbps. 773 // is 10 kbps.
773 Call::Config GetSenderCallConfig() override { 774 Call::Config GetSenderCallConfig() override {
774 Call::Config config; 775 Call::Config config(&event_log_);
775 const int kMinBitrateBps = 30000; 776 const int kMinBitrateBps = 30000;
776 config.bitrate_config.min_bitrate_bps = kMinBitrateBps; 777 config.bitrate_config.min_bitrate_bps = kMinBitrateBps;
777 return config; 778 return config;
778 } 779 }
779 780
780 void ModifyVideoConfigs( 781 void ModifyVideoConfigs(
781 VideoSendStream::Config* send_config, 782 VideoSendStream::Config* send_config,
782 std::vector<VideoReceiveStream::Config>* receive_configs, 783 std::vector<VideoReceiveStream::Config>* receive_configs,
783 VideoEncoderConfig* encoder_config) override { 784 VideoEncoderConfig* encoder_config) override {
784 // Configure hybrid NACK/FEC. 785 // Configure hybrid NACK/FEC.
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
1095 EXPECT_EQ(DELIVERY_UNKNOWN_SSRC, delivery_status); 1096 EXPECT_EQ(DELIVERY_UNKNOWN_SSRC, delivery_status);
1096 delivered_packet_.Set(); 1097 delivered_packet_.Set();
1097 return delivery_status; 1098 return delivery_status;
1098 } 1099 }
1099 } 1100 }
1100 1101
1101 PacketReceiver* receiver_; 1102 PacketReceiver* receiver_;
1102 rtc::Event delivered_packet_; 1103 rtc::Event delivered_packet_;
1103 }; 1104 };
1104 1105
1105 CreateCalls(Call::Config(), Call::Config()); 1106 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_));
1106 1107
1107 test::DirectTransport send_transport(sender_call_.get()); 1108 test::DirectTransport send_transport(sender_call_.get());
1108 test::DirectTransport receive_transport(receiver_call_.get()); 1109 test::DirectTransport receive_transport(receiver_call_.get());
1109 PacketInputObserver input_observer(receiver_call_->Receiver()); 1110 PacketInputObserver input_observer(receiver_call_->Receiver());
1110 send_transport.SetReceiver(&input_observer); 1111 send_transport.SetReceiver(&input_observer);
1111 receive_transport.SetReceiver(sender_call_->Receiver()); 1112 receive_transport.SetReceiver(sender_call_->Receiver());
1112 1113
1113 CreateSendConfig(1, 0, &send_transport); 1114 CreateSendConfig(1, 0, &send_transport);
1114 CreateMatchingReceiveConfigs(&receive_transport); 1115 CreateMatchingReceiveConfigs(&receive_transport);
1115 1116
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
1236 MultiStreamTest() { 1237 MultiStreamTest() {
1237 // TODO(sprang): Cleanup when msvc supports explicit initializers for array. 1238 // TODO(sprang): Cleanup when msvc supports explicit initializers for array.
1238 codec_settings[0] = {1, 640, 480}; 1239 codec_settings[0] = {1, 640, 480};
1239 codec_settings[1] = {2, 320, 240}; 1240 codec_settings[1] = {2, 320, 240};
1240 codec_settings[2] = {3, 240, 160}; 1241 codec_settings[2] = {3, 240, 160};
1241 } 1242 }
1242 1243
1243 virtual ~MultiStreamTest() {} 1244 virtual ~MultiStreamTest() {}
1244 1245
1245 void RunTest() { 1246 void RunTest() {
1246 std::unique_ptr<Call> sender_call(Call::Create(Call::Config())); 1247 webrtc::RtcEventLogNullImpl event_log;
1247 std::unique_ptr<Call> receiver_call(Call::Create(Call::Config())); 1248 Call::Config config(&event_log);
1249 std::unique_ptr<Call> sender_call(Call::Create(config));
1250 std::unique_ptr<Call> receiver_call(Call::Create(config));
1248 std::unique_ptr<test::DirectTransport> sender_transport( 1251 std::unique_ptr<test::DirectTransport> sender_transport(
1249 CreateSendTransport(sender_call.get())); 1252 CreateSendTransport(sender_call.get()));
1250 std::unique_ptr<test::DirectTransport> receiver_transport( 1253 std::unique_ptr<test::DirectTransport> receiver_transport(
1251 CreateReceiveTransport(receiver_call.get())); 1254 CreateReceiveTransport(receiver_call.get()));
1252 sender_transport->SetReceiver(receiver_call->Receiver()); 1255 sender_transport->SetReceiver(receiver_call->Receiver());
1253 receiver_transport->SetReceiver(sender_call->Receiver()); 1256 receiver_transport->SetReceiver(sender_call->Receiver());
1254 1257
1255 std::unique_ptr<VideoEncoder> encoders[kNumStreams]; 1258 std::unique_ptr<VideoEncoder> encoders[kNumStreams];
1256 for (size_t i = 0; i < kNumStreams; ++i) 1259 for (size_t i = 0; i < kNumStreams; ++i)
1257 encoders[i].reset(VideoEncoder::Create(VideoEncoder::kVp8)); 1260 encoders[i].reset(VideoEncoder::Create(VideoEncoder::kVp8));
(...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after
1732 private: 1735 private:
1733 std::unique_ptr<uint8_t[]> buffer_; 1736 std::unique_ptr<uint8_t[]> buffer_;
1734 size_t length_; 1737 size_t length_;
1735 FrameType frame_type_; 1738 FrameType frame_type_;
1736 rtc::Event called_; 1739 rtc::Event called_;
1737 }; 1740 };
1738 1741
1739 EncodedFrameTestObserver post_encode_observer; 1742 EncodedFrameTestObserver post_encode_observer;
1740 EncodedFrameTestObserver pre_decode_observer; 1743 EncodedFrameTestObserver pre_decode_observer;
1741 1744
1742 CreateCalls(Call::Config(), Call::Config()); 1745 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_));
1743 1746
1744 test::DirectTransport sender_transport(sender_call_.get()); 1747 test::DirectTransport sender_transport(sender_call_.get());
1745 test::DirectTransport receiver_transport(receiver_call_.get()); 1748 test::DirectTransport receiver_transport(receiver_call_.get());
1746 sender_transport.SetReceiver(receiver_call_->Receiver()); 1749 sender_transport.SetReceiver(receiver_call_->Receiver());
1747 receiver_transport.SetReceiver(sender_call_->Receiver()); 1750 receiver_transport.SetReceiver(sender_call_->Receiver());
1748 1751
1749 CreateSendConfig(1, 0, &sender_transport); 1752 CreateSendConfig(1, 0, &sender_transport);
1750 CreateMatchingReceiveConfigs(&receiver_transport); 1753 CreateMatchingReceiveConfigs(&receiver_transport);
1751 video_send_config_.post_encode_callback = &post_encode_observer; 1754 video_send_config_.post_encode_callback = &post_encode_observer;
1752 video_receive_configs_[0].pre_decode_callback = &pre_decode_observer; 1755 video_receive_configs_[0].pre_decode_callback = &pre_decode_observer;
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
1883 ~BweObserver() {} 1886 ~BweObserver() {}
1884 1887
1885 test::PacketTransport* CreateReceiveTransport() override { 1888 test::PacketTransport* CreateReceiveTransport() override {
1886 receive_transport_ = new test::PacketTransport( 1889 receive_transport_ = new test::PacketTransport(
1887 nullptr, this, test::PacketTransport::kReceiver, 1890 nullptr, this, test::PacketTransport::kReceiver,
1888 FakeNetworkPipe::Config()); 1891 FakeNetworkPipe::Config());
1889 return receive_transport_; 1892 return receive_transport_;
1890 } 1893 }
1891 1894
1892 Call::Config GetSenderCallConfig() override { 1895 Call::Config GetSenderCallConfig() override {
1893 Call::Config config; 1896 Call::Config config(&event_log_);
1894 // Set a high start bitrate to reduce the test completion time. 1897 // Set a high start bitrate to reduce the test completion time.
1895 config.bitrate_config.start_bitrate_bps = remb_bitrate_bps_; 1898 config.bitrate_config.start_bitrate_bps = remb_bitrate_bps_;
1896 return config; 1899 return config;
1897 } 1900 }
1898 1901
1899 void ModifyVideoConfigs( 1902 void ModifyVideoConfigs(
1900 VideoSendStream::Config* send_config, 1903 VideoSendStream::Config* send_config,
1901 std::vector<VideoReceiveStream::Config>* receive_configs, 1904 std::vector<VideoReceiveStream::Config>* receive_configs,
1902 VideoEncoderConfig* encoder_config) override { 1905 VideoEncoderConfig* encoder_config) override {
1903 ASSERT_EQ(1u, send_config->rtp.ssrcs.size()); 1906 ASSERT_EQ(1u, send_config->rtp.ssrcs.size());
(...skipping 1358 matching lines...) Expand 10 before | Expand all | Expand 10 after
3262 SequenceNumberUnwrapper seq_numbers_unwrapper_; 3265 SequenceNumberUnwrapper seq_numbers_unwrapper_;
3263 std::map<uint32_t, std::list<int64_t>> last_observed_seq_numbers_; 3266 std::map<uint32_t, std::list<int64_t>> last_observed_seq_numbers_;
3264 std::map<uint32_t, uint32_t> last_observed_timestamp_; 3267 std::map<uint32_t, uint32_t> last_observed_timestamp_;
3265 std::map<uint32_t, bool> ssrc_is_rtx_; 3268 std::map<uint32_t, bool> ssrc_is_rtx_;
3266 3269
3267 rtc::CriticalSection crit_; 3270 rtc::CriticalSection crit_;
3268 size_t ssrcs_to_observe_ GUARDED_BY(crit_); 3271 size_t ssrcs_to_observe_ GUARDED_BY(crit_);
3269 std::map<uint32_t, bool> ssrc_observed_ GUARDED_BY(crit_); 3272 std::map<uint32_t, bool> ssrc_observed_ GUARDED_BY(crit_);
3270 } observer(use_rtx); 3273 } observer(use_rtx);
3271 3274
3272 CreateCalls(Call::Config(), Call::Config()); 3275 Call::Config config(&event_log_);
3276 CreateCalls(config, config);
3273 3277
3274 test::PacketTransport send_transport(sender_call_.get(), &observer, 3278 test::PacketTransport send_transport(sender_call_.get(), &observer,
3275 test::PacketTransport::kSender, 3279 test::PacketTransport::kSender,
3276 FakeNetworkPipe::Config()); 3280 FakeNetworkPipe::Config());
3277 test::PacketTransport receive_transport(nullptr, &observer, 3281 test::PacketTransport receive_transport(nullptr, &observer,
3278 test::PacketTransport::kReceiver, 3282 test::PacketTransport::kReceiver,
3279 FakeNetworkPipe::Config()); 3283 FakeNetworkPipe::Config());
3280 send_transport.SetReceiver(receiver_call_->Receiver()); 3284 send_transport.SetReceiver(receiver_call_->Receiver());
3281 receive_transport.SetReceiver(sender_call_->Receiver()); 3285 receive_transport.SetReceiver(sender_call_->Receiver());
3282 3286
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
3557 int receiver_rtcp_ GUARDED_BY(test_crit_); 3561 int receiver_rtcp_ GUARDED_BY(test_crit_);
3558 int down_frames_ GUARDED_BY(test_crit_); 3562 int down_frames_ GUARDED_BY(test_crit_);
3559 } test; 3563 } test;
3560 3564
3561 RunBaseTest(&test); 3565 RunBaseTest(&test);
3562 } 3566 }
3563 3567
3564 TEST_F(EndToEndTest, CallReportsRttForSender) { 3568 TEST_F(EndToEndTest, CallReportsRttForSender) {
3565 static const int kSendDelayMs = 30; 3569 static const int kSendDelayMs = 30;
3566 static const int kReceiveDelayMs = 70; 3570 static const int kReceiveDelayMs = 70;
3567 3571 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_));
3568 CreateCalls(Call::Config(), Call::Config());
3569 3572
3570 FakeNetworkPipe::Config config; 3573 FakeNetworkPipe::Config config;
3571 config.queue_delay_ms = kSendDelayMs; 3574 config.queue_delay_ms = kSendDelayMs;
3572 test::DirectTransport sender_transport(config, sender_call_.get()); 3575 test::DirectTransport sender_transport(config, sender_call_.get());
3573 config.queue_delay_ms = kReceiveDelayMs; 3576 config.queue_delay_ms = kReceiveDelayMs;
3574 test::DirectTransport receiver_transport(config, receiver_call_.get()); 3577 test::DirectTransport receiver_transport(config, receiver_call_.get());
3575 sender_transport.SetReceiver(receiver_call_->Receiver()); 3578 sender_transport.SetReceiver(receiver_call_->Receiver());
3576 receiver_transport.SetReceiver(sender_call_->Receiver()); 3579 receiver_transport.SetReceiver(sender_call_->Receiver());
3577 3580
3578 CreateSendConfig(1, 0, &sender_transport); 3581 CreateSendConfig(1, 0, &sender_transport);
(...skipping 21 matching lines...) Expand all
3600 } 3603 }
3601 3604
3602 Stop(); 3605 Stop();
3603 DestroyStreams(); 3606 DestroyStreams();
3604 } 3607 }
3605 3608
3606 void EndToEndTest::VerifyNewVideoSendStreamsRespectNetworkState( 3609 void EndToEndTest::VerifyNewVideoSendStreamsRespectNetworkState(
3607 MediaType network_to_bring_down, 3610 MediaType network_to_bring_down,
3608 VideoEncoder* encoder, 3611 VideoEncoder* encoder,
3609 Transport* transport) { 3612 Transport* transport) {
3610 CreateSenderCall(Call::Config()); 3613 CreateSenderCall(Call::Config(&event_log_));
3611 sender_call_->SignalChannelNetworkState(network_to_bring_down, kNetworkDown); 3614 sender_call_->SignalChannelNetworkState(network_to_bring_down, kNetworkDown);
3612 3615
3613 CreateSendConfig(1, 0, transport); 3616 CreateSendConfig(1, 0, transport);
3614 video_send_config_.encoder_settings.encoder = encoder; 3617 video_send_config_.encoder_settings.encoder = encoder;
3615 CreateVideoStreams(); 3618 CreateVideoStreams();
3616 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth, 3619 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth,
3617 kDefaultHeight); 3620 kDefaultHeight);
3618 3621
3619 Start(); 3622 Start();
3620 SleepMs(kSilenceTimeoutMs); 3623 SleepMs(kSilenceTimeoutMs);
3621 Stop(); 3624 Stop();
3622 3625
3623 DestroyStreams(); 3626 DestroyStreams();
3624 } 3627 }
3625 3628
3626 void EndToEndTest::VerifyNewVideoReceiveStreamsRespectNetworkState( 3629 void EndToEndTest::VerifyNewVideoReceiveStreamsRespectNetworkState(
3627 MediaType network_to_bring_down, 3630 MediaType network_to_bring_down,
3628 Transport* transport) { 3631 Transport* transport) {
3629 CreateCalls(Call::Config(), Call::Config()); 3632 Call::Config config(&event_log_);
3633 CreateCalls(config, config);
3630 receiver_call_->SignalChannelNetworkState(network_to_bring_down, 3634 receiver_call_->SignalChannelNetworkState(network_to_bring_down,
3631 kNetworkDown); 3635 kNetworkDown);
3632 3636
3633 test::DirectTransport sender_transport(sender_call_.get()); 3637 test::DirectTransport sender_transport(sender_call_.get());
3634 sender_transport.SetReceiver(receiver_call_->Receiver()); 3638 sender_transport.SetReceiver(receiver_call_->Receiver());
3635 CreateSendConfig(1, 0, &sender_transport); 3639 CreateSendConfig(1, 0, &sender_transport);
3636 CreateMatchingReceiveConfigs(transport); 3640 CreateMatchingReceiveConfigs(transport);
3637 CreateVideoStreams(); 3641 CreateVideoStreams();
3638 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth, 3642 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth,
3639 kDefaultHeight); 3643 kDefaultHeight);
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
3923 std::unique_ptr<VideoEncoder> encoder_; 3927 std::unique_ptr<VideoEncoder> encoder_;
3924 std::unique_ptr<VideoDecoder> decoder_; 3928 std::unique_ptr<VideoDecoder> decoder_;
3925 rtc::CriticalSection crit_; 3929 rtc::CriticalSection crit_;
3926 int recorded_frames_ GUARDED_BY(crit_); 3930 int recorded_frames_ GUARDED_BY(crit_);
3927 } test(this); 3931 } test(this);
3928 3932
3929 RunBaseTest(&test); 3933 RunBaseTest(&test);
3930 } 3934 }
3931 3935
3932 } // namespace webrtc 3936 } // namespace webrtc
OLDNEW
« webrtc/call.h ('K') | « webrtc/video/DEPS ('k') | webrtc/video/video_quality_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698