#include "third_party/blink/renderer/platform/mediastream/media_stream_audio_track.h"
#include <atomic>
#include <string>
#include <utility>
#include "base/check_op.h"
#include "base/synchronization/lock.h"
#include "base/time/time.h"
#include "media/base/audio_bus.h"
#include "media/base/audio_glitch_info.h"
#include "media/base/audio_timestamp_helper.h"
#include "third_party/blink/public/platform/modules/mediastream/web_media_stream_audio_sink.h"
#include "third_party/blink/public/platform/modules/mediastream/web_media_stream_source.h"
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_audio_source.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_component.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_source.h"
namespace blink {
namespace {
constexpr char kTag[] = …;
}
MediaStreamAudioTrack::MediaStreamAudioTrack(bool is_local_track)
: … { … }
MediaStreamAudioTrack::~MediaStreamAudioTrack() { … }
std::unique_ptr<MediaStreamTrackPlatform>
MediaStreamAudioTrack::CreateFromComponent(
const MediaStreamComponent* component,
const String& id) { … }
MediaStreamAudioTrack* MediaStreamAudioTrack::From(
const MediaStreamComponent* component) { … }
void MediaStreamAudioTrack::AddSink(WebMediaStreamAudioSink* sink) { … }
void MediaStreamAudioTrack::RemoveSink(WebMediaStreamAudioSink* sink) { … }
media::AudioParameters MediaStreamAudioTrack::GetOutputFormat() const { … }
void MediaStreamAudioTrack::SetEnabled(bool enabled) { … }
bool MediaStreamAudioTrack::IsEnabled() const { … }
void MediaStreamAudioTrack::SetContentHint(
WebMediaStreamTrack::ContentHintType content_hint) { … }
int MediaStreamAudioTrack::NumPreferredChannels() const { … }
void* MediaStreamAudioTrack::GetClassIdentifier() const { … }
void MediaStreamAudioTrack::Start(base::OnceClosure stop_callback) { … }
void MediaStreamAudioTrack::StopAndNotify(base::OnceClosure callback) { … }
void MediaStreamAudioTrack::OnSetFormat(const media::AudioParameters& params) { … }
void MediaStreamAudioTrack::OnData(const media::AudioBus& audio_bus,
base::TimeTicks reference_time,
const media::AudioGlitchInfo& glitch_info) { … }
void MediaStreamAudioTrack::TransferAudioFrameStatsTo(
MediaStreamTrackPlatform::AudioFrameStats& destination) { … }
void MediaStreamAudioTrack::UpdateFrameStats(
const media::AudioBus& audio_bus,
base::TimeTicks reference_time,
const media::AudioGlitchInfo& glitch_info) { … }
}