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) 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