1 // Copyright (c) 2012 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 REMOTING_HOST_AUDIO_CAPTURER_H_
6 #define REMOTING_HOST_AUDIO_CAPTURER_H_
7 
8 #include <memory>
9 
10 #include "remoting/protocol/audio_source.h"
11 
12 namespace remoting {
13 
14 class AudioCapturer : public protocol::AudioSource {
15  public:
~AudioCapturer()16   ~AudioCapturer() override {}
17 
18   // Returns true if audio capturing is supported on this platform. If this
19   // returns true, then Create() must not return nullptr.
20   static bool IsSupported();
21   static std::unique_ptr<AudioCapturer> Create();
22 
23   static bool IsValidSampleRate(int sample_rate);
24 };
25 
26 }  // namespace remoting
27 
28 #endif  // REMOTING_HOST_AUDIO_CAPTURER_H_
29