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 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 void VerifyNewVideoSendStreamsRespectNetworkState( | 134 void VerifyNewVideoSendStreamsRespectNetworkState( |
135 MediaType network_to_bring_up, | 135 MediaType network_to_bring_up, |
136 VideoEncoder* encoder, | 136 VideoEncoder* encoder, |
137 Transport* transport); | 137 Transport* transport); |
138 void VerifyNewVideoReceiveStreamsRespectNetworkState( | 138 void VerifyNewVideoReceiveStreamsRespectNetworkState( |
139 MediaType network_to_bring_up, | 139 MediaType network_to_bring_up, |
140 Transport* transport); | 140 Transport* transport); |
141 }; | 141 }; |
142 | 142 |
143 TEST_F(EndToEndTest, ReceiverCanBeStartedTwice) { | 143 TEST_F(EndToEndTest, ReceiverCanBeStartedTwice) { |
144 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 144 CreateCalls(Call::Config(event_log_.get()), Call::Config(event_log_.get())); |
145 | 145 |
146 test::NullTransport transport; | 146 test::NullTransport transport; |
147 CreateSendConfig(1, 0, 0, &transport); | 147 CreateSendConfig(1, 0, 0, &transport); |
148 CreateMatchingReceiveConfigs(&transport); | 148 CreateMatchingReceiveConfigs(&transport); |
149 | 149 |
150 CreateVideoStreams(); | 150 CreateVideoStreams(); |
151 | 151 |
152 video_receive_streams_[0]->Start(); | 152 video_receive_streams_[0]->Start(); |
153 video_receive_streams_[0]->Start(); | 153 video_receive_streams_[0]->Start(); |
154 | 154 |
155 DestroyStreams(); | 155 DestroyStreams(); |
156 } | 156 } |
157 | 157 |
158 TEST_F(EndToEndTest, ReceiverCanBeStoppedTwice) { | 158 TEST_F(EndToEndTest, ReceiverCanBeStoppedTwice) { |
159 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 159 CreateCalls(Call::Config(event_log_.get()), Call::Config(event_log_.get())); |
160 | 160 |
161 test::NullTransport transport; | 161 test::NullTransport transport; |
162 CreateSendConfig(1, 0, 0, &transport); | 162 CreateSendConfig(1, 0, 0, &transport); |
163 CreateMatchingReceiveConfigs(&transport); | 163 CreateMatchingReceiveConfigs(&transport); |
164 | 164 |
165 CreateVideoStreams(); | 165 CreateVideoStreams(); |
166 | 166 |
167 video_receive_streams_[0]->Stop(); | 167 video_receive_streams_[0]->Stop(); |
168 video_receive_streams_[0]->Stop(); | 168 video_receive_streams_[0]->Stop(); |
169 | 169 |
170 DestroyStreams(); | 170 DestroyStreams(); |
171 } | 171 } |
172 | 172 |
173 TEST_F(EndToEndTest, ReceiverCanBeStoppedAndRestarted) { | 173 TEST_F(EndToEndTest, ReceiverCanBeStoppedAndRestarted) { |
174 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 174 CreateCalls(Call::Config(event_log_.get()), Call::Config(event_log_.get())); |
175 | 175 |
176 test::NullTransport transport; | 176 test::NullTransport transport; |
177 CreateSendConfig(1, 0, 0, &transport); | 177 CreateSendConfig(1, 0, 0, &transport); |
178 CreateMatchingReceiveConfigs(&transport); | 178 CreateMatchingReceiveConfigs(&transport); |
179 | 179 |
180 CreateVideoStreams(); | 180 CreateVideoStreams(); |
181 | 181 |
182 video_receive_streams_[0]->Stop(); | 182 video_receive_streams_[0]->Stop(); |
183 video_receive_streams_[0]->Start(); | 183 video_receive_streams_[0]->Start(); |
184 video_receive_streams_[0]->Stop(); | 184 video_receive_streams_[0]->Stop(); |
(...skipping 16 matching lines...) Expand all Loading... |
201 void OnFrame(const VideoFrame& video_frame) override { | 201 void OnFrame(const VideoFrame& video_frame) override { |
202 SleepMs(kRenderDelayMs); | 202 SleepMs(kRenderDelayMs); |
203 event_.Set(); | 203 event_.Set(); |
204 } | 204 } |
205 | 205 |
206 bool Wait() { return event_.Wait(kDefaultTimeoutMs); } | 206 bool Wait() { return event_.Wait(kDefaultTimeoutMs); } |
207 | 207 |
208 rtc::Event event_; | 208 rtc::Event event_; |
209 } renderer; | 209 } renderer; |
210 | 210 |
211 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 211 CreateCalls(Call::Config(event_log_.get()), Call::Config(event_log_.get())); |
212 | 212 |
213 test::DirectTransport sender_transport( | 213 test::DirectTransport sender_transport( |
214 sender_call_.get(), MediaType::VIDEO); | 214 sender_call_.get(), MediaType::VIDEO); |
215 test::DirectTransport receiver_transport( | 215 test::DirectTransport receiver_transport( |
216 receiver_call_.get(), MediaType::VIDEO); | 216 receiver_call_.get(), MediaType::VIDEO); |
217 sender_transport.SetReceiver(receiver_call_->Receiver()); | 217 sender_transport.SetReceiver(receiver_call_->Receiver()); |
218 receiver_transport.SetReceiver(sender_call_->Receiver()); | 218 receiver_transport.SetReceiver(sender_call_->Receiver()); |
219 | 219 |
220 CreateSendConfig(1, 0, 0, &sender_transport); | 220 CreateSendConfig(1, 0, 0, &sender_transport); |
221 CreateMatchingReceiveConfigs(&receiver_transport); | 221 CreateMatchingReceiveConfigs(&receiver_transport); |
(...skipping 29 matching lines...) Expand all Loading... |
251 public: | 251 public: |
252 Renderer() : event_(false, false) {} | 252 Renderer() : event_(false, false) {} |
253 | 253 |
254 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); } | 254 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); } |
255 | 255 |
256 bool Wait() { return event_.Wait(kDefaultTimeoutMs); } | 256 bool Wait() { return event_.Wait(kDefaultTimeoutMs); } |
257 | 257 |
258 rtc::Event event_; | 258 rtc::Event event_; |
259 } renderer; | 259 } renderer; |
260 | 260 |
261 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 261 CreateCalls(Call::Config(event_log_.get()), Call::Config(event_log_.get())); |
262 | 262 |
263 test::DirectTransport sender_transport( | 263 test::DirectTransport sender_transport( |
264 sender_call_.get(), MediaType::VIDEO); | 264 sender_call_.get(), MediaType::VIDEO); |
265 test::DirectTransport receiver_transport( | 265 test::DirectTransport receiver_transport( |
266 receiver_call_.get(), MediaType::VIDEO); | 266 receiver_call_.get(), MediaType::VIDEO); |
267 sender_transport.SetReceiver(receiver_call_->Receiver()); | 267 sender_transport.SetReceiver(receiver_call_->Receiver()); |
268 receiver_transport.SetReceiver(sender_call_->Receiver()); | 268 receiver_transport.SetReceiver(sender_call_->Receiver()); |
269 | 269 |
270 CreateSendConfig(1, 0, 0, &sender_transport); | 270 CreateSendConfig(1, 0, 0, &sender_transport); |
271 CreateMatchingReceiveConfigs(&receiver_transport); | 271 CreateMatchingReceiveConfigs(&receiver_transport); |
(...skipping 705 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
977 FakeNetworkPipe::Config config; | 977 FakeNetworkPipe::Config config; |
978 config.queue_delay_ms = kNetworkDelayMs; | 978 config.queue_delay_ms = kNetworkDelayMs; |
979 return new test::PacketTransport(sender_call, this, | 979 return new test::PacketTransport(sender_call, this, |
980 test::PacketTransport::kSender, | 980 test::PacketTransport::kSender, |
981 MediaType::VIDEO, config); | 981 MediaType::VIDEO, config); |
982 } | 982 } |
983 | 983 |
984 // TODO(holmer): Investigate why we don't send FEC packets when the bitrate | 984 // TODO(holmer): Investigate why we don't send FEC packets when the bitrate |
985 // is 10 kbps. | 985 // is 10 kbps. |
986 Call::Config GetSenderCallConfig() override { | 986 Call::Config GetSenderCallConfig() override { |
987 Call::Config config(&event_log_); | 987 Call::Config config(event_log_.get()); |
988 const int kMinBitrateBps = 30000; | 988 const int kMinBitrateBps = 30000; |
989 config.bitrate_config.min_bitrate_bps = kMinBitrateBps; | 989 config.bitrate_config.min_bitrate_bps = kMinBitrateBps; |
990 return config; | 990 return config; |
991 } | 991 } |
992 | 992 |
993 void ModifyVideoConfigs( | 993 void ModifyVideoConfigs( |
994 VideoSendStream::Config* send_config, | 994 VideoSendStream::Config* send_config, |
995 std::vector<VideoReceiveStream::Config>* receive_configs, | 995 std::vector<VideoReceiveStream::Config>* receive_configs, |
996 VideoEncoderConfig* encoder_config) override { | 996 VideoEncoderConfig* encoder_config) override { |
997 // Configure hybrid NACK/FEC. | 997 // Configure hybrid NACK/FEC. |
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1311 EXPECT_EQ(DELIVERY_UNKNOWN_SSRC, delivery_status); | 1311 EXPECT_EQ(DELIVERY_UNKNOWN_SSRC, delivery_status); |
1312 delivered_packet_.Set(); | 1312 delivered_packet_.Set(); |
1313 return delivery_status; | 1313 return delivery_status; |
1314 } | 1314 } |
1315 } | 1315 } |
1316 | 1316 |
1317 PacketReceiver* receiver_; | 1317 PacketReceiver* receiver_; |
1318 rtc::Event delivered_packet_; | 1318 rtc::Event delivered_packet_; |
1319 }; | 1319 }; |
1320 | 1320 |
1321 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 1321 CreateCalls(Call::Config(event_log_.get()), Call::Config(event_log_.get())); |
1322 | 1322 |
1323 test::DirectTransport send_transport( | 1323 test::DirectTransport send_transport( |
1324 sender_call_.get(), MediaType::VIDEO); | 1324 sender_call_.get(), MediaType::VIDEO); |
1325 test::DirectTransport receive_transport( | 1325 test::DirectTransport receive_transport( |
1326 receiver_call_.get(), MediaType::VIDEO); | 1326 receiver_call_.get(), MediaType::VIDEO); |
1327 PacketInputObserver input_observer(receiver_call_->Receiver()); | 1327 PacketInputObserver input_observer(receiver_call_->Receiver()); |
1328 send_transport.SetReceiver(&input_observer); | 1328 send_transport.SetReceiver(&input_observer); |
1329 receive_transport.SetReceiver(sender_call_->Receiver()); | 1329 receive_transport.SetReceiver(sender_call_->Receiver()); |
1330 | 1330 |
1331 CreateSendConfig(1, 0, 0, &send_transport); | 1331 CreateSendConfig(1, 0, 0, &send_transport); |
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1939 private: | 1939 private: |
1940 std::unique_ptr<uint8_t[]> buffer_; | 1940 std::unique_ptr<uint8_t[]> buffer_; |
1941 size_t length_; | 1941 size_t length_; |
1942 FrameType frame_type_; | 1942 FrameType frame_type_; |
1943 rtc::Event called_; | 1943 rtc::Event called_; |
1944 }; | 1944 }; |
1945 | 1945 |
1946 EncodedFrameTestObserver post_encode_observer; | 1946 EncodedFrameTestObserver post_encode_observer; |
1947 EncodedFrameTestObserver pre_decode_observer; | 1947 EncodedFrameTestObserver pre_decode_observer; |
1948 | 1948 |
1949 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 1949 CreateCalls(Call::Config(event_log_.get()), Call::Config(event_log_.get())); |
1950 | 1950 |
1951 test::DirectTransport sender_transport( | 1951 test::DirectTransport sender_transport( |
1952 sender_call_.get(), MediaType::VIDEO); | 1952 sender_call_.get(), MediaType::VIDEO); |
1953 test::DirectTransport receiver_transport( | 1953 test::DirectTransport receiver_transport( |
1954 receiver_call_.get(), MediaType::VIDEO); | 1954 receiver_call_.get(), MediaType::VIDEO); |
1955 sender_transport.SetReceiver(receiver_call_->Receiver()); | 1955 sender_transport.SetReceiver(receiver_call_->Receiver()); |
1956 receiver_transport.SetReceiver(sender_call_->Receiver()); | 1956 receiver_transport.SetReceiver(sender_call_->Receiver()); |
1957 | 1957 |
1958 CreateSendConfig(1, 0, 0, &sender_transport); | 1958 CreateSendConfig(1, 0, 0, &sender_transport); |
1959 CreateMatchingReceiveConfigs(&receiver_transport); | 1959 CreateMatchingReceiveConfigs(&receiver_transport); |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2114 | 2114 |
2115 test::PacketTransport* CreateReceiveTransport() override { | 2115 test::PacketTransport* CreateReceiveTransport() override { |
2116 receive_transport_ = new test::PacketTransport( | 2116 receive_transport_ = new test::PacketTransport( |
2117 nullptr, this, test::PacketTransport::kReceiver, | 2117 nullptr, this, test::PacketTransport::kReceiver, |
2118 MediaType::VIDEO, | 2118 MediaType::VIDEO, |
2119 FakeNetworkPipe::Config()); | 2119 FakeNetworkPipe::Config()); |
2120 return receive_transport_; | 2120 return receive_transport_; |
2121 } | 2121 } |
2122 | 2122 |
2123 Call::Config GetSenderCallConfig() override { | 2123 Call::Config GetSenderCallConfig() override { |
2124 Call::Config config(&event_log_); | 2124 Call::Config config(event_log_.get()); |
2125 // Set a high start bitrate to reduce the test completion time. | 2125 // Set a high start bitrate to reduce the test completion time. |
2126 config.bitrate_config.start_bitrate_bps = remb_bitrate_bps_; | 2126 config.bitrate_config.start_bitrate_bps = remb_bitrate_bps_; |
2127 return config; | 2127 return config; |
2128 } | 2128 } |
2129 | 2129 |
2130 void ModifyVideoConfigs( | 2130 void ModifyVideoConfigs( |
2131 VideoSendStream::Config* send_config, | 2131 VideoSendStream::Config* send_config, |
2132 std::vector<VideoReceiveStream::Config>* receive_configs, | 2132 std::vector<VideoReceiveStream::Config>* receive_configs, |
2133 VideoEncoderConfig* encoder_config) override { | 2133 VideoEncoderConfig* encoder_config) override { |
2134 ASSERT_EQ(1u, send_config->rtp.ssrcs.size()); | 2134 ASSERT_EQ(1u, send_config->rtp.ssrcs.size()); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2224 public: | 2224 public: |
2225 explicit ProbingTest(int start_bitrate_bps) | 2225 explicit ProbingTest(int start_bitrate_bps) |
2226 : clock_(Clock::GetRealTimeClock()), | 2226 : clock_(Clock::GetRealTimeClock()), |
2227 start_bitrate_bps_(start_bitrate_bps), | 2227 start_bitrate_bps_(start_bitrate_bps), |
2228 state_(0), | 2228 state_(0), |
2229 sender_call_(nullptr) {} | 2229 sender_call_(nullptr) {} |
2230 | 2230 |
2231 ~ProbingTest() {} | 2231 ~ProbingTest() {} |
2232 | 2232 |
2233 Call::Config GetSenderCallConfig() override { | 2233 Call::Config GetSenderCallConfig() override { |
2234 Call::Config config(&event_log_); | 2234 Call::Config config(event_log_.get()); |
2235 config.bitrate_config.start_bitrate_bps = start_bitrate_bps_; | 2235 config.bitrate_config.start_bitrate_bps = start_bitrate_bps_; |
2236 return config; | 2236 return config; |
2237 } | 2237 } |
2238 | 2238 |
2239 void OnCallsCreated(Call* sender_call, Call* receiver_call) override { | 2239 void OnCallsCreated(Call* sender_call, Call* receiver_call) override { |
2240 sender_call_ = sender_call; | 2240 sender_call_ = sender_call; |
2241 } | 2241 } |
2242 | 2242 |
2243 protected: | 2243 protected: |
2244 Clock* const clock_; | 2244 Clock* const clock_; |
(...skipping 1406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3651 SequenceNumberUnwrapper seq_numbers_unwrapper_; | 3651 SequenceNumberUnwrapper seq_numbers_unwrapper_; |
3652 std::map<uint32_t, std::list<int64_t>> last_observed_seq_numbers_; | 3652 std::map<uint32_t, std::list<int64_t>> last_observed_seq_numbers_; |
3653 std::map<uint32_t, uint32_t> last_observed_timestamp_; | 3653 std::map<uint32_t, uint32_t> last_observed_timestamp_; |
3654 std::map<uint32_t, bool> ssrc_is_rtx_; | 3654 std::map<uint32_t, bool> ssrc_is_rtx_; |
3655 | 3655 |
3656 rtc::CriticalSection crit_; | 3656 rtc::CriticalSection crit_; |
3657 size_t ssrcs_to_observe_ GUARDED_BY(crit_); | 3657 size_t ssrcs_to_observe_ GUARDED_BY(crit_); |
3658 std::map<uint32_t, bool> ssrc_observed_ GUARDED_BY(crit_); | 3658 std::map<uint32_t, bool> ssrc_observed_ GUARDED_BY(crit_); |
3659 } observer(use_rtx); | 3659 } observer(use_rtx); |
3660 | 3660 |
3661 Call::Config config(&event_log_); | 3661 Call::Config config(event_log_.get()); |
3662 CreateCalls(config, config); | 3662 CreateCalls(config, config); |
3663 | 3663 |
3664 test::PacketTransport send_transport(sender_call_.get(), &observer, | 3664 test::PacketTransport send_transport(sender_call_.get(), &observer, |
3665 test::PacketTransport::kSender, | 3665 test::PacketTransport::kSender, |
3666 MediaType::VIDEO, | 3666 MediaType::VIDEO, |
3667 FakeNetworkPipe::Config()); | 3667 FakeNetworkPipe::Config()); |
3668 test::PacketTransport receive_transport(nullptr, &observer, | 3668 test::PacketTransport receive_transport(nullptr, &observer, |
3669 test::PacketTransport::kReceiver, | 3669 test::PacketTransport::kReceiver, |
3670 MediaType::VIDEO, | 3670 MediaType::VIDEO, |
3671 FakeNetworkPipe::Config()); | 3671 FakeNetworkPipe::Config()); |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3949 int receiver_rtcp_ GUARDED_BY(test_crit_); | 3949 int receiver_rtcp_ GUARDED_BY(test_crit_); |
3950 int down_frames_ GUARDED_BY(test_crit_); | 3950 int down_frames_ GUARDED_BY(test_crit_); |
3951 } test; | 3951 } test; |
3952 | 3952 |
3953 RunBaseTest(&test); | 3953 RunBaseTest(&test); |
3954 } | 3954 } |
3955 | 3955 |
3956 TEST_F(EndToEndTest, CallReportsRttForSender) { | 3956 TEST_F(EndToEndTest, CallReportsRttForSender) { |
3957 static const int kSendDelayMs = 30; | 3957 static const int kSendDelayMs = 30; |
3958 static const int kReceiveDelayMs = 70; | 3958 static const int kReceiveDelayMs = 70; |
3959 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 3959 CreateCalls(Call::Config(event_log_.get()), Call::Config(event_log_.get())); |
3960 | 3960 |
3961 FakeNetworkPipe::Config config; | 3961 FakeNetworkPipe::Config config; |
3962 config.queue_delay_ms = kSendDelayMs; | 3962 config.queue_delay_ms = kSendDelayMs; |
3963 test::DirectTransport sender_transport( | 3963 test::DirectTransport sender_transport( |
3964 config, sender_call_.get(), MediaType::VIDEO); | 3964 config, sender_call_.get(), MediaType::VIDEO); |
3965 config.queue_delay_ms = kReceiveDelayMs; | 3965 config.queue_delay_ms = kReceiveDelayMs; |
3966 test::DirectTransport receiver_transport( | 3966 test::DirectTransport receiver_transport( |
3967 config, receiver_call_.get(), MediaType::VIDEO); | 3967 config, receiver_call_.get(), MediaType::VIDEO); |
3968 sender_transport.SetReceiver(receiver_call_->Receiver()); | 3968 sender_transport.SetReceiver(receiver_call_->Receiver()); |
3969 receiver_transport.SetReceiver(sender_call_->Receiver()); | 3969 receiver_transport.SetReceiver(sender_call_->Receiver()); |
(...skipping 26 matching lines...) Expand all Loading... |
3996 receiver_transport.StopSending(); | 3996 receiver_transport.StopSending(); |
3997 Stop(); | 3997 Stop(); |
3998 DestroyStreams(); | 3998 DestroyStreams(); |
3999 DestroyCalls(); | 3999 DestroyCalls(); |
4000 } | 4000 } |
4001 | 4001 |
4002 void EndToEndTest::VerifyNewVideoSendStreamsRespectNetworkState( | 4002 void EndToEndTest::VerifyNewVideoSendStreamsRespectNetworkState( |
4003 MediaType network_to_bring_up, | 4003 MediaType network_to_bring_up, |
4004 VideoEncoder* encoder, | 4004 VideoEncoder* encoder, |
4005 Transport* transport) { | 4005 Transport* transport) { |
4006 CreateSenderCall(Call::Config(&event_log_)); | 4006 CreateSenderCall(Call::Config(event_log_.get())); |
4007 sender_call_->SignalChannelNetworkState(network_to_bring_up, kNetworkUp); | 4007 sender_call_->SignalChannelNetworkState(network_to_bring_up, kNetworkUp); |
4008 | 4008 |
4009 CreateSendConfig(1, 0, 0, transport); | 4009 CreateSendConfig(1, 0, 0, transport); |
4010 video_send_config_.encoder_settings.encoder = encoder; | 4010 video_send_config_.encoder_settings.encoder = encoder; |
4011 CreateVideoStreams(); | 4011 CreateVideoStreams(); |
4012 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth, | 4012 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth, |
4013 kDefaultHeight); | 4013 kDefaultHeight); |
4014 | 4014 |
4015 Start(); | 4015 Start(); |
4016 SleepMs(kSilenceTimeoutMs); | 4016 SleepMs(kSilenceTimeoutMs); |
4017 Stop(); | 4017 Stop(); |
4018 | 4018 |
4019 DestroyStreams(); | 4019 DestroyStreams(); |
4020 } | 4020 } |
4021 | 4021 |
4022 void EndToEndTest::VerifyNewVideoReceiveStreamsRespectNetworkState( | 4022 void EndToEndTest::VerifyNewVideoReceiveStreamsRespectNetworkState( |
4023 MediaType network_to_bring_up, | 4023 MediaType network_to_bring_up, |
4024 Transport* transport) { | 4024 Transport* transport) { |
4025 Call::Config config(&event_log_); | 4025 Call::Config config(event_log_.get()); |
4026 CreateCalls(config, config); | 4026 CreateCalls(config, config); |
4027 receiver_call_->SignalChannelNetworkState(network_to_bring_up, kNetworkUp); | 4027 receiver_call_->SignalChannelNetworkState(network_to_bring_up, kNetworkUp); |
4028 | 4028 |
4029 test::DirectTransport sender_transport(sender_call_.get(), MediaType::VIDEO); | 4029 test::DirectTransport sender_transport(sender_call_.get(), MediaType::VIDEO); |
4030 sender_transport.SetReceiver(receiver_call_->Receiver()); | 4030 sender_transport.SetReceiver(receiver_call_->Receiver()); |
4031 CreateSendConfig(1, 0, 0, &sender_transport); | 4031 CreateSendConfig(1, 0, 0, &sender_transport); |
4032 CreateMatchingReceiveConfigs(transport); | 4032 CreateMatchingReceiveConfigs(transport); |
4033 CreateVideoStreams(); | 4033 CreateVideoStreams(); |
4034 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth, | 4034 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth, |
4035 kDefaultHeight); | 4035 kDefaultHeight); |
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4343 std::unique_ptr<VideoEncoder> encoder_; | 4343 std::unique_ptr<VideoEncoder> encoder_; |
4344 std::unique_ptr<VideoDecoder> decoder_; | 4344 std::unique_ptr<VideoDecoder> decoder_; |
4345 rtc::CriticalSection crit_; | 4345 rtc::CriticalSection crit_; |
4346 int recorded_frames_ GUARDED_BY(crit_); | 4346 int recorded_frames_ GUARDED_BY(crit_); |
4347 } test(this); | 4347 } test(this); |
4348 | 4348 |
4349 RunBaseTest(&test); | 4349 RunBaseTest(&test); |
4350 } | 4350 } |
4351 | 4351 |
4352 } // namespace webrtc | 4352 } // namespace webrtc |
OLD | NEW |