1/*
2 *  Copyright 2004 The WebRTC Project Authors. All rights reserved.
3 *
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
6 *  tree. An additional intellectual property rights grant can be found
7 *  in the file PATENTS.  All contributing project authors may
8 *  be found in the AUTHORS file in the root of the source tree.
9 */
10
11#include "webrtc/sound/platformsoundsystemfactory.h"
12
13#include "webrtc/sound/platformsoundsystem.h"
14#include "webrtc/sound/soundsysteminterface.h"
15
16namespace rtc {
17
18PlatformSoundSystemFactory::PlatformSoundSystemFactory() {
19}
20
21PlatformSoundSystemFactory::~PlatformSoundSystemFactory() {
22}
23
24bool PlatformSoundSystemFactory::SetupInstance() {
25  if (!instance_.get()) {
26    instance_.reset(CreatePlatformSoundSystem());
27  }
28  if (!instance_->Init()) {
29    LOG(LS_ERROR) << "Can't initialize platform's sound system";
30    return false;
31  }
32  return true;
33}
34
35void PlatformSoundSystemFactory::CleanupInstance() {
36  instance_->Terminate();
37  // We do not delete the sound system because we might be re-initialized soon.
38}
39
40}  // namespace rtc
41