// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef MEDIA_BASE_AUDIO_CAPTURER_SOURCE_H_ #define MEDIA_BASE_AUDIO_CAPTURER_SOURCE_H_ #include <string> #include <vector> #include "base/memory/ref_counted.h" #include "media/base/audio_bus.h" #include "media/base/audio_parameters.h" #include "media/base/media_export.h" namespace media { class AudioProcessorControls; struct AudioGlitchInfo; // AudioCapturerSource is an interface representing the source for // captured audio. An implementation will periodically call // `CaptureCallback::Capture()` to pass the audio samples. All methods must be // called on the same thread. The supplied `CaptureCallback` will be called on // the same thread, except `Capture()`. Implementations should use a dedicated // thread to receive the stream and call `CaptureCallback::Capture()` in order // to ensure that the client receives the stream without delays. class AudioCapturerSource : public base::RefCountedThreadSafe<media::AudioCapturerSource> { … }; } // namespace media #endif // MEDIA_BASE_AUDIO_CAPTURER_SOURCE_H_