Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / media / audio / fake_audio_manager.h
1 // Copyright 2013 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_FAKE_AUDIO_MANAGER_H_
6 #define MEDIA_AUDIO_FAKE_AUDIO_MANAGER_H_
7
8 #include <string>
9 #include "base/compiler_specific.h"
10 #include "media/audio/audio_manager_base.h"
11 #include "media/audio/fake_audio_input_stream.h"
12 #include "media/audio/fake_audio_output_stream.h"
13
14 namespace media {
15
16 class MEDIA_EXPORT FakeAudioManager : public AudioManagerBase {
17  public:
18   FakeAudioManager(AudioLogFactory* audio_log_factory);
19
20   // Implementation of AudioManager.
21   virtual bool HasAudioOutputDevices() OVERRIDE;
22   virtual bool HasAudioInputDevices() OVERRIDE;
23
24   // Implementation of AudioManagerBase.
25   virtual AudioOutputStream* MakeLinearOutputStream(
26       const AudioParameters& params) OVERRIDE;
27   virtual AudioOutputStream* MakeLowLatencyOutputStream(
28       const AudioParameters& params,
29       const std::string& device_id) OVERRIDE;
30   virtual AudioInputStream* MakeLinearInputStream(const AudioParameters& params,
31                                                   const std::string& device_id)
32       OVERRIDE;
33   virtual AudioInputStream* MakeLowLatencyInputStream(
34       const AudioParameters& params,
35       const std::string& device_id) OVERRIDE;
36   virtual AudioParameters GetInputStreamParameters(
37       const std::string& device_id) OVERRIDE;
38
39  protected:
40   virtual ~FakeAudioManager();
41
42   virtual AudioParameters GetPreferredOutputStreamParameters(
43       const std::string& output_device_id,
44       const AudioParameters& input_params) OVERRIDE;
45
46  private:
47   DISALLOW_COPY_AND_ASSIGN(FakeAudioManager);
48 };
49
50 }  // namespace media
51
52 #endif  // MEDIA_AUDIO_FAKE_AUDIO_MANAGER_H_