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

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

Issue 2447723002: Remove use of VoECodec in video/call tests. (Closed)
Patch Set: sign Created 4 years, 1 month 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
« no previous file with comments | « webrtc/test/call_test.h ('k') | webrtc/video/video_quality_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "webrtc/base/checks.h" 10 #include "webrtc/base/checks.h"
11 #include "webrtc/config.h" 11 #include "webrtc/config.h"
12 #include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h" 12 #include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h"
13 #include "webrtc/test/call_test.h" 13 #include "webrtc/test/call_test.h"
14 #include "webrtc/test/testsupport/fileutils.h" 14 #include "webrtc/test/testsupport/fileutils.h"
15 #include "webrtc/voice_engine/include/voe_base.h" 15 #include "webrtc/voice_engine/include/voe_base.h"
16 #include "webrtc/voice_engine/include/voe_codec.h"
17 16
18 namespace webrtc { 17 namespace webrtc {
19 namespace test { 18 namespace test {
20 19
21 namespace { 20 namespace {
22 const int kVideoRotationRtpExtensionId = 4; 21 const int kVideoRotationRtpExtensionId = 4;
23 } 22 }
24 23
25 CallTest::CallTest() 24 CallTest::CallTest()
26 : clock_(Clock::GetRealTimeClock()), 25 : clock_(Clock::GetRealTimeClock()),
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 for (size_t i = 0; i < num_video_streams; ++i) 193 for (size_t i = 0; i < num_video_streams; ++i)
195 video_send_config_.rtp.ssrcs.push_back(kVideoSendSsrcs[i]); 194 video_send_config_.rtp.ssrcs.push_back(kVideoSendSsrcs[i]);
196 video_send_config_.rtp.extensions.push_back(RtpExtension( 195 video_send_config_.rtp.extensions.push_back(RtpExtension(
197 RtpExtension::kVideoRotationUri, kVideoRotationRtpExtensionId)); 196 RtpExtension::kVideoRotationUri, kVideoRotationRtpExtensionId));
198 } 197 }
199 198
200 if (num_audio_streams > 0) { 199 if (num_audio_streams > 0) {
201 audio_send_config_ = AudioSendStream::Config(send_transport); 200 audio_send_config_ = AudioSendStream::Config(send_transport);
202 audio_send_config_.voe_channel_id = voe_send_.channel_id; 201 audio_send_config_.voe_channel_id = voe_send_.channel_id;
203 audio_send_config_.rtp.ssrc = kAudioSendSsrc; 202 audio_send_config_.rtp.ssrc = kAudioSendSsrc;
203 audio_send_config_.send_codec_spec.codec_inst =
204 CodecInst{kAudioSendPayloadType, "ISAC", 16000, 480, 1, 32000};
204 } 205 }
205 } 206 }
206 207
207 void CallTest::CreateMatchingReceiveConfigs(Transport* rtcp_send_transport) { 208 void CallTest::CreateMatchingReceiveConfigs(Transport* rtcp_send_transport) {
208 RTC_DCHECK(video_receive_configs_.empty()); 209 RTC_DCHECK(video_receive_configs_.empty());
209 RTC_DCHECK(allocated_decoders_.empty()); 210 RTC_DCHECK(allocated_decoders_.empty());
210 if (num_video_streams_ > 0) { 211 if (num_video_streams_ > 0) {
211 RTC_DCHECK(!video_send_config_.rtp.ssrcs.empty()); 212 RTC_DCHECK(!video_send_config_.rtp.ssrcs.empty());
212 VideoReceiveStream::Config video_config(rtcp_send_transport); 213 VideoReceiveStream::Config video_config(rtcp_send_transport);
213 video_config.rtp.remb = true; 214 video_config.rtp.remb = true;
214 video_config.rtp.local_ssrc = kReceiverLocalVideoSsrc; 215 video_config.rtp.local_ssrc = kReceiverLocalVideoSsrc;
215 for (const RtpExtension& extension : video_send_config_.rtp.extensions) 216 for (const RtpExtension& extension : video_send_config_.rtp.extensions)
216 video_config.rtp.extensions.push_back(extension); 217 video_config.rtp.extensions.push_back(extension);
217 video_config.renderer = &fake_renderer_; 218 video_config.renderer = &fake_renderer_;
218 for (size_t i = 0; i < video_send_config_.rtp.ssrcs.size(); ++i) { 219 for (size_t i = 0; i < video_send_config_.rtp.ssrcs.size(); ++i) {
219 VideoReceiveStream::Decoder decoder = 220 VideoReceiveStream::Decoder decoder =
220 test::CreateMatchingDecoder(video_send_config_.encoder_settings); 221 test::CreateMatchingDecoder(video_send_config_.encoder_settings);
221 allocated_decoders_.push_back( 222 allocated_decoders_.push_back(
222 std::unique_ptr<VideoDecoder>(decoder.decoder)); 223 std::unique_ptr<VideoDecoder>(decoder.decoder));
223 video_config.decoders.clear(); 224 video_config.decoders.clear();
224 video_config.decoders.push_back(decoder); 225 video_config.decoders.push_back(decoder);
225 video_config.rtp.remote_ssrc = video_send_config_.rtp.ssrcs[i]; 226 video_config.rtp.remote_ssrc = video_send_config_.rtp.ssrcs[i];
226 video_receive_configs_.push_back(video_config.Copy()); 227 video_receive_configs_.push_back(video_config.Copy());
227 } 228 }
228 } 229 }
229 230
230 RTC_DCHECK(num_audio_streams_ <= 1); 231 RTC_DCHECK_GE(1u, num_audio_streams_);
231 if (num_audio_streams_ == 1) { 232 if (num_audio_streams_ == 1) {
232 RTC_DCHECK(voe_send_.channel_id >= 0); 233 RTC_DCHECK_LE(0, voe_send_.channel_id);
233 AudioReceiveStream::Config audio_config; 234 AudioReceiveStream::Config audio_config;
234 audio_config.rtp.local_ssrc = kReceiverLocalAudioSsrc; 235 audio_config.rtp.local_ssrc = kReceiverLocalAudioSsrc;
235 audio_config.rtcp_send_transport = rtcp_send_transport; 236 audio_config.rtcp_send_transport = rtcp_send_transport;
236 audio_config.voe_channel_id = voe_recv_.channel_id; 237 audio_config.voe_channel_id = voe_recv_.channel_id;
237 audio_config.rtp.remote_ssrc = audio_send_config_.rtp.ssrc; 238 audio_config.rtp.remote_ssrc = audio_send_config_.rtp.ssrc;
238 audio_config.decoder_factory = decoder_factory_; 239 audio_config.decoder_factory = decoder_factory_;
239 audio_receive_configs_.push_back(audio_config); 240 audio_receive_configs_.push_back(audio_config);
240 } 241 }
241 } 242 }
242 243
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 void CallTest::SetFakeVideoCaptureRotation(VideoRotation rotation) { 285 void CallTest::SetFakeVideoCaptureRotation(VideoRotation rotation) {
285 frame_generator_capturer_->SetFakeRotation(rotation); 286 frame_generator_capturer_->SetFakeRotation(rotation);
286 } 287 }
287 288
288 void CallTest::CreateAudioStreams() { 289 void CallTest::CreateAudioStreams() {
289 audio_send_stream_ = sender_call_->CreateAudioSendStream(audio_send_config_); 290 audio_send_stream_ = sender_call_->CreateAudioSendStream(audio_send_config_);
290 for (size_t i = 0; i < audio_receive_configs_.size(); ++i) { 291 for (size_t i = 0; i < audio_receive_configs_.size(); ++i) {
291 audio_receive_streams_.push_back( 292 audio_receive_streams_.push_back(
292 receiver_call_->CreateAudioReceiveStream(audio_receive_configs_[i])); 293 receiver_call_->CreateAudioReceiveStream(audio_receive_configs_[i]));
293 } 294 }
294 CodecInst isac = {kAudioSendPayloadType, "ISAC", 16000, 480, 1, 32000};
295 EXPECT_EQ(0, voe_send_.codec->SetSendCodec(voe_send_.channel_id, isac));
296 } 295 }
297 296
298 void CallTest::DestroyStreams() { 297 void CallTest::DestroyStreams() {
299 if (video_send_stream_) 298 if (video_send_stream_)
300 sender_call_->DestroyVideoSendStream(video_send_stream_); 299 sender_call_->DestroyVideoSendStream(video_send_stream_);
301 video_send_stream_ = nullptr; 300 video_send_stream_ = nullptr;
302 for (VideoReceiveStream* video_recv_stream : video_receive_streams_) 301 for (VideoReceiveStream* video_recv_stream : video_receive_streams_)
303 receiver_call_->DestroyVideoReceiveStream(video_recv_stream); 302 receiver_call_->DestroyVideoReceiveStream(video_recv_stream);
304 303
305 if (audio_send_stream_) 304 if (audio_send_stream_)
306 sender_call_->DestroyAudioSendStream(audio_send_stream_); 305 sender_call_->DestroyAudioSendStream(audio_send_stream_);
307 audio_send_stream_ = nullptr; 306 audio_send_stream_ = nullptr;
308 for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_) 307 for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_)
309 receiver_call_->DestroyAudioReceiveStream(audio_recv_stream); 308 receiver_call_->DestroyAudioReceiveStream(audio_recv_stream);
310 video_receive_streams_.clear(); 309 video_receive_streams_.clear();
311 310
312 allocated_decoders_.clear(); 311 allocated_decoders_.clear();
313 } 312 }
314 313
315 void CallTest::CreateVoiceEngines() { 314 void CallTest::CreateVoiceEngines() {
316 CreateFakeAudioDevices(); 315 CreateFakeAudioDevices();
317 voe_send_.voice_engine = VoiceEngine::Create(); 316 voe_send_.voice_engine = VoiceEngine::Create();
318 voe_send_.base = VoEBase::GetInterface(voe_send_.voice_engine); 317 voe_send_.base = VoEBase::GetInterface(voe_send_.voice_engine);
319 voe_send_.codec = VoECodec::GetInterface(voe_send_.voice_engine);
320 EXPECT_EQ(0, voe_send_.base->Init(fake_send_audio_device_.get(), nullptr, 318 EXPECT_EQ(0, voe_send_.base->Init(fake_send_audio_device_.get(), nullptr,
321 decoder_factory_)); 319 decoder_factory_));
322 VoEBase::ChannelConfig config; 320 VoEBase::ChannelConfig config;
323 config.enable_voice_pacing = true; 321 config.enable_voice_pacing = true;
324 voe_send_.channel_id = voe_send_.base->CreateChannel(config); 322 voe_send_.channel_id = voe_send_.base->CreateChannel(config);
325 EXPECT_GE(voe_send_.channel_id, 0); 323 EXPECT_GE(voe_send_.channel_id, 0);
326 324
327 voe_recv_.voice_engine = VoiceEngine::Create(); 325 voe_recv_.voice_engine = VoiceEngine::Create();
328 voe_recv_.base = VoEBase::GetInterface(voe_recv_.voice_engine); 326 voe_recv_.base = VoEBase::GetInterface(voe_recv_.voice_engine);
329 voe_recv_.codec = VoECodec::GetInterface(voe_recv_.voice_engine);
330 EXPECT_EQ(0, voe_recv_.base->Init(fake_recv_audio_device_.get(), nullptr, 327 EXPECT_EQ(0, voe_recv_.base->Init(fake_recv_audio_device_.get(), nullptr,
331 decoder_factory_)); 328 decoder_factory_));
332 voe_recv_.channel_id = voe_recv_.base->CreateChannel(); 329 voe_recv_.channel_id = voe_recv_.base->CreateChannel();
333 EXPECT_GE(voe_recv_.channel_id, 0); 330 EXPECT_GE(voe_recv_.channel_id, 0);
334 } 331 }
335 332
336 void CallTest::DestroyVoiceEngines() { 333 void CallTest::DestroyVoiceEngines() {
337 voe_recv_.base->DeleteChannel(voe_recv_.channel_id); 334 voe_recv_.base->DeleteChannel(voe_recv_.channel_id);
338 voe_recv_.channel_id = -1; 335 voe_recv_.channel_id = -1;
339 voe_recv_.base->Release(); 336 voe_recv_.base->Release();
340 voe_recv_.base = nullptr; 337 voe_recv_.base = nullptr;
341 voe_recv_.codec->Release();
342 voe_recv_.codec = nullptr;
343 338
344 voe_send_.base->DeleteChannel(voe_send_.channel_id); 339 voe_send_.base->DeleteChannel(voe_send_.channel_id);
345 voe_send_.channel_id = -1; 340 voe_send_.channel_id = -1;
346 voe_send_.base->Release(); 341 voe_send_.base->Release();
347 voe_send_.base = nullptr; 342 voe_send_.base = nullptr;
348 voe_send_.codec->Release();
349 voe_send_.codec = nullptr;
350 343
351 VoiceEngine::Delete(voe_send_.voice_engine); 344 VoiceEngine::Delete(voe_send_.voice_engine);
352 voe_send_.voice_engine = nullptr; 345 voe_send_.voice_engine = nullptr;
353 VoiceEngine::Delete(voe_recv_.voice_engine); 346 VoiceEngine::Delete(voe_recv_.voice_engine);
354 voe_recv_.voice_engine = nullptr; 347 voe_recv_.voice_engine = nullptr;
355 } 348 }
356 349
357 const int CallTest::kDefaultWidth; 350 const int CallTest::kDefaultWidth;
358 const int CallTest::kDefaultHeight; 351 const int CallTest::kDefaultHeight;
359 const int CallTest::kDefaultFramerate; 352 const int CallTest::kDefaultFramerate;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 437
445 EndToEndTest::EndToEndTest(unsigned int timeout_ms) : BaseTest(timeout_ms) { 438 EndToEndTest::EndToEndTest(unsigned int timeout_ms) : BaseTest(timeout_ms) {
446 } 439 }
447 440
448 bool EndToEndTest::ShouldCreateReceivers() const { 441 bool EndToEndTest::ShouldCreateReceivers() const {
449 return true; 442 return true;
450 } 443 }
451 444
452 } // namespace test 445 } // namespace test
453 } // namespace webrtc 446 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/test/call_test.h ('k') | webrtc/video/video_quality_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698