/*
 *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

#include "webrtc/modules/audio_device/dummy/audio_device_dummy.h"

namespace webrtc {

int32_t AudioDeviceDummy::ActiveAudioLayer(
    AudioDeviceModule::AudioLayer& audioLayer) const {
  return -1;
}

AudioDeviceGeneric::InitStatus AudioDeviceDummy::Init() {
  return InitStatus::OK;
}

int32_t AudioDeviceDummy::Terminate() { return 0; }

bool AudioDeviceDummy::Initialized() const { return true; }

int16_t AudioDeviceDummy::PlayoutDevices() { return -1; }

int16_t AudioDeviceDummy::RecordingDevices() { return -1; }

int32_t AudioDeviceDummy::PlayoutDeviceName(uint16_t index,
                                            char name[kAdmMaxDeviceNameSize],
                                            char guid[kAdmMaxGuidSize]) {
  return -1;
}

int32_t AudioDeviceDummy::RecordingDeviceName(uint16_t index,
                                              char name[kAdmMaxDeviceNameSize],
                                              char guid[kAdmMaxGuidSize]) {
  return -1;
}

int32_t AudioDeviceDummy::SetPlayoutDevice(uint16_t index) { return -1; }

int32_t AudioDeviceDummy::SetPlayoutDevice(
    AudioDeviceModule::WindowsDeviceType device) {
  return -1;
}

int32_t AudioDeviceDummy::SetRecordingDevice(uint16_t index) { return -1; }

int32_t AudioDeviceDummy::SetRecordingDevice(
    AudioDeviceModule::WindowsDeviceType device) {
  return -1;
}

int32_t AudioDeviceDummy::PlayoutIsAvailable(bool& available) { return -1; }

int32_t AudioDeviceDummy::InitPlayout() { return -1; }

bool AudioDeviceDummy::PlayoutIsInitialized() const { return false; }

int32_t AudioDeviceDummy::RecordingIsAvailable(bool& available) { return -1; }

int32_t AudioDeviceDummy::InitRecording() { return -1; }

bool AudioDeviceDummy::RecordingIsInitialized() const { return false; }

int32_t AudioDeviceDummy::StartPlayout() { return -1; }

int32_t AudioDeviceDummy::StopPlayout() { return -1; }

bool AudioDeviceDummy::Playing() const { return false; }

int32_t AudioDeviceDummy::StartRecording() { return -1; }

int32_t AudioDeviceDummy::StopRecording() { return -1; }

bool AudioDeviceDummy::Recording() const { return false; }

int32_t AudioDeviceDummy::SetAGC(bool enable) { return -1; }

bool AudioDeviceDummy::AGC() const { return false; }

int32_t AudioDeviceDummy::SetWaveOutVolume(uint16_t volumeLeft,
                                           uint16_t volumeRight) {
  return -1;
}

int32_t AudioDeviceDummy::WaveOutVolume(uint16_t& volumeLeft,
                                        uint16_t& volumeRight) const {
  return -1;
}

int32_t AudioDeviceDummy::InitSpeaker() { return -1; }

bool AudioDeviceDummy::SpeakerIsInitialized() const { return false; }

int32_t AudioDeviceDummy::InitMicrophone() { return -1; }

bool AudioDeviceDummy::MicrophoneIsInitialized() const { return false; }

int32_t AudioDeviceDummy::SpeakerVolumeIsAvailable(bool& available) {
  return -1;
}

int32_t AudioDeviceDummy::SetSpeakerVolume(uint32_t volume) { return -1; }

int32_t AudioDeviceDummy::SpeakerVolume(uint32_t& volume) const { return -1; }

int32_t AudioDeviceDummy::MaxSpeakerVolume(uint32_t& maxVolume) const {
  return -1;
}

int32_t AudioDeviceDummy::MinSpeakerVolume(uint32_t& minVolume) const {
  return -1;
}

int32_t AudioDeviceDummy::SpeakerVolumeStepSize(uint16_t& stepSize) const {
  return -1;
}

int32_t AudioDeviceDummy::MicrophoneVolumeIsAvailable(bool& available) {
  return -1;
}

int32_t AudioDeviceDummy::SetMicrophoneVolume(uint32_t volume) { return -1; }

int32_t AudioDeviceDummy::MicrophoneVolume(uint32_t& volume) const {
  return -1;
}

int32_t AudioDeviceDummy::MaxMicrophoneVolume(uint32_t& maxVolume) const {
  return -1;
}

int32_t AudioDeviceDummy::MinMicrophoneVolume(uint32_t& minVolume) const {
  return -1;
}

int32_t AudioDeviceDummy::MicrophoneVolumeStepSize(uint16_t& stepSize) const {
  return -1;
}

int32_t AudioDeviceDummy::SpeakerMuteIsAvailable(bool& available) { return -1; }

int32_t AudioDeviceDummy::SetSpeakerMute(bool enable) { return -1; }

int32_t AudioDeviceDummy::SpeakerMute(bool& enabled) const { return -1; }

int32_t AudioDeviceDummy::MicrophoneMuteIsAvailable(bool& available) {
  return -1;
}

int32_t AudioDeviceDummy::SetMicrophoneMute(bool enable) { return -1; }

int32_t AudioDeviceDummy::MicrophoneMute(bool& enabled) const { return -1; }

int32_t AudioDeviceDummy::MicrophoneBoostIsAvailable(bool& available) {
  return -1;
}

int32_t AudioDeviceDummy::SetMicrophoneBoost(bool enable) { return -1; }

int32_t AudioDeviceDummy::MicrophoneBoost(bool& enabled) const { return -1; }

int32_t AudioDeviceDummy::StereoPlayoutIsAvailable(bool& available) {
  return -1;
}
int32_t AudioDeviceDummy::SetStereoPlayout(bool enable) { return -1; }

int32_t AudioDeviceDummy::StereoPlayout(bool& enabled) const { return -1; }

int32_t AudioDeviceDummy::StereoRecordingIsAvailable(bool& available) {
  return -1;
}

int32_t AudioDeviceDummy::SetStereoRecording(bool enable) { return -1; }

int32_t AudioDeviceDummy::StereoRecording(bool& enabled) const { return -1; }

int32_t AudioDeviceDummy::SetPlayoutBuffer(
    const AudioDeviceModule::BufferType type,
    uint16_t sizeMS) {
  return -1;
}

int32_t AudioDeviceDummy::PlayoutBuffer(AudioDeviceModule::BufferType& type,
                                        uint16_t& sizeMS) const {
  return -1;
}

int32_t AudioDeviceDummy::PlayoutDelay(uint16_t& delayMS) const { return -1; }

int32_t AudioDeviceDummy::RecordingDelay(uint16_t& delayMS) const { return -1; }

int32_t AudioDeviceDummy::CPULoad(uint16_t& load) const { return -1; }

bool AudioDeviceDummy::PlayoutWarning() const { return false; }

bool AudioDeviceDummy::PlayoutError() const { return false; }

bool AudioDeviceDummy::RecordingWarning() const { return false; }

bool AudioDeviceDummy::RecordingError() const { return false; }

void AudioDeviceDummy::ClearPlayoutWarning() {}

void AudioDeviceDummy::ClearPlayoutError() {}

void AudioDeviceDummy::ClearRecordingWarning() {}

void AudioDeviceDummy::ClearRecordingError() {}

void AudioDeviceDummy::AttachAudioBuffer(AudioDeviceBuffer* audioBuffer) {}
}  // namespace webrtc
