diff options
Diffstat (limited to 'media/audio')
-rw-r--r-- | media/audio/openbsd/audio_manager_openbsd.cc | 57 | ||||
-rw-r--r-- | media/audio/openbsd/audio_manager_openbsd.h | 34 |
2 files changed, 91 insertions, 0 deletions
diff --git a/media/audio/openbsd/audio_manager_openbsd.cc b/media/audio/openbsd/audio_manager_openbsd.cc new file mode 100644 index 0000000..41dc93bb --- /dev/null +++ b/media/audio/openbsd/audio_manager_openbsd.cc @@ -0,0 +1,57 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "media/audio/openbsd/audio_manager_openbsd.h" + +#include "base/at_exit.h" +#include "base/logging.h" + +namespace { +AudioManagerOpenBSD* g_audio_manager = NULL; +} // namespace + +// Implementation of AudioManager. +bool AudioManagerOpenBSD::HasAudioDevices() { + NOTIMPLEMENTED(); + return false; +} + +AudioOutputStream* AudioManagerOpenBSD::MakeAudioStream(Format format, + int channels, + int sample_rate, + char bits_per_sample) { + NOTIMPLEMENTED(); + return NULL; +} + +AudioManagerOpenBSD::AudioManagerOpenBSD() { +} + +AudioManagerOpenBSD::~AudioManagerOpenBSD() { +} + +void AudioManagerOpenBSD::Init() { +} + +void AudioManagerOpenBSD::MuteAll() { + NOTIMPLEMENTED(); +} + +void AudioManagerOpenBSD::UnMuteAll() { + NOTIMPLEMENTED(); +} + +void DestroyAudioManagerOpenBSD(void* not_used) { + delete g_audio_manager; + g_audio_manager = NULL; +} + +AudioManager* AudioManager::GetAudioManager() { + if (!g_audio_manager) { + g_audio_manager = new AudioManagerOpenBSD(); + g_audio_manager->Init(); + base::AtExitManager::RegisterCallback(&DestroyAudioManagerOpenBSD, NULL); + } + return g_audio_manager; +} diff --git a/media/audio/openbsd/audio_manager_openbsd.h b/media/audio/openbsd/audio_manager_openbsd.h new file mode 100644 index 0000000..1766a77d --- /dev/null +++ b/media/audio/openbsd/audio_manager_openbsd.h @@ -0,0 +1,34 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ +#define MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ + +#include "media/audio/audio_output.h" + +class AudioManagerOpenBSD : public AudioManager { + public: + AudioManagerOpenBSD(); + + // Call before using a newly created AudioManagerOpenBSD instance. + virtual void Init(); + + // Implementation of AudioManager. + virtual bool HasAudioDevices(); + virtual AudioOutputStream* MakeAudioStream(Format format, int channels, + int sample_rate, + char bits_per_sample); + virtual void MuteAll(); + virtual void UnMuteAll(); + + protected: + // Friend function for invoking the destructor at exit. + friend void DestroyAudioManagerOpenBSD(void*); + virtual ~AudioManagerOpenBSD(); + + private: + DISALLOW_COPY_AND_ASSIGN(AudioManagerOpenBSD); +}; + +#endif // MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ |