Home | History | Annotate | Download | only in audio
      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_
     54