Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 43 CallTest::~CallTest() { | 43 CallTest::~CallTest() { |
| 44 } | 44 } |
| 45 | 45 |
| 46 void CallTest::RunBaseTest(BaseTest* test) { | 46 void CallTest::RunBaseTest(BaseTest* test) { |
| 47 num_video_streams_ = test->GetNumVideoStreams(); | 47 num_video_streams_ = test->GetNumVideoStreams(); |
| 48 num_audio_streams_ = test->GetNumAudioStreams(); | 48 num_audio_streams_ = test->GetNumAudioStreams(); |
| 49 num_flexfec_streams_ = test->GetNumFlexfecStreams(); | 49 num_flexfec_streams_ = test->GetNumFlexfecStreams(); |
| 50 RTC_DCHECK(num_video_streams_ > 0 || num_audio_streams_ > 0); | 50 RTC_DCHECK(num_video_streams_ > 0 || num_audio_streams_ > 0); |
| 51 Call::Config send_config(test->GetSenderCallConfig()); | 51 Call::Config send_config(test->GetSenderCallConfig()); |
| 52 if (num_audio_streams_ > 0) { | 52 if (num_audio_streams_ > 0) { |
| 53 CreateFakeAudioDevices(test->CreateCapturer(), test->CreateRenderer()); | |
| 54 test->OnFakeAudioDevicesCreated(fake_send_audio_device_.get(), | |
| 55 fake_recv_audio_device_.get()); | |
| 53 CreateVoiceEngines(); | 56 CreateVoiceEngines(); |
| 54 AudioState::Config audio_state_config; | 57 AudioState::Config audio_state_config; |
| 55 audio_state_config.voice_engine = voe_send_.voice_engine; | 58 audio_state_config.voice_engine = voe_send_.voice_engine; |
| 56 audio_state_config.audio_mixer = AudioMixerImpl::Create(); | 59 audio_state_config.audio_mixer = AudioMixerImpl::Create(); |
| 57 send_config.audio_state = AudioState::Create(audio_state_config); | 60 send_config.audio_state = AudioState::Create(audio_state_config); |
| 58 } | 61 } |
| 59 CreateSenderCall(send_config); | 62 CreateSenderCall(send_config); |
| 60 if (test->ShouldCreateReceivers()) { | 63 if (test->ShouldCreateReceivers()) { |
| 61 Call::Config recv_config(test->GetReceiverCallConfig()); | 64 Call::Config recv_config(test->GetReceiverCallConfig()); |
| 62 if (num_audio_streams_ > 0) { | 65 if (num_audio_streams_ > 0) { |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 125 Start(); | 128 Start(); |
| 126 test->PerformTest(); | 129 test->PerformTest(); |
| 127 send_transport_->StopSending(); | 130 send_transport_->StopSending(); |
| 128 receive_transport_->StopSending(); | 131 receive_transport_->StopSending(); |
| 129 Stop(); | 132 Stop(); |
| 130 | 133 |
| 131 DestroyStreams(); | 134 DestroyStreams(); |
| 132 DestroyCalls(); | 135 DestroyCalls(); |
| 133 if (num_audio_streams_ > 0) | 136 if (num_audio_streams_ > 0) |
| 134 DestroyVoiceEngines(); | 137 DestroyVoiceEngines(); |
| 138 | |
| 139 test->OnTestFinished(); | |
| 135 } | 140 } |
| 136 | 141 |
| 137 void CallTest::Start() { | 142 void CallTest::Start() { |
| 138 if (video_send_stream_) | 143 if (video_send_stream_) |
| 139 video_send_stream_->Start(); | 144 video_send_stream_->Start(); |
| 140 for (VideoReceiveStream* video_recv_stream : video_receive_streams_) | 145 for (VideoReceiveStream* video_recv_stream : video_receive_streams_) |
| 141 video_recv_stream->Start(); | 146 video_recv_stream->Start(); |
| 142 if (audio_send_stream_) { | 147 if (audio_send_stream_) { |
| 143 audio_send_stream_->Start(); | 148 audio_send_stream_->Start(); |
| 144 } | 149 } |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 291 void CallTest::CreateFrameGeneratorCapturer(int framerate, | 296 void CallTest::CreateFrameGeneratorCapturer(int framerate, |
| 292 int width, | 297 int width, |
| 293 int height) { | 298 int height) { |
| 294 frame_generator_capturer_.reset( | 299 frame_generator_capturer_.reset( |
| 295 test::FrameGeneratorCapturer::Create(width, height, framerate, clock_)); | 300 test::FrameGeneratorCapturer::Create(width, height, framerate, clock_)); |
| 296 video_send_stream_->SetSource( | 301 video_send_stream_->SetSource( |
| 297 frame_generator_capturer_.get(), | 302 frame_generator_capturer_.get(), |
| 298 VideoSendStream::DegradationPreference::kBalanced); | 303 VideoSendStream::DegradationPreference::kBalanced); |
| 299 } | 304 } |
| 300 | 305 |
| 301 void CallTest::CreateFakeAudioDevices() { | 306 void CallTest::CreateFakeAudioDevices( |
| 307 std::unique_ptr<FakeAudioDevice::Capturer> capturer, | |
| 308 std::unique_ptr<FakeAudioDevice::Renderer> renderer) { | |
| 302 fake_send_audio_device_.reset(new FakeAudioDevice( | 309 fake_send_audio_device_.reset(new FakeAudioDevice( |
| 303 FakeAudioDevice::CreatePulsedNoiseCapturer(256, 48000), nullptr, 1.f)); | 310 std::move(capturer), nullptr, 1.f)); |
| 304 fake_recv_audio_device_.reset(new FakeAudioDevice( | 311 fake_recv_audio_device_.reset(new FakeAudioDevice( |
| 305 nullptr, FakeAudioDevice::CreateDiscardRenderer(48000), 1.f)); | 312 nullptr, std::move(renderer), 1.f)); |
| 306 } | 313 } |
| 307 | 314 |
| 308 void CallTest::CreateVideoStreams() { | 315 void CallTest::CreateVideoStreams() { |
| 309 RTC_DCHECK(video_send_stream_ == nullptr); | 316 RTC_DCHECK(video_send_stream_ == nullptr); |
| 310 RTC_DCHECK(video_receive_streams_.empty()); | 317 RTC_DCHECK(video_receive_streams_.empty()); |
| 311 RTC_DCHECK(audio_send_stream_ == nullptr); | 318 RTC_DCHECK(audio_send_stream_ == nullptr); |
| 312 RTC_DCHECK(audio_receive_streams_.empty()); | 319 RTC_DCHECK(audio_receive_streams_.empty()); |
| 313 | 320 |
| 314 video_send_stream_ = sender_call_->CreateVideoSendStream( | 321 video_send_stream_ = sender_call_->CreateVideoSendStream( |
| 315 video_send_config_.Copy(), video_encoder_config_.Copy()); | 322 video_send_config_.Copy(), video_encoder_config_.Copy()); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 354 receiver_call_->DestroyVideoReceiveStream(video_recv_stream); | 361 receiver_call_->DestroyVideoReceiveStream(video_recv_stream); |
| 355 | 362 |
| 356 for (FlexfecReceiveStream* flexfec_recv_stream : flexfec_receive_streams_) | 363 for (FlexfecReceiveStream* flexfec_recv_stream : flexfec_receive_streams_) |
| 357 receiver_call_->DestroyFlexfecReceiveStream(flexfec_recv_stream); | 364 receiver_call_->DestroyFlexfecReceiveStream(flexfec_recv_stream); |
| 358 | 365 |
| 359 video_receive_streams_.clear(); | 366 video_receive_streams_.clear(); |
| 360 allocated_decoders_.clear(); | 367 allocated_decoders_.clear(); |
| 361 } | 368 } |
| 362 | 369 |
| 363 void CallTest::CreateVoiceEngines() { | 370 void CallTest::CreateVoiceEngines() { |
| 364 CreateFakeAudioDevices(); | |
|
kjellander_webrtc
2017/03/17 07:11:41
Won't this affect other tests using this code?
oprypin_webrtc
2017/03/20 10:39:27
I only moved this call outside of CreateVoiceEngin
| |
| 365 voe_send_.voice_engine = VoiceEngine::Create(); | 371 voe_send_.voice_engine = VoiceEngine::Create(); |
| 366 voe_send_.base = VoEBase::GetInterface(voe_send_.voice_engine); | 372 voe_send_.base = VoEBase::GetInterface(voe_send_.voice_engine); |
| 367 EXPECT_EQ(0, voe_send_.base->Init(fake_send_audio_device_.get(), nullptr, | 373 EXPECT_EQ(0, voe_send_.base->Init(fake_send_audio_device_.get(), nullptr, |
| 368 decoder_factory_)); | 374 decoder_factory_)); |
| 369 VoEBase::ChannelConfig config; | 375 VoEBase::ChannelConfig config; |
| 370 config.enable_voice_pacing = true; | 376 config.enable_voice_pacing = true; |
| 371 voe_send_.channel_id = voe_send_.base->CreateChannel(config); | 377 voe_send_.channel_id = voe_send_.base->CreateChannel(config); |
| 372 EXPECT_GE(voe_send_.channel_id, 0); | 378 EXPECT_GE(voe_send_.channel_id, 0); |
| 373 | 379 |
| 374 voe_recv_.voice_engine = VoiceEngine::Create(); | 380 voe_recv_.voice_engine = VoiceEngine::Create(); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 418 const uint32_t CallTest::kReceiverLocalVideoSsrc = 0x123456; | 424 const uint32_t CallTest::kReceiverLocalVideoSsrc = 0x123456; |
| 419 const uint32_t CallTest::kReceiverLocalAudioSsrc = 0x1234567; | 425 const uint32_t CallTest::kReceiverLocalAudioSsrc = 0x1234567; |
| 420 const int CallTest::kNackRtpHistoryMs = 1000; | 426 const int CallTest::kNackRtpHistoryMs = 1000; |
| 421 | 427 |
| 422 BaseTest::BaseTest(unsigned int timeout_ms) : RtpRtcpObserver(timeout_ms) { | 428 BaseTest::BaseTest(unsigned int timeout_ms) : RtpRtcpObserver(timeout_ms) { |
| 423 } | 429 } |
| 424 | 430 |
| 425 BaseTest::~BaseTest() { | 431 BaseTest::~BaseTest() { |
| 426 } | 432 } |
| 427 | 433 |
| 434 std::unique_ptr<FakeAudioDevice::Capturer> BaseTest::CreateCapturer() { | |
| 435 return FakeAudioDevice::CreatePulsedNoiseCapturer(256, 48000); | |
| 436 } | |
| 437 | |
| 438 std::unique_ptr<FakeAudioDevice::Renderer> BaseTest::CreateRenderer() { | |
| 439 return FakeAudioDevice::CreateDiscardRenderer(48000); | |
| 440 } | |
| 441 | |
| 442 void BaseTest::OnFakeAudioDevicesCreated(FakeAudioDevice* send_audio_device, | |
| 443 FakeAudioDevice* recv_audio_device) { | |
| 444 } | |
| 445 | |
| 428 Call::Config BaseTest::GetSenderCallConfig() { | 446 Call::Config BaseTest::GetSenderCallConfig() { |
| 429 return Call::Config(&event_log_); | 447 return Call::Config(&event_log_); |
| 430 } | 448 } |
| 431 | 449 |
| 432 Call::Config BaseTest::GetReceiverCallConfig() { | 450 Call::Config BaseTest::GetReceiverCallConfig() { |
| 433 return Call::Config(&event_log_); | 451 return Call::Config(&event_log_); |
| 434 } | 452 } |
| 435 | 453 |
| 436 void BaseTest::OnCallsCreated(Call* sender_call, Call* receiver_call) { | 454 void BaseTest::OnCallsCreated(Call* sender_call, Call* receiver_call) { |
| 437 } | 455 } |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 482 void BaseTest::ModifyFlexfecConfigs( | 500 void BaseTest::ModifyFlexfecConfigs( |
| 483 std::vector<FlexfecReceiveStream::Config>* receive_configs) {} | 501 std::vector<FlexfecReceiveStream::Config>* receive_configs) {} |
| 484 | 502 |
| 485 void BaseTest::OnFlexfecStreamsCreated( | 503 void BaseTest::OnFlexfecStreamsCreated( |
| 486 const std::vector<FlexfecReceiveStream*>& receive_streams) {} | 504 const std::vector<FlexfecReceiveStream*>& receive_streams) {} |
| 487 | 505 |
| 488 void BaseTest::OnFrameGeneratorCapturerCreated( | 506 void BaseTest::OnFrameGeneratorCapturerCreated( |
| 489 FrameGeneratorCapturer* frame_generator_capturer) { | 507 FrameGeneratorCapturer* frame_generator_capturer) { |
| 490 } | 508 } |
| 491 | 509 |
| 510 void BaseTest::OnTestFinished() { | |
| 511 } | |
| 512 | |
| 492 SendTest::SendTest(unsigned int timeout_ms) : BaseTest(timeout_ms) { | 513 SendTest::SendTest(unsigned int timeout_ms) : BaseTest(timeout_ms) { |
| 493 } | 514 } |
| 494 | 515 |
| 495 bool SendTest::ShouldCreateReceivers() const { | 516 bool SendTest::ShouldCreateReceivers() const { |
| 496 return false; | 517 return false; |
| 497 } | 518 } |
| 498 | 519 |
| 499 EndToEndTest::EndToEndTest(unsigned int timeout_ms) : BaseTest(timeout_ms) { | 520 EndToEndTest::EndToEndTest(unsigned int timeout_ms) : BaseTest(timeout_ms) { |
| 500 } | 521 } |
| 501 | 522 |
| 502 bool EndToEndTest::ShouldCreateReceivers() const { | 523 bool EndToEndTest::ShouldCreateReceivers() const { |
| 503 return true; | 524 return true; |
| 504 } | 525 } |
| 505 | 526 |
| 506 } // namespace test | 527 } // namespace test |
| 507 } // namespace webrtc | 528 } // namespace webrtc |
| OLD | NEW |