• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_
53