Move media/audio files into media namespace
[chromium-blink-merge.git] / media / audio / mac / audio_manager_mac.h
blob54ff3a6d3a995dfb6729d03f279ac09dedde555c
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.
5 #ifndef MEDIA_AUDIO_MAC_AUDIO_MANAGER_MAC_H_
6 #define MEDIA_AUDIO_MAC_AUDIO_MANAGER_MAC_H_
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "media/audio/audio_manager_base.h"
12 namespace media {
14 // Mac OS X implementation of the AudioManager singleton. This class is internal
15 // to the audio output and only internal users can call methods not exposed by
16 // the AudioManager class.
17 class MEDIA_EXPORT AudioManagerMac : public AudioManagerBase {
18 public:
19 AudioManagerMac();
21 // Implementation of AudioManager.
22 virtual bool HasAudioOutputDevices() OVERRIDE;
23 virtual bool HasAudioInputDevices() OVERRIDE;
24 virtual void GetAudioInputDeviceNames(media::AudioDeviceNames* device_names)
25 OVERRIDE;
26 virtual void MuteAll() OVERRIDE;
27 virtual void UnMuteAll() OVERRIDE;
29 // Implementation of AudioManagerBase.
30 virtual AudioOutputStream* MakeLinearOutputStream(
31 const AudioParameters& params) OVERRIDE;
32 virtual AudioOutputStream* MakeLowLatencyOutputStream(
33 const AudioParameters& params) OVERRIDE;
34 virtual AudioInputStream* MakeLinearInputStream(
35 const AudioParameters& params, const std::string& device_id) OVERRIDE;
36 virtual AudioInputStream* MakeLowLatencyInputStream(
37 const AudioParameters& params, const std::string& device_id) OVERRIDE;
39 protected:
40 virtual ~AudioManagerMac();
42 private:
43 DISALLOW_COPY_AND_ASSIGN(AudioManagerMac);
46 } // namespace media
48 #endif // MEDIA_AUDIO_MAC_AUDIO_MANAGER_MAC_H_