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

Side by Side Diff: webrtc/test/call_test.cc

Issue 2730073002: Added large room scenario to full-stack tests. Added thumbnail streams functionality to call test/v… (Closed)
Patch Set: Implemented Sprang@ comments. Created 3 years, 9 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) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 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 10
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 } 219 }
220 220
221 // TODO(brandtr): Update this when we support multistream protection. 221 // TODO(brandtr): Update this when we support multistream protection.
222 if (num_flexfec_streams > 0) { 222 if (num_flexfec_streams > 0) {
223 video_send_config_.rtp.flexfec.payload_type = kFlexfecPayloadType; 223 video_send_config_.rtp.flexfec.payload_type = kFlexfecPayloadType;
224 video_send_config_.rtp.flexfec.ssrc = kFlexfecSendSsrc; 224 video_send_config_.rtp.flexfec.ssrc = kFlexfecSendSsrc;
225 video_send_config_.rtp.flexfec.protected_media_ssrcs = {kVideoSendSsrcs[0]}; 225 video_send_config_.rtp.flexfec.protected_media_ssrcs = {kVideoSendSsrcs[0]};
226 } 226 }
227 } 227 }
228 228
229 void CallTest::CreateMatchingVideoReceiveConfigs(
230 const VideoSendStream::Config& video_send_config,
231 Transport* rtcp_send_transport) {
232 RTC_DCHECK(!video_send_config.rtp.ssrcs.empty());
233 VideoReceiveStream::Config video_config(rtcp_send_transport);
234 video_config.rtp.remb = false;
235 video_config.rtp.transport_cc = true;
236 video_config.rtp.local_ssrc = kReceiverLocalVideoSsrc;
237 for (const RtpExtension& extension : video_send_config.rtp.extensions)
238 video_config.rtp.extensions.push_back(extension);
239 video_config.renderer = &fake_renderer_;
240 for (size_t i = 0; i < video_send_config.rtp.ssrcs.size(); ++i) {
241 VideoReceiveStream::Decoder decoder =
242 test::CreateMatchingDecoder(video_send_config.encoder_settings);
243 allocated_decoders_.push_back(
244 std::unique_ptr<VideoDecoder>(decoder.decoder));
245 video_config.decoders.clear();
246 video_config.decoders.push_back(decoder);
247 video_config.rtp.remote_ssrc = video_send_config.rtp.ssrcs[i];
248 video_receive_configs_.push_back(video_config.Copy());
249 }
250 }
251
229 void CallTest::CreateMatchingReceiveConfigs(Transport* rtcp_send_transport) { 252 void CallTest::CreateMatchingReceiveConfigs(Transport* rtcp_send_transport) {
230 RTC_DCHECK(video_receive_configs_.empty()); 253 RTC_DCHECK(video_receive_configs_.empty());
231 RTC_DCHECK(allocated_decoders_.empty()); 254 RTC_DCHECK(allocated_decoders_.empty());
232 if (num_video_streams_ > 0) { 255 if (num_video_streams_ > 0) {
233 RTC_DCHECK(!video_send_config_.rtp.ssrcs.empty()); 256 CreateMatchingVideoReceiveConfigs(video_send_config_, rtcp_send_transport);
234 VideoReceiveStream::Config video_config(rtcp_send_transport);
235 video_config.rtp.remb = false;
236 video_config.rtp.transport_cc = true;
237 video_config.rtp.local_ssrc = kReceiverLocalVideoSsrc;
238 for (const RtpExtension& extension : video_send_config_.rtp.extensions)
239 video_config.rtp.extensions.push_back(extension);
240 video_config.renderer = &fake_renderer_;
241 for (size_t i = 0; i < video_send_config_.rtp.ssrcs.size(); ++i) {
242 VideoReceiveStream::Decoder decoder =
243 test::CreateMatchingDecoder(video_send_config_.encoder_settings);
244 allocated_decoders_.push_back(
245 std::unique_ptr<VideoDecoder>(decoder.decoder));
246 video_config.decoders.clear();
247 video_config.decoders.push_back(decoder);
248 video_config.rtp.remote_ssrc = video_send_config_.rtp.ssrcs[i];
249 video_receive_configs_.push_back(video_config.Copy());
250 }
251 } 257 }
252 258
253 RTC_DCHECK_GE(1, num_audio_streams_); 259 RTC_DCHECK_GE(1, num_audio_streams_);
254 if (num_audio_streams_ == 1) { 260 if (num_audio_streams_ == 1) {
255 RTC_DCHECK_LE(0, voe_send_.channel_id); 261 RTC_DCHECK_LE(0, voe_send_.channel_id);
256 AudioReceiveStream::Config audio_config; 262 AudioReceiveStream::Config audio_config;
257 audio_config.rtp.local_ssrc = kReceiverLocalAudioSsrc; 263 audio_config.rtp.local_ssrc = kReceiverLocalAudioSsrc;
258 audio_config.rtcp_send_transport = rtcp_send_transport; 264 audio_config.rtcp_send_transport = rtcp_send_transport;
259 audio_config.voe_channel_id = voe_recv_.channel_id; 265 audio_config.voe_channel_id = voe_recv_.channel_id;
260 audio_config.rtp.remote_ssrc = audio_send_config_.rtp.ssrc; 266 audio_config.rtp.remote_ssrc = audio_send_config_.rtp.ssrc;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 void CallTest::DestroyStreams() { 346 void CallTest::DestroyStreams() {
341 if (audio_send_stream_) 347 if (audio_send_stream_)
342 sender_call_->DestroyAudioSendStream(audio_send_stream_); 348 sender_call_->DestroyAudioSendStream(audio_send_stream_);
343 audio_send_stream_ = nullptr; 349 audio_send_stream_ = nullptr;
344 for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_) 350 for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_)
345 receiver_call_->DestroyAudioReceiveStream(audio_recv_stream); 351 receiver_call_->DestroyAudioReceiveStream(audio_recv_stream);
346 352
347 if (video_send_stream_) 353 if (video_send_stream_)
348 sender_call_->DestroyVideoSendStream(video_send_stream_); 354 sender_call_->DestroyVideoSendStream(video_send_stream_);
349 video_send_stream_ = nullptr; 355 video_send_stream_ = nullptr;
356
350 for (VideoReceiveStream* video_recv_stream : video_receive_streams_) 357 for (VideoReceiveStream* video_recv_stream : video_receive_streams_)
351 receiver_call_->DestroyVideoReceiveStream(video_recv_stream); 358 receiver_call_->DestroyVideoReceiveStream(video_recv_stream);
352 359
353 for (FlexfecReceiveStream* flexfec_recv_stream : flexfec_receive_streams_) 360 for (FlexfecReceiveStream* flexfec_recv_stream : flexfec_receive_streams_)
354 receiver_call_->DestroyFlexfecReceiveStream(flexfec_recv_stream); 361 receiver_call_->DestroyFlexfecReceiveStream(flexfec_recv_stream);
355 362
356 video_receive_streams_.clear(); 363 video_receive_streams_.clear();
357 allocated_decoders_.clear(); 364 allocated_decoders_.clear();
358 } 365 }
359 366
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 502
496 EndToEndTest::EndToEndTest(unsigned int timeout_ms) : BaseTest(timeout_ms) { 503 EndToEndTest::EndToEndTest(unsigned int timeout_ms) : BaseTest(timeout_ms) {
497 } 504 }
498 505
499 bool EndToEndTest::ShouldCreateReceivers() const { 506 bool EndToEndTest::ShouldCreateReceivers() const {
500 return true; 507 return true;
501 } 508 }
502 509
503 } // namespace test 510 } // namespace test
504 } // namespace webrtc 511 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698