Upstream version 5.34.92.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,
30       const std::string& input_device_id) OVERRIDE;
31   virtual AudioInputStream* MakeLinearInputStream(const AudioParameters& params,
32                                                   const std::string& device_id)
33       OVERRIDE;
34   virtual AudioInputStream* MakeLowLatencyInputStream(
35       const AudioParameters& params,
36       const std::string& device_id) OVERRIDE;
37   virtual AudioParameters GetInputStreamParameters(
38       const std::string& device_id) OVERRIDE;
39
40  protected:
41   virtual ~FakeAudioManager();
42
43   virtual AudioParameters GetPreferredOutputStreamParameters(
44       const std::string& output_device_id,
45       const AudioParameters& input_params) OVERRIDE;
46
47  private:
48   DISALLOW_COPY_AND_ASSIGN(FakeAudioManager);
49 };
50
51 }  // namespace media
52
53 #endif  // MEDIA_AUDIO_FAKE_AUDIO_MANAGER_H_