#include "pc/remote_audio_source.h"
#include <stddef.h>
#include <memory>
#include <string>
#include <utility>
#include "absl/algorithm/container.h"
#include "api/scoped_refptr.h"
#include "api/sequence_checker.h"
#include "api/task_queue/task_queue_base.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/strings/string_format.h"
#include "rtc_base/trace_event.h"
namespace webrtc {
class RemoteAudioSource::AudioDataProxy : public AudioSinkInterface { … };
RemoteAudioSource::RemoteAudioSource(
TaskQueueBase* worker_thread,
OnAudioChannelGoneAction on_audio_channel_gone_action)
: … { … }
RemoteAudioSource::~RemoteAudioSource() { … }
void RemoteAudioSource::Start(
cricket::VoiceMediaReceiveChannelInterface* media_channel,
absl::optional<uint32_t> ssrc) { … }
void RemoteAudioSource::Stop(
cricket::VoiceMediaReceiveChannelInterface* media_channel,
absl::optional<uint32_t> ssrc) { … }
void RemoteAudioSource::SetState(SourceState new_state) { … }
MediaSourceInterface::SourceState RemoteAudioSource::state() const { … }
bool RemoteAudioSource::remote() const { … }
void RemoteAudioSource::SetVolume(double volume) { … }
void RemoteAudioSource::RegisterAudioObserver(AudioObserver* observer) { … }
void RemoteAudioSource::UnregisterAudioObserver(AudioObserver* observer) { … }
void RemoteAudioSource::AddSink(AudioTrackSinkInterface* sink) { … }
void RemoteAudioSource::RemoveSink(AudioTrackSinkInterface* sink) { … }
void RemoteAudioSource::OnData(const AudioSinkInterface::Data& audio) { … }
void RemoteAudioSource::OnAudioChannelGone() { … }
}