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