#include "third_party/blink/renderer/platform/mediastream/media_stream_audio_source.h"
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "base/logging.h"
#include "base/strings/stringprintf.h"
#include "base/task/single_thread_task_runner.h"
#include "build/build_config.h"
#include "media/base/audio_glitch_info.h"
#include "third_party/blink/public/common/thread_safe_browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/web_string.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_audio_track.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_component.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_source.h"
#include "third_party/blink/renderer/platform/scheduler/public/post_cross_thread_task.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_copier_base.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
namespace blink {
const int kFallbackAudioLatencyMs = …20;
#else
10;
#endif
static_assert …;
static_assert …;
MediaStreamAudioSource::MediaStreamAudioSource(
scoped_refptr<base::SingleThreadTaskRunner> task_runner,
bool is_local_source,
bool disable_local_echo)
: … { … }
MediaStreamAudioSource::MediaStreamAudioSource(
scoped_refptr<base::SingleThreadTaskRunner> task_runner,
bool is_local_source)
: … { … }
MediaStreamAudioSource::~MediaStreamAudioSource() { … }
MediaStreamAudioSource* MediaStreamAudioSource::From(
MediaStreamSource* source) { … }
bool MediaStreamAudioSource::ConnectToInitializedTrack(
MediaStreamComponent* component) { … }
media::AudioParameters MediaStreamAudioSource::GetAudioParameters() const { … }
bool MediaStreamAudioSource::RenderToAssociatedSinkEnabled() const { … }
void* MediaStreamAudioSource::GetClassIdentifier() const { … }
bool MediaStreamAudioSource::HasSameReconfigurableSettings(
const blink::AudioProcessingProperties& selected_properties) const { … }
bool MediaStreamAudioSource::HasSameNonReconfigurableSettings(
MediaStreamAudioSource* other_source) const { … }
void MediaStreamAudioSource::DoChangeSource(
const MediaStreamDevice& new_device) { … }
std::unique_ptr<MediaStreamAudioTrack>
MediaStreamAudioSource::CreateMediaStreamAudioTrack(const std::string& id) { … }
bool MediaStreamAudioSource::EnsureSourceIsStarted() { … }
void MediaStreamAudioSource::EnsureSourceIsStopped() { … }
void MediaStreamAudioSource::ChangeSourceImpl(
const MediaStreamDevice& new_device) { … }
void MediaStreamAudioSource::SetFormat(const media::AudioParameters& params) { … }
void MediaStreamAudioSource::DeliverDataToTracks(
const media::AudioBus& audio_bus,
base::TimeTicks reference_time,
const media::AudioGlitchInfo& glitch_info) { … }
void MediaStreamAudioSource::DoStopSource() { … }
void MediaStreamAudioSource::StopAudioDeliveryTo(MediaStreamAudioTrack* track) { … }
void MediaStreamAudioSource::StopSourceOnError(
media::AudioCapturerSource::ErrorCode code,
const std::string& why) { … }
void MediaStreamAudioSource::StopSourceOnErrorOnTaskRunner(
media::AudioCapturerSource::ErrorCode code) { … }
void MediaStreamAudioSource::SetMutedState(bool muted_state) { … }
int MediaStreamAudioSource::NumPreferredChannels() const { … }
size_t MediaStreamAudioSource::NumTracks() const { … }
void MediaStreamAudioSource::LogMessage(const std::string& message) { … }
}