1b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/*
2b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *
4b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *  Use of this source code is governed by a BSD-style license
5b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *  that can be found in the LICENSE file in the root of the source
6b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *  tree. An additional intellectual property rights grant can be found
7b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *  in the file PATENTS.  All contributing project authors may
8b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *  be found in the AUTHORS file in the root of the source tree.
9b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org */
10b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
11143ce524d89eb802ca5dc1676352a9e2e3e12783andrew@webrtc.org#include "webrtc/voice_engine/test/auto_test/fixtures/before_initialization_fixture.h"
12b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
13143ce524d89eb802ca5dc1676352a9e2e3e12783andrew@webrtc.org#include "webrtc/system_wrappers/interface/sleep.h"
14b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
15945d9699698c681546bd6dc0bcf45984ef656cbdhenrik.lundin@webrtc.orgBeforeInitializationFixture::BeforeInitializationFixture()
16945d9699698c681546bd6dc0bcf45984ef656cbdhenrik.lundin@webrtc.org    : voice_engine_(webrtc::VoiceEngine::Create()) {
17b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  EXPECT_TRUE(voice_engine_ != NULL);
18b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
19b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_base_ = webrtc::VoEBase::GetInterface(voice_engine_);
20b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_codec_ = webrtc::VoECodec::GetInterface(voice_engine_);
21b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_volume_control_ = webrtc::VoEVolumeControl::GetInterface(voice_engine_);
22b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_dtmf_ = webrtc::VoEDtmf::GetInterface(voice_engine_);
23b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_rtp_rtcp_ = webrtc::VoERTP_RTCP::GetInterface(voice_engine_);
24b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_apm_ = webrtc::VoEAudioProcessing::GetInterface(voice_engine_);
25b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_network_ = webrtc::VoENetwork::GetInterface(voice_engine_);
26b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_file_ = webrtc::VoEFile::GetInterface(voice_engine_);
27b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_vsync_ = webrtc::VoEVideoSync::GetInterface(voice_engine_);
28b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_hardware_ = webrtc::VoEHardware::GetInterface(voice_engine_);
29b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_xmedia_ = webrtc::VoEExternalMedia::GetInterface(voice_engine_);
30b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_neteq_stats_ = webrtc::VoENetEqStats::GetInterface(voice_engine_);
31b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}
32b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
33b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgBeforeInitializationFixture::~BeforeInitializationFixture() {
34b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_base_->Release();
35b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_codec_->Release();
36b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_volume_control_->Release();
37b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_dtmf_->Release();
38b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_rtp_rtcp_->Release();
39b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_apm_->Release();
40b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_network_->Release();
41b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_file_->Release();
42b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_vsync_->Release();
43b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_hardware_->Release();
44b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_xmedia_->Release();
45b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  voe_neteq_stats_->Release();
46b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
47b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  EXPECT_TRUE(webrtc::VoiceEngine::Delete(voice_engine_));
48b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}
49b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
50b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid BeforeInitializationFixture::Sleep(long milliseconds) {
51143ce524d89eb802ca5dc1676352a9e2e3e12783andrew@webrtc.org  webrtc::SleepMs(milliseconds);
52b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}
53