// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef REMOTING_PROTOCOL_AUDIO_PUMP_H_ #define REMOTING_PROTOCOL_AUDIO_PUMP_H_ #include <memory> #include "base/memory/raw_ptr.h" #include "base/memory/scoped_refptr.h" #include "base/memory/weak_ptr.h" #include "base/threading/thread_checker.h" #include "remoting/protocol/audio_stream.h" namespace base { class SingleThreadTaskRunner; } // namespace base namespace remoting { class AudioEncoder; class AudioPacket; namespace protocol { class AudioStub; class AudioSource; // AudioPump is responsible for fetching audio data from the AudioCapturer and // encoding it before passing it to the AudioStub for delivery to the client. // Audio data will be downmixed to stereo if needed. Audio is captured and // encoded on the audio thread and then passed to AudioStub on the network // thread. class AudioPump : public AudioStream { … }; } // namespace protocol } // namespace remoting #endif // REMOTING_PROTOCOL_AUDIO_PUMP_H_