fake_audio_manager.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. #ifndef MEDIA_AUDIO_FAKE_AUDIO_MANAGER_H_
  5. #define MEDIA_AUDIO_FAKE_AUDIO_MANAGER_H_
  6. #include <string>
  7. #include "base/compiler_specific.h"
  8. #include "media/audio/audio_manager_base.h"
  9. #include "media/audio/fake_audio_input_stream.h"
  10. #include "media/audio/fake_audio_output_stream.h"
  11. namespace media {
  12. class MEDIA_EXPORT FakeAudioManager : public AudioManagerBase {
  13. public:
  14. FakeAudioManager(std::unique_ptr<AudioThread> audio_thread,
  15. AudioLogFactory* audio_log_factory);
  16. FakeAudioManager(const FakeAudioManager&) = delete;
  17. FakeAudioManager& operator=(const FakeAudioManager&) = delete;
  18. ~FakeAudioManager() override;
  19. // Implementation of AudioManager.
  20. bool HasAudioOutputDevices() override;
  21. bool HasAudioInputDevices() override;
  22. const char* GetName() override;
  23. // Implementation of AudioManagerBase.
  24. AudioOutputStream* MakeLinearOutputStream(
  25. const AudioParameters& params,
  26. const LogCallback& log_callback) override;
  27. AudioOutputStream* MakeLowLatencyOutputStream(
  28. const AudioParameters& params,
  29. const std::string& device_id,
  30. const LogCallback& log_callback) override;
  31. AudioInputStream* MakeLinearInputStream(
  32. const AudioParameters& params,
  33. const std::string& device_id,
  34. const LogCallback& log_callback) override;
  35. AudioInputStream* MakeLowLatencyInputStream(
  36. const AudioParameters& params,
  37. const std::string& device_id,
  38. const LogCallback& log_callback) override;
  39. AudioParameters GetInputStreamParameters(
  40. const std::string& device_id) override;
  41. protected:
  42. AudioParameters GetPreferredOutputStreamParameters(
  43. const std::string& output_device_id,
  44. const AudioParameters& input_params) override;
  45. };
  46. } // namespace media
  47. #endif // MEDIA_AUDIO_FAKE_AUDIO_MANAGER_H_