audio_manager_openbsd.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ 6#define MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ 7 8#include <set> 9 10#include "base/compiler_specific.h" 11#include "media/audio/audio_manager_base.h" 12 13namespace media { 14 15class MEDIA_EXPORT AudioManagerOpenBSD : public AudioManagerBase { 16 public: 17 AudioManagerOpenBSD(); 18 19 // Implementation of AudioManager. 20 virtual bool HasAudioOutputDevices() OVERRIDE; 21 virtual bool HasAudioInputDevices() OVERRIDE; 22 23 // Implementation of AudioManagerBase. 24 virtual AudioOutputStream* MakeLinearOutputStream( 25 const AudioParameters& params) OVERRIDE; 26 virtual AudioOutputStream* MakeLowLatencyOutputStream( 27 const AudioParameters& params) OVERRIDE; 28 virtual AudioInputStream* MakeLinearInputStream( 29 const AudioParameters& params, const std::string& device_id) OVERRIDE; 30 virtual AudioInputStream* MakeLowLatencyInputStream( 31 const AudioParameters& params, const std::string& device_id) OVERRIDE; 32 33 protected: 34 virtual ~AudioManagerOpenBSD(); 35 36 private: 37 // Called by MakeLinearOutputStream and MakeLowLatencyOutputStream. 38 AudioOutputStream* MakeOutputStream(const AudioParameters& params); 39 40 DISALLOW_COPY_AND_ASSIGN(AudioManagerOpenBSD); 41}; 42 43} // namespace media 44 45#endif // MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ 46