Rename AudioReceiveStream to AudioReceiveStreamInterface

Bug: webrtc:7484
Change-Id: I22eaa7a9e082fc575cf7471d7a2f4f706564d54f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262805
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36965}
This commit is contained in:
Tommi 2022-05-22 20:47:28 +02:00 committed by WebRTC LUCI CQ
parent 4d6dd17153
commit 3176ef79e9
43 changed files with 223 additions and 203 deletions

View file

@ -33,7 +33,7 @@
namespace webrtc {
std::string AudioReceiveStream::Config::Rtp::ToString() const {
std::string AudioReceiveStreamInterface::Config::Rtp::ToString() const {
char ss_buf[1024];
rtc::SimpleStringBuilder ss(ss_buf);
ss << "{remote_ssrc: " << remote_ssrc;
@ -52,7 +52,7 @@ std::string AudioReceiveStream::Config::Rtp::ToString() const {
return ss.str();
}
std::string AudioReceiveStream::Config::ToString() const {
std::string AudioReceiveStreamInterface::Config::ToString() const {
char ss_buf[1024];
rtc::SimpleStringBuilder ss(ss_buf);
ss << "{rtp: " << rtp.ToString();
@ -70,7 +70,7 @@ std::unique_ptr<voe::ChannelReceiveInterface> CreateChannelReceive(
Clock* clock,
webrtc::AudioState* audio_state,
NetEqFactory* neteq_factory,
const webrtc::AudioReceiveStream::Config& config,
const webrtc::AudioReceiveStreamInterface::Config& config,
RtcEventLog* event_log) {
RTC_DCHECK(audio_state);
internal::AudioState* internal_audio_state =
@ -90,7 +90,7 @@ AudioReceiveStreamImpl::AudioReceiveStreamImpl(
Clock* clock,
PacketRouter* packet_router,
NetEqFactory* neteq_factory,
const webrtc::AudioReceiveStream::Config& config,
const webrtc::AudioReceiveStreamInterface::Config& config,
const rtc::scoped_refptr<webrtc::AudioState>& audio_state,
webrtc::RtcEventLog* event_log)
: AudioReceiveStreamImpl(clock,
@ -107,7 +107,7 @@ AudioReceiveStreamImpl::AudioReceiveStreamImpl(
AudioReceiveStreamImpl::AudioReceiveStreamImpl(
Clock* clock,
PacketRouter* packet_router,
const webrtc::AudioReceiveStream::Config& config,
const webrtc::AudioReceiveStreamInterface::Config& config,
const rtc::scoped_refptr<webrtc::AudioState>& audio_state,
webrtc::RtcEventLog* event_log,
std::unique_ptr<voe::ChannelReceiveInterface> channel_receive)
@ -164,7 +164,7 @@ void AudioReceiveStreamImpl::UnregisterFromTransport() {
}
void AudioReceiveStreamImpl::ReconfigureForTesting(
const webrtc::AudioReceiveStream::Config& config) {
const webrtc::AudioReceiveStreamInterface::Config& config) {
RTC_DCHECK_RUN_ON(&worker_thread_checker_);
// SSRC can't be changed mid-stream.
@ -279,10 +279,10 @@ RtpHeaderExtensionMap AudioReceiveStreamImpl::GetRtpExtensionMap() const {
return RtpHeaderExtensionMap(config_.rtp.extensions);
}
webrtc::AudioReceiveStream::Stats AudioReceiveStreamImpl::GetStats(
webrtc::AudioReceiveStreamInterface::Stats AudioReceiveStreamImpl::GetStats(
bool get_and_clear_legacy_stats) const {
RTC_DCHECK_RUN_ON(&worker_thread_checker_);
webrtc::AudioReceiveStream::Stats stats;
webrtc::AudioReceiveStreamInterface::Stats stats;
stats.remote_ssrc = remote_ssrc();
webrtc::CallReceiveStatistics call_stats =

View file

@ -42,7 +42,7 @@ namespace internal {
class AudioSendStream;
} // namespace internal
class AudioReceiveStreamImpl final : public webrtc::AudioReceiveStream,
class AudioReceiveStreamImpl final : public webrtc::AudioReceiveStreamInterface,
public AudioMixer::Source,
public Syncable {
public:
@ -50,14 +50,14 @@ class AudioReceiveStreamImpl final : public webrtc::AudioReceiveStream,
Clock* clock,
PacketRouter* packet_router,
NetEqFactory* neteq_factory,
const webrtc::AudioReceiveStream::Config& config,
const webrtc::AudioReceiveStreamInterface::Config& config,
const rtc::scoped_refptr<webrtc::AudioState>& audio_state,
webrtc::RtcEventLog* event_log);
// For unit tests, which need to supply a mock channel receive.
AudioReceiveStreamImpl(
Clock* clock,
PacketRouter* packet_router,
const webrtc::AudioReceiveStream::Config& config,
const webrtc::AudioReceiveStreamInterface::Config& config,
const rtc::scoped_refptr<webrtc::AudioState>& audio_state,
webrtc::RtcEventLog* event_log,
std::unique_ptr<voe::ChannelReceiveInterface> channel_receive);
@ -82,7 +82,7 @@ class AudioReceiveStreamImpl final : public webrtc::AudioReceiveStream,
// network thread.
void UnregisterFromTransport();
// webrtc::AudioReceiveStream implementation.
// webrtc::AudioReceiveStreamInterface implementation.
void Start() override;
void Stop() override;
bool transport_cc() const override;
@ -100,7 +100,7 @@ class AudioReceiveStreamImpl final : public webrtc::AudioReceiveStream,
const std::vector<RtpExtension>& GetRtpExtensions() const override;
RtpHeaderExtensionMap GetRtpExtensionMap() const override;
webrtc::AudioReceiveStream::Stats GetStats(
webrtc::AudioReceiveStreamInterface::Stats GetStats(
bool get_and_clear_legacy_stats) const override;
void SetSink(AudioSinkInterface* sink) override;
void SetGain(float gain) override;
@ -145,7 +145,8 @@ class AudioReceiveStreamImpl final : public webrtc::AudioReceiveStream,
const AudioSendStream* GetAssociatedSendStreamForTesting() const;
// TODO(tommi): Remove this method.
void ReconfigureForTesting(const webrtc::AudioReceiveStream::Config& config);
void ReconfigureForTesting(
const webrtc::AudioReceiveStreamInterface::Config& config);
private:
internal::AudioState* audio_state() const;
@ -159,7 +160,7 @@ class AudioReceiveStreamImpl final : public webrtc::AudioReceiveStream,
// that belong to the network thread. Once the packets are fully delivered
// on the network thread, this comment will be deleted.
RTC_NO_UNIQUE_ADDRESS SequenceChecker packet_sequence_checker_;
webrtc::AudioReceiveStream::Config config_;
webrtc::AudioReceiveStreamInterface::Config config_;
rtc::scoped_refptr<webrtc::AudioState> audio_state_;
SourceTracker source_tracker_;
const std::unique_ptr<voe::ChannelReceiveInterface> channel_receive_;

View file

@ -155,7 +155,7 @@ struct ConfigHelper {
return ret;
}
AudioReceiveStream::Config& config() { return stream_config_; }
AudioReceiveStreamInterface::Config& config() { return stream_config_; }
rtc::scoped_refptr<MockAudioMixer> audio_mixer() { return audio_mixer_; }
MockChannelReceive* channel_receive() { return channel_receive_; }
@ -189,7 +189,7 @@ struct ConfigHelper {
MockRtcEventLog event_log_;
rtc::scoped_refptr<AudioState> audio_state_;
rtc::scoped_refptr<MockAudioMixer> audio_mixer_;
AudioReceiveStream::Config stream_config_;
AudioReceiveStreamInterface::Config stream_config_;
::testing::StrictMock<MockChannelReceive>* channel_receive_ = nullptr;
RtpStreamReceiverController rtp_stream_receiver_controller_;
MockTransport rtcp_send_transport_;
@ -209,7 +209,7 @@ const std::vector<uint8_t> CreateRtcpSenderReport() {
} // namespace
TEST(AudioReceiveStreamTest, ConfigToString) {
AudioReceiveStream::Config config;
AudioReceiveStreamInterface::Config config;
config.rtp.remote_ssrc = kRemoteSsrc;
config.rtp.local_ssrc = kLocalSsrc;
config.rtp.extensions.push_back(
@ -249,7 +249,7 @@ TEST(AudioReceiveStreamTest, GetStats) {
ConfigHelper helper(use_null_audio_processing);
auto recv_stream = helper.CreateAudioReceiveStream();
helper.SetupMockForGetStats();
AudioReceiveStream::Stats stats =
AudioReceiveStreamInterface::Stats stats =
recv_stream->GetStats(/*get_and_clear_legacy_stats=*/true);
EXPECT_EQ(kRemoteSsrc, stats.remote_ssrc);
EXPECT_EQ(kCallStats.payload_bytes_rcvd, stats.payload_bytes_rcvd);

View file

@ -61,9 +61,9 @@ TEST_F(AudioSendStreamCallTest, SupportsCName) {
return SEND_PACKET;
}
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override {
send_config->rtp.c_name = kCName;
}
@ -90,9 +90,9 @@ TEST_F(AudioSendStreamCallTest, NoExtensionsByDefault) {
return SEND_PACKET;
}
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override {
send_config->rtp.extensions.clear();
}
@ -129,9 +129,9 @@ TEST_F(AudioSendStreamCallTest, SupportsAudioLevel) {
return SEND_PACKET;
}
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override {
send_config->rtp.extensions.clear();
send_config->rtp.extensions.push_back(
RtpExtension(RtpExtension::kAudioLevelUri, kAudioLevelExtensionId));
@ -171,9 +171,9 @@ class TransportWideSequenceNumberObserver : public AudioSendTest {
return SEND_PACKET;
}
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override {
send_config->rtp.extensions.clear();
send_config->rtp.extensions.push_back(
RtpExtension(RtpExtension::kTransportSequenceNumberUri,
@ -223,9 +223,9 @@ TEST_F(AudioSendStreamCallTest, SendDtmf) {
return SEND_PACKET;
}
void OnAudioStreamsCreated(
AudioSendStream* send_stream,
const std::vector<AudioReceiveStream*>& receive_streams) override {
void OnAudioStreamsCreated(AudioSendStream* send_stream,
const std::vector<AudioReceiveStreamInterface*>&
receive_streams) override {
// Need to start stream here, else DTMF events are dropped.
send_stream->Start();
for (int event = kDtmfEventFirst; event <= kDtmfEventLast; ++event) {

View file

@ -50,7 +50,8 @@ AudioTransport* AudioState::audio_transport() {
return &audio_transport_;
}
void AudioState::AddReceivingStream(webrtc::AudioReceiveStream* stream) {
void AudioState::AddReceivingStream(
webrtc::AudioReceiveStreamInterface* stream) {
RTC_DCHECK(thread_checker_.IsCurrent());
RTC_DCHECK_EQ(0, receiving_streams_.count(stream));
receiving_streams_.insert(stream);
@ -73,7 +74,8 @@ void AudioState::AddReceivingStream(webrtc::AudioReceiveStream* stream) {
}
}
void AudioState::RemoveReceivingStream(webrtc::AudioReceiveStream* stream) {
void AudioState::RemoveReceivingStream(
webrtc::AudioReceiveStreamInterface* stream) {
RTC_DCHECK(thread_checker_.IsCurrent());
auto count = receiving_streams_.erase(stream);
RTC_DCHECK_EQ(1, count);

View file

@ -24,7 +24,7 @@
namespace webrtc {
class AudioSendStream;
class AudioReceiveStream;
class AudioReceiveStreamInterface;
namespace internal {
@ -51,8 +51,8 @@ class AudioState : public webrtc::AudioState {
return config_.audio_device_module.get();
}
void AddReceivingStream(webrtc::AudioReceiveStream* stream);
void RemoveReceivingStream(webrtc::AudioReceiveStream* stream);
void AddReceivingStream(webrtc::AudioReceiveStreamInterface* stream);
void RemoveReceivingStream(webrtc::AudioReceiveStreamInterface* stream);
void AddSendingStream(webrtc::AudioSendStream* stream,
int sample_rate_hz,
@ -78,7 +78,7 @@ class AudioState : public webrtc::AudioState {
// stats are still updated.
std::unique_ptr<NullAudioPoller> null_audio_poller_;
webrtc::flat_set<webrtc::AudioReceiveStream*> receiving_streams_;
webrtc::flat_set<webrtc::AudioReceiveStreamInterface*> receiving_streams_;
struct StreamProperties {
int sample_rate_hz = 0;
size_t num_channels = 0;

View file

@ -317,13 +317,13 @@ void ChannelReceive::OnReceivedPayloadData(
// packet as discarded.
// If we have a source_tracker_, tell it that the frame has been
// "delivered". Normally, this happens in AudioReceiveStream when audio
// frames are pulled out, but when playout is muted, nothing is pulling
// frames. The downside of this approach is that frames delivered this way
// won't be delayed for playout, and therefore will be unsynchronized with
// (a) audio delay when playing and (b) any audio/video synchronization. But
// the alternative is that muting playout also stops the SourceTracker from
// updating RtpSource information.
// "delivered". Normally, this happens in AudioReceiveStreamInterface when
// audio frames are pulled out, but when playout is muted, nothing is
// pulling frames. The downside of this approach is that frames delivered
// this way won't be delayed for playout, and therefore will be
// unsynchronized with (a) audio delay when playing and (b) any audio/video
// synchronization. But the alternative is that muting playout also stops
// the SourceTracker from updating RtpSource information.
if (source_tracker_) {
RtpPacketInfos::vector_type packet_vector = {
RtpPacketInfo(rtpHeader, clock_->CurrentTime())};

View file

@ -83,7 +83,7 @@ namespace voe {
class ChannelSendInterface;
// Interface class needed for AudioReceiveStream tests that use a
// Interface class needed for AudioReceiveStreamInterface tests that use a
// MockChannelReceive.
class ChannelReceiveInterface : public RtpPacketSinkInterface {

View file

@ -105,9 +105,9 @@ class NoBandwidthDropAfterDtx : public AudioBweTest {
NoBandwidthDropAfterDtx()
: sender_call_(nullptr), stats_poller_("stats poller task queue") {}
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override {
send_config->send_codec_spec = AudioSendStream::Config::SendCodecSpec(
test::CallTest::kAudioSendPayloadType,
{"OPUS",
@ -120,7 +120,7 @@ class NoBandwidthDropAfterDtx : public AudioBweTest {
send_config->rtp.extensions.push_back(
RtpExtension(RtpExtension::kTransportSequenceNumberUri,
kTransportSequenceNumberExtensionId));
for (AudioReceiveStream::Config& recv_config : *receive_configs) {
for (AudioReceiveStreamInterface::Config& recv_config : *receive_configs) {
recv_config.rtp.transport_cc = true;
recv_config.rtp.extensions = send_config->rtp.extensions;
recv_config.rtp.remote_ssrc = send_config->rtp.ssrc;

View file

@ -86,7 +86,7 @@ AudioEndToEndTest::CreateReceiveTransport(TaskQueueBase* task_queue) {
void AudioEndToEndTest::ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) {
std::vector<AudioReceiveStreamInterface::Config>* receive_configs) {
// Large bitrate by default.
const webrtc::SdpAudioFormat kDefaultFormat("opus", 48000, 2,
{{"stereo", "1"}});
@ -98,7 +98,7 @@ void AudioEndToEndTest::ModifyAudioConfigs(
void AudioEndToEndTest::OnAudioStreamsCreated(
AudioSendStream* send_stream,
const std::vector<AudioReceiveStream*>& receive_streams) {
const std::vector<AudioReceiveStreamInterface*>& receive_streams) {
ASSERT_NE(nullptr, send_stream);
ASSERT_EQ(1u, receive_streams.size());
ASSERT_NE(nullptr, receive_streams[0]);

View file

@ -28,7 +28,9 @@ class AudioEndToEndTest : public test::EndToEndTest {
protected:
TestAudioDeviceModule* send_audio_device() { return send_audio_device_; }
const AudioSendStream* send_stream() const { return send_stream_; }
const AudioReceiveStream* receive_stream() const { return receive_stream_; }
const AudioReceiveStreamInterface* receive_stream() const {
return receive_stream_;
}
virtual BuiltInNetworkBehaviorConfig GetNetworkPipeConfig() const;
@ -49,19 +51,19 @@ class AudioEndToEndTest : public test::EndToEndTest {
std::unique_ptr<test::PacketTransport> CreateReceiveTransport(
TaskQueueBase* task_queue) override;
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override;
void OnAudioStreamsCreated(
AudioSendStream* send_stream,
const std::vector<AudioReceiveStream*>& receive_streams) override;
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override;
void OnAudioStreamsCreated(AudioSendStream* send_stream,
const std::vector<AudioReceiveStreamInterface*>&
receive_streams) override;
void PerformTest() override;
private:
TestAudioDeviceModule* send_audio_device_ = nullptr;
AudioSendStream* send_stream_ = nullptr;
AudioReceiveStream* receive_stream_ = nullptr;
AudioReceiveStreamInterface* receive_stream_ = nullptr;
};
} // namespace test

View file

@ -64,7 +64,7 @@ class NoLossTest : public AudioEndToEndTest {
EXPECT_FALSE(send_stats.apm_statistics.residual_echo_likelihood);
EXPECT_FALSE(send_stats.apm_statistics.residual_echo_likelihood_recent_max);
AudioReceiveStream::Stats recv_stats =
AudioReceiveStreamInterface::Stats recv_stats =
receive_stream()->GetStats(/*get_and_clear_legacy_stats=*/true);
EXPECT_PRED2(IsNear, kBytesSent, recv_stats.payload_bytes_rcvd);
EXPECT_PRED2(IsNear, kPacketsSent, recv_stats.packets_rcvd);

View file

@ -73,9 +73,9 @@ class AudioQualityTest : public AudioEndToEndTest {
};
class Mobile2GNetworkTest : public AudioQualityTest {
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override {
send_config->send_codec_spec = AudioSendStream::Config::SendCodecSpec(
test::CallTest::kAudioSendPayloadType,
{"OPUS",

View file

@ -32,9 +32,9 @@ TEST_F(NackTest, ShouldNackInLossyNetwork) {
return pipe_config;
}
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override {
ASSERT_EQ(receive_configs->size(), 1U);
(*receive_configs)[0].rtp.nack.rtp_history_ms = kNackHistoryMs;
AudioEndToEndTest::ModifyAudioConfigs(send_config, receive_configs);
@ -43,7 +43,7 @@ TEST_F(NackTest, ShouldNackInLossyNetwork) {
void PerformTest() override { SleepMs(kTestDurationMs); }
void OnStreamsStopped() override {
AudioReceiveStream::Stats recv_stats =
AudioReceiveStreamInterface::Stats recv_stats =
receive_stream()->GetStats(/*get_and_clear_legacy_stats=*/true);
EXPECT_GT(recv_stats.nacks_sent, 0U);
AudioSendStream::Stats send_stats = send_stream()->GetStats();

View file

@ -29,9 +29,9 @@ TEST_F(NonSenderRttTest, NonSenderRttStats) {
return pipe_config;
}
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override {
ASSERT_EQ(receive_configs->size(), 1U);
(*receive_configs)[0].enable_non_sender_rtt = true;
AudioEndToEndTest::ModifyAudioConfigs(send_config, receive_configs);
@ -41,7 +41,7 @@ TEST_F(NonSenderRttTest, NonSenderRttStats) {
void PerformTest() override { SleepMs(kTestDurationMs); }
void OnStreamsStopped() override {
AudioReceiveStream::Stats recv_stats =
AudioReceiveStreamInterface::Stats recv_stats =
receive_stream()->GetStats(/*get_and_clear_legacy_stats=*/true);
EXPECT_GT(recv_stats.round_trip_time_measurements, 0);
ASSERT_TRUE(recv_stats.round_trip_time.has_value());

View file

@ -12,13 +12,13 @@
namespace webrtc {
AudioReceiveStream::Stats::Stats() = default;
AudioReceiveStream::Stats::~Stats() = default;
AudioReceiveStreamInterface::Stats::Stats() = default;
AudioReceiveStreamInterface::Stats::~Stats() = default;
AudioReceiveStream::Config::Config() = default;
AudioReceiveStream::Config::~Config() = default;
AudioReceiveStreamInterface::Config::Config() = default;
AudioReceiveStreamInterface::Config::~Config() = default;
AudioReceiveStream::Config::Rtp::Rtp() = default;
AudioReceiveStream::Config::Rtp::~Rtp() = default;
AudioReceiveStreamInterface::Config::Rtp::Rtp() = default;
AudioReceiveStreamInterface::Config::Rtp::~Rtp() = default;
} // namespace webrtc

View file

@ -27,7 +27,7 @@
namespace webrtc {
class AudioSinkInterface;
class AudioReceiveStream : public MediaReceiveStreamInterface {
class AudioReceiveStreamInterface : public MediaReceiveStreamInterface {
public:
struct Stats {
Stats();
@ -147,14 +147,14 @@ class AudioReceiveStream : public MediaReceiveStreamInterface {
// decrypted in whatever way the caller choses. This is not required by
// default.
// TODO(tommi): Remove this member variable from the struct. It's not
// a part of the AudioReceiveStream state but rather a pass through
// a part of the AudioReceiveStreamInterface state but rather a pass through
// variable.
rtc::scoped_refptr<webrtc::FrameDecryptorInterface> frame_decryptor;
// An optional frame transformer used by insertable streams to transform
// encoded frames.
// TODO(tommi): Remove this member variable from the struct. It's not
// a part of the AudioReceiveStream state but rather a pass through
// a part of the AudioReceiveStreamInterface state but rather a pass through
// variable.
rtc::scoped_refptr<webrtc::FrameTransformerInterface> frame_transformer;
};
@ -205,8 +205,14 @@ class AudioReceiveStream : public MediaReceiveStreamInterface {
virtual const std::vector<RtpExtension>& GetRtpExtensions() const = 0;
protected:
virtual ~AudioReceiveStream() {}
virtual ~AudioReceiveStreamInterface() {}
};
// TODO(bugs.webrtc.org/7484): Remove this once downstream usage of the
// deprecated name is gone.
using AudioReceiveStream [[deprecated("Use AudioReceiveStreamInterface")]] =
AudioReceiveStreamInterface;
} // namespace webrtc
#endif // CALL_AUDIO_RECEIVE_STREAM_H_

View file

@ -134,7 +134,7 @@ std::unique_ptr<rtclog::StreamConfig> CreateRtcLogStreamConfig(
}
std::unique_ptr<rtclog::StreamConfig> CreateRtcLogStreamConfig(
const AudioReceiveStream::Config& config) {
const AudioReceiveStreamInterface::Config& config) {
auto rtclog_config = std::make_unique<rtclog::StreamConfig>();
rtclog_config->remote_ssrc = config.rtp.remote_ssrc;
rtclog_config->local_ssrc = config.rtp.local_ssrc;
@ -217,10 +217,10 @@ class Call final : public webrtc::Call,
const webrtc::AudioSendStream::Config& config) override;
void DestroyAudioSendStream(webrtc::AudioSendStream* send_stream) override;
webrtc::AudioReceiveStream* CreateAudioReceiveStream(
const webrtc::AudioReceiveStream::Config& config) override;
webrtc::AudioReceiveStreamInterface* CreateAudioReceiveStream(
const webrtc::AudioReceiveStreamInterface::Config& config) override;
void DestroyAudioReceiveStream(
webrtc::AudioReceiveStream* receive_stream) override;
webrtc::AudioReceiveStreamInterface* receive_stream) override;
webrtc::VideoSendStream* CreateVideoSendStream(
webrtc::VideoSendStream::Config config,
@ -265,14 +265,14 @@ class Call final : public webrtc::Call,
void OnAudioTransportOverheadChanged(
int transport_overhead_per_packet) override;
void OnLocalSsrcUpdated(webrtc::AudioReceiveStream& stream,
void OnLocalSsrcUpdated(webrtc::AudioReceiveStreamInterface& stream,
uint32_t local_ssrc) override;
void OnLocalSsrcUpdated(VideoReceiveStreamInterface& stream,
uint32_t local_ssrc) override;
void OnLocalSsrcUpdated(FlexfecReceiveStream& stream,
uint32_t local_ssrc) override;
void OnUpdateSyncGroup(webrtc::AudioReceiveStream& stream,
void OnUpdateSyncGroup(webrtc::AudioReceiveStreamInterface& stream,
absl::string_view sync_group) override;
void OnSentPacket(const rtc::SentPacket& sent_packet) override;
@ -966,8 +966,8 @@ void Call::DestroyAudioSendStream(webrtc::AudioSendStream* send_stream) {
delete send_stream;
}
webrtc::AudioReceiveStream* Call::CreateAudioReceiveStream(
const webrtc::AudioReceiveStream::Config& config) {
webrtc::AudioReceiveStreamInterface* Call::CreateAudioReceiveStream(
const webrtc::AudioReceiveStreamInterface::Config& config) {
TRACE_EVENT0("webrtc", "Call::CreateAudioReceiveStream");
RTC_DCHECK_RUN_ON(worker_thread_);
EnsureStarted();
@ -1001,7 +1001,7 @@ webrtc::AudioReceiveStream* Call::CreateAudioReceiveStream(
}
void Call::DestroyAudioReceiveStream(
webrtc::AudioReceiveStream* receive_stream) {
webrtc::AudioReceiveStreamInterface* receive_stream) {
TRACE_EVENT0("webrtc", "Call::DestroyAudioReceiveStream");
RTC_DCHECK_RUN_ON(worker_thread_);
RTC_DCHECK(receive_stream != nullptr);
@ -1380,7 +1380,7 @@ void Call::UpdateAggregateNetworkState() {
transport_send_->OnNetworkAvailability(aggregate_network_up);
}
void Call::OnLocalSsrcUpdated(webrtc::AudioReceiveStream& stream,
void Call::OnLocalSsrcUpdated(webrtc::AudioReceiveStreamInterface& stream,
uint32_t local_ssrc) {
RTC_DCHECK_RUN_ON(worker_thread_);
webrtc::AudioReceiveStreamImpl& receive_stream =
@ -1404,7 +1404,7 @@ void Call::OnLocalSsrcUpdated(FlexfecReceiveStream& stream,
static_cast<FlexfecReceiveStreamImpl&>(stream).SetLocalSsrc(local_ssrc);
}
void Call::OnUpdateSyncGroup(webrtc::AudioReceiveStream& stream,
void Call::OnUpdateSyncGroup(webrtc::AudioReceiveStreamInterface& stream,
absl::string_view sync_group) {
RTC_DCHECK_RUN_ON(worker_thread_);
webrtc::AudioReceiveStreamImpl& receive_stream =

View file

@ -105,10 +105,10 @@ class Call {
virtual void DestroyAudioSendStream(AudioSendStream* send_stream) = 0;
virtual AudioReceiveStream* CreateAudioReceiveStream(
const AudioReceiveStream::Config& config) = 0;
virtual AudioReceiveStreamInterface* CreateAudioReceiveStream(
const AudioReceiveStreamInterface::Config& config) = 0;
virtual void DestroyAudioReceiveStream(
AudioReceiveStream* receive_stream) = 0;
AudioReceiveStreamInterface* receive_stream) = 0;
virtual VideoSendStream* CreateVideoSendStream(
VideoSendStream::Config config,
@ -164,14 +164,14 @@ class Call {
// Called when a receive stream's local ssrc has changed and association with
// send streams needs to be updated.
virtual void OnLocalSsrcUpdated(AudioReceiveStream& stream,
virtual void OnLocalSsrcUpdated(AudioReceiveStreamInterface& stream,
uint32_t local_ssrc) = 0;
virtual void OnLocalSsrcUpdated(VideoReceiveStreamInterface& stream,
uint32_t local_ssrc) = 0;
virtual void OnLocalSsrcUpdated(FlexfecReceiveStream& stream,
uint32_t local_ssrc) = 0;
virtual void OnUpdateSyncGroup(AudioReceiveStream& stream,
virtual void OnUpdateSyncGroup(AudioReceiveStreamInterface& stream,
absl::string_view sync_group) = 0;
virtual void OnSentPacket(const rtc::SentPacket& sent_packet) = 0;

View file

@ -190,7 +190,7 @@ void CallPerfTest::TestAudioVideoSync(FecMode fec,
std::unique_ptr<test::PacketTransport> receive_transport;
AudioSendStream* audio_send_stream;
AudioReceiveStream* audio_receive_stream;
AudioReceiveStreamInterface* audio_receive_stream;
std::unique_ptr<DriftingClock> drifting_clock;
SendTask(RTC_FROM_HERE, task_queue(), [&]() {
@ -273,7 +273,7 @@ void CallPerfTest::TestAudioVideoSync(FecMode fec,
video_receive_configs_[0].renderer = observer.get();
video_receive_configs_[0].sync_group = kSyncGroup;
AudioReceiveStream::Config audio_recv_config;
AudioReceiveStreamInterface::Config audio_recv_config;
audio_recv_config.rtp.remote_ssrc = kAudioSendSsrc;
audio_recv_config.rtp.local_ssrc = kAudioRecvSsrc;
audio_recv_config.rtcp_send_transport = receive_transport.get();
@ -1021,9 +1021,9 @@ void CallPerfTest::TestMinAudioVideoBitrate(int test_bitrate_from,
size_t GetNumAudioStreams() const override { return 1; }
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override {
send_config->send_codec_spec->target_bitrate_bps =
absl::optional<int>(kOpusBitrateFbBps);
}

View file

@ -114,13 +114,14 @@ TEST(CallTest, CreateDestroy_AudioSendStream) {
TEST(CallTest, CreateDestroy_AudioReceiveStream) {
for (bool use_null_audio_processing : {false, true}) {
CallHelper call(use_null_audio_processing);
AudioReceiveStream::Config config;
AudioReceiveStreamInterface::Config config;
MockTransport rtcp_send_transport;
config.rtp.remote_ssrc = 42;
config.rtcp_send_transport = &rtcp_send_transport;
config.decoder_factory =
rtc::make_ref_counted<webrtc::MockAudioDecoderFactory>();
AudioReceiveStream* stream = call->CreateAudioReceiveStream(config);
AudioReceiveStreamInterface* stream =
call->CreateAudioReceiveStream(config);
EXPECT_NE(stream, nullptr);
call->DestroyAudioReceiveStream(stream);
}
@ -154,16 +155,17 @@ TEST(CallTest, CreateDestroy_AudioSendStreams) {
TEST(CallTest, CreateDestroy_AudioReceiveStreams) {
for (bool use_null_audio_processing : {false, true}) {
CallHelper call(use_null_audio_processing);
AudioReceiveStream::Config config;
AudioReceiveStreamInterface::Config config;
MockTransport rtcp_send_transport;
config.rtcp_send_transport = &rtcp_send_transport;
config.decoder_factory =
rtc::make_ref_counted<webrtc::MockAudioDecoderFactory>();
std::list<AudioReceiveStream*> streams;
std::list<AudioReceiveStreamInterface*> streams;
for (int i = 0; i < 2; ++i) {
for (uint32_t ssrc = 0; ssrc < 1234567; ssrc += 34567) {
config.rtp.remote_ssrc = ssrc;
AudioReceiveStream* stream = call->CreateAudioReceiveStream(config);
AudioReceiveStreamInterface* stream =
call->CreateAudioReceiveStream(config);
EXPECT_NE(stream, nullptr);
if (ssrc & 1) {
streams.push_back(stream);
@ -182,14 +184,14 @@ TEST(CallTest, CreateDestroy_AudioReceiveStreams) {
TEST(CallTest, CreateDestroy_AssociateAudioSendReceiveStreams_RecvFirst) {
for (bool use_null_audio_processing : {false, true}) {
CallHelper call(use_null_audio_processing);
AudioReceiveStream::Config recv_config;
AudioReceiveStreamInterface::Config recv_config;
MockTransport rtcp_send_transport;
recv_config.rtp.remote_ssrc = 42;
recv_config.rtp.local_ssrc = 777;
recv_config.rtcp_send_transport = &rtcp_send_transport;
recv_config.decoder_factory =
rtc::make_ref_counted<webrtc::MockAudioDecoderFactory>();
AudioReceiveStream* recv_stream =
AudioReceiveStreamInterface* recv_stream =
call->CreateAudioReceiveStream(recv_config);
EXPECT_NE(recv_stream, nullptr);
@ -221,14 +223,14 @@ TEST(CallTest, CreateDestroy_AssociateAudioSendReceiveStreams_SendFirst) {
AudioSendStream* send_stream = call->CreateAudioSendStream(send_config);
EXPECT_NE(send_stream, nullptr);
AudioReceiveStream::Config recv_config;
AudioReceiveStreamInterface::Config recv_config;
MockTransport rtcp_send_transport;
recv_config.rtp.remote_ssrc = 42;
recv_config.rtp.local_ssrc = 777;
recv_config.rtcp_send_transport = &rtcp_send_transport;
recv_config.decoder_factory =
rtc::make_ref_counted<webrtc::MockAudioDecoderFactory>();
AudioReceiveStream* recv_stream =
AudioReceiveStreamInterface* recv_stream =
call->CreateAudioReceiveStream(recv_config);
EXPECT_NE(recv_stream, nullptr);

View file

@ -187,13 +187,13 @@ void DegradedCall::DestroyAudioSendStream(AudioSendStream* send_stream) {
audio_send_transport_adapters_.erase(send_stream);
}
AudioReceiveStream* DegradedCall::CreateAudioReceiveStream(
const AudioReceiveStream::Config& config) {
AudioReceiveStreamInterface* DegradedCall::CreateAudioReceiveStream(
const AudioReceiveStreamInterface::Config& config) {
return call_->CreateAudioReceiveStream(config);
}
void DegradedCall::DestroyAudioReceiveStream(
AudioReceiveStream* receive_stream) {
AudioReceiveStreamInterface* receive_stream) {
call_->DestroyAudioReceiveStream(receive_stream);
}
@ -300,7 +300,7 @@ void DegradedCall::OnAudioTransportOverheadChanged(
call_->OnAudioTransportOverheadChanged(transport_overhead_per_packet);
}
void DegradedCall::OnLocalSsrcUpdated(AudioReceiveStream& stream,
void DegradedCall::OnLocalSsrcUpdated(AudioReceiveStreamInterface& stream,
uint32_t local_ssrc) {
call_->OnLocalSsrcUpdated(stream, local_ssrc);
}
@ -315,7 +315,7 @@ void DegradedCall::OnLocalSsrcUpdated(FlexfecReceiveStream& stream,
call_->OnLocalSsrcUpdated(stream, local_ssrc);
}
void DegradedCall::OnUpdateSyncGroup(AudioReceiveStream& stream,
void DegradedCall::OnUpdateSyncGroup(AudioReceiveStreamInterface& stream,
absl::string_view sync_group) {
call_->OnUpdateSyncGroup(stream, sync_group);
}

View file

@ -61,9 +61,10 @@ class DegradedCall : public Call, private PacketReceiver {
const AudioSendStream::Config& config) override;
void DestroyAudioSendStream(AudioSendStream* send_stream) override;
AudioReceiveStream* CreateAudioReceiveStream(
const AudioReceiveStream::Config& config) override;
void DestroyAudioReceiveStream(AudioReceiveStream* receive_stream) override;
AudioReceiveStreamInterface* CreateAudioReceiveStream(
const AudioReceiveStreamInterface::Config& config) override;
void DestroyAudioReceiveStream(
AudioReceiveStreamInterface* receive_stream) override;
VideoSendStream* CreateVideoSendStream(
VideoSendStream::Config config,
@ -100,13 +101,13 @@ class DegradedCall : public Call, private PacketReceiver {
void SignalChannelNetworkState(MediaType media, NetworkState state) override;
void OnAudioTransportOverheadChanged(
int transport_overhead_per_packet) override;
void OnLocalSsrcUpdated(AudioReceiveStream& stream,
void OnLocalSsrcUpdated(AudioReceiveStreamInterface& stream,
uint32_t local_ssrc) override;
void OnLocalSsrcUpdated(VideoReceiveStreamInterface& stream,
uint32_t local_ssrc) override;
void OnLocalSsrcUpdated(FlexfecReceiveStream& stream,
uint32_t local_ssrc) override;
void OnUpdateSyncGroup(AudioReceiveStream& stream,
void OnUpdateSyncGroup(AudioReceiveStreamInterface& stream,
absl::string_view sync_group) override;
void OnSentPacket(const rtc::SentPacket& sent_packet) override;

View file

@ -256,7 +256,7 @@ void RampUpTester::ModifyVideoConfigs(
void RampUpTester::ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) {
std::vector<AudioReceiveStreamInterface::Config>* receive_configs) {
if (num_audio_streams_ == 0)
return;
@ -278,7 +278,7 @@ void RampUpTester::ModifyAudioConfigs(
extension_type_.c_str(), kTransportSequenceNumberExtensionId));
}
for (AudioReceiveStream::Config& recv_config : *receive_configs) {
for (AudioReceiveStreamInterface::Config& recv_config : *receive_configs) {
recv_config.rtp.transport_cc = transport_cc;
recv_config.rtp.extensions = send_config->rtp.extensions;
recv_config.rtp.remote_ssrc = send_config->rtp.ssrc;

View file

@ -100,9 +100,9 @@ class RampUpTester : public test::EndToEndTest {
VideoSendStream::Config* send_config,
std::vector<VideoReceiveStreamInterface::Config>* receive_configs,
VideoEncoderConfig* encoder_config) override;
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override;
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override;
void ModifyFlexfecConfigs(
std::vector<FlexfecReceiveStream::Config>* receive_configs) override;
void OnCallsCreated(Call* sender_call, Call* receiver_call) override;

View file

@ -9,7 +9,7 @@
*/
// Syncable is used by RtpStreamsSynchronizer in VideoReceiveStreamInterface,
// and implemented by AudioReceiveStream.
// and implemented by AudioReceiveStreamInterface.
#ifndef CALL_SYNCABLE_H_
#define CALL_SYNCABLE_H_

View file

@ -74,16 +74,16 @@ webrtc::AudioSendStream::Stats FakeAudioSendStream::GetStats(
FakeAudioReceiveStream::FakeAudioReceiveStream(
int id,
const webrtc::AudioReceiveStream::Config& config)
const webrtc::AudioReceiveStreamInterface::Config& config)
: id_(id), config_(config) {}
const webrtc::AudioReceiveStream::Config& FakeAudioReceiveStream::GetConfig()
const {
const webrtc::AudioReceiveStreamInterface::Config&
FakeAudioReceiveStream::GetConfig() const {
return config_;
}
void FakeAudioReceiveStream::SetStats(
const webrtc::AudioReceiveStream::Stats& stats) {
const webrtc::AudioReceiveStreamInterface::Stats& stats) {
stats_ = stats;
}
@ -141,7 +141,7 @@ webrtc::RtpHeaderExtensionMap FakeAudioReceiveStream::GetRtpExtensionMap()
return webrtc::RtpHeaderExtensionMap(config_.rtp.extensions);
}
webrtc::AudioReceiveStream::Stats FakeAudioReceiveStream::GetStats(
webrtc::AudioReceiveStreamInterface::Stats FakeAudioReceiveStream::GetStats(
bool get_and_clear_legacy_stats) const {
return stats_;
}
@ -543,8 +543,8 @@ void FakeCall::DestroyAudioSendStream(webrtc::AudioSendStream* send_stream) {
}
}
webrtc::AudioReceiveStream* FakeCall::CreateAudioReceiveStream(
const webrtc::AudioReceiveStream::Config& config) {
webrtc::AudioReceiveStreamInterface* FakeCall::CreateAudioReceiveStream(
const webrtc::AudioReceiveStreamInterface::Config& config) {
audio_receive_streams_.push_back(
new FakeAudioReceiveStream(next_stream_id_++, config));
++num_created_receive_streams_;
@ -552,7 +552,7 @@ webrtc::AudioReceiveStream* FakeCall::CreateAudioReceiveStream(
}
void FakeCall::DestroyAudioReceiveStream(
webrtc::AudioReceiveStream* receive_stream) {
webrtc::AudioReceiveStreamInterface* receive_stream) {
auto it = absl::c_find(audio_receive_streams_,
static_cast<FakeAudioReceiveStream*>(receive_stream));
if (it == audio_receive_streams_.end()) {
@ -709,7 +709,7 @@ void FakeCall::SignalChannelNetworkState(webrtc::MediaType media,
void FakeCall::OnAudioTransportOverheadChanged(
int transport_overhead_per_packet) {}
void FakeCall::OnLocalSsrcUpdated(webrtc::AudioReceiveStream& stream,
void FakeCall::OnLocalSsrcUpdated(webrtc::AudioReceiveStreamInterface& stream,
uint32_t local_ssrc) {
auto& fake_stream = static_cast<FakeAudioReceiveStream&>(stream);
fake_stream.SetLocalSsrc(local_ssrc);
@ -727,7 +727,7 @@ void FakeCall::OnLocalSsrcUpdated(webrtc::FlexfecReceiveStream& stream,
fake_stream.SetLocalSsrc(local_ssrc);
}
void FakeCall::OnUpdateSyncGroup(webrtc::AudioReceiveStream& stream,
void FakeCall::OnUpdateSyncGroup(webrtc::AudioReceiveStreamInterface& stream,
absl::string_view sync_group) {
auto& fake_stream = static_cast<FakeAudioReceiveStream&>(stream);
fake_stream.SetSyncGroup(sync_group);

View file

@ -13,7 +13,7 @@
//
// webrtc::Call
// webrtc::AudioSendStream
// webrtc::AudioReceiveStream
// webrtc::AudioReceiveStreamInterface
// webrtc::VideoSendStream
// webrtc::VideoReceiveStreamInterface
@ -83,15 +83,16 @@ class FakeAudioSendStream final : public webrtc::AudioSendStream {
bool muted_ = false;
};
class FakeAudioReceiveStream final : public webrtc::AudioReceiveStream {
class FakeAudioReceiveStream final
: public webrtc::AudioReceiveStreamInterface {
public:
explicit FakeAudioReceiveStream(
int id,
const webrtc::AudioReceiveStream::Config& config);
const webrtc::AudioReceiveStreamInterface::Config& config);
int id() const { return id_; }
const webrtc::AudioReceiveStream::Config& GetConfig() const;
void SetStats(const webrtc::AudioReceiveStream::Stats& stats);
const webrtc::AudioReceiveStreamInterface::Config& GetConfig() const;
void SetStats(const webrtc::AudioReceiveStreamInterface::Stats& stats);
int received_packets() const { return received_packets_; }
bool VerifyLastPacket(const uint8_t* data, size_t length) const;
const webrtc::AudioSinkInterface* sink() const { return sink_; }
@ -130,7 +131,7 @@ class FakeAudioReceiveStream final : public webrtc::AudioReceiveStream {
const std::vector<webrtc::RtpExtension>& GetRtpExtensions() const override;
webrtc::RtpHeaderExtensionMap GetRtpExtensionMap() const override;
webrtc::AudioReceiveStream::Stats GetStats(
webrtc::AudioReceiveStreamInterface::Stats GetStats(
bool get_and_clear_legacy_stats) const override;
void SetSink(webrtc::AudioSinkInterface* sink) override;
void SetGain(float gain) override;
@ -146,8 +147,8 @@ class FakeAudioReceiveStream final : public webrtc::AudioReceiveStream {
}
int id_ = -1;
webrtc::AudioReceiveStream::Config config_;
webrtc::AudioReceiveStream::Stats stats_;
webrtc::AudioReceiveStreamInterface::Config config_;
webrtc::AudioReceiveStreamInterface::Stats stats_;
int received_packets_ = 0;
webrtc::AudioSinkInterface* sink_ = nullptr;
float gain_ = 1.0f;
@ -377,10 +378,10 @@ class FakeCall final : public webrtc::Call, public webrtc::PacketReceiver {
const webrtc::AudioSendStream::Config& config) override;
void DestroyAudioSendStream(webrtc::AudioSendStream* send_stream) override;
webrtc::AudioReceiveStream* CreateAudioReceiveStream(
const webrtc::AudioReceiveStream::Config& config) override;
webrtc::AudioReceiveStreamInterface* CreateAudioReceiveStream(
const webrtc::AudioReceiveStreamInterface::Config& config) override;
void DestroyAudioReceiveStream(
webrtc::AudioReceiveStream* receive_stream) override;
webrtc::AudioReceiveStreamInterface* receive_stream) override;
webrtc::VideoSendStream* CreateVideoSendStream(
webrtc::VideoSendStream::Config config,
@ -420,13 +421,13 @@ class FakeCall final : public webrtc::Call, public webrtc::PacketReceiver {
webrtc::NetworkState state) override;
void OnAudioTransportOverheadChanged(
int transport_overhead_per_packet) override;
void OnLocalSsrcUpdated(webrtc::AudioReceiveStream& stream,
void OnLocalSsrcUpdated(webrtc::AudioReceiveStreamInterface& stream,
uint32_t local_ssrc) override;
void OnLocalSsrcUpdated(webrtc::VideoReceiveStreamInterface& stream,
uint32_t local_ssrc) override;
void OnLocalSsrcUpdated(webrtc::FlexfecReceiveStream& stream,
uint32_t local_ssrc) override;
void OnUpdateSyncGroup(webrtc::AudioReceiveStream& stream,
void OnUpdateSyncGroup(webrtc::AudioReceiveStreamInterface& stream,
absl::string_view sync_group) override;
void OnSentPacket(const rtc::SentPacket& sent_packet) override;

View file

@ -245,7 +245,7 @@ struct AdaptivePtimeConfig {
// TODO(tommi): Constructing a receive stream could be made simpler.
// Move some of this boiler plate code into the config structs themselves.
webrtc::AudioReceiveStream::Config BuildReceiveStreamConfig(
webrtc::AudioReceiveStreamInterface::Config BuildReceiveStreamConfig(
uint32_t remote_ssrc,
uint32_t local_ssrc,
bool use_transport_cc,
@ -263,7 +263,7 @@ webrtc::AudioReceiveStream::Config BuildReceiveStreamConfig(
rtc::scoped_refptr<webrtc::FrameDecryptorInterface> frame_decryptor,
const webrtc::CryptoOptions& crypto_options,
rtc::scoped_refptr<webrtc::FrameTransformerInterface> frame_transformer) {
webrtc::AudioReceiveStream::Config config;
webrtc::AudioReceiveStreamInterface::Config config;
config.rtp.remote_ssrc = remote_ssrc;
config.rtp.local_ssrc = local_ssrc;
config.rtp.transport_cc = use_transport_cc;
@ -1151,7 +1151,7 @@ class WebRtcVoiceMediaChannel::WebRtcAudioSendStream
class WebRtcVoiceMediaChannel::WebRtcAudioReceiveStream {
public:
WebRtcAudioReceiveStream(webrtc::AudioReceiveStream::Config config,
WebRtcAudioReceiveStream(webrtc::AudioReceiveStreamInterface::Config config,
webrtc::Call* call)
: call_(call), stream_(call_->CreateAudioReceiveStream(config)) {
RTC_DCHECK(call);
@ -1167,7 +1167,7 @@ class WebRtcVoiceMediaChannel::WebRtcAudioReceiveStream {
call_->DestroyAudioReceiveStream(stream_);
}
webrtc::AudioReceiveStream& stream() {
webrtc::AudioReceiveStreamInterface& stream() {
RTC_DCHECK(stream_);
return *stream_;
}
@ -1200,7 +1200,7 @@ class WebRtcVoiceMediaChannel::WebRtcAudioReceiveStream {
stream_->SetDecoderMap(decoder_map);
}
webrtc::AudioReceiveStream::Stats GetStats(
webrtc::AudioReceiveStreamInterface::Stats GetStats(
bool get_and_clear_legacy_stats) const {
RTC_DCHECK_RUN_ON(&worker_thread_checker_);
return stream_->GetStats(get_and_clear_legacy_stats);
@ -1234,7 +1234,7 @@ class WebRtcVoiceMediaChannel::WebRtcAudioReceiveStream {
return true;
RTC_LOG(LS_ERROR) << "Failed to SetBaseMinimumPlayoutDelayMs"
" on AudioReceiveStream on SSRC="
" on AudioReceiveStreamInterface on SSRC="
<< stream_->remote_ssrc()
<< " with delay_ms=" << delay_ms;
return false;
@ -1267,7 +1267,7 @@ class WebRtcVoiceMediaChannel::WebRtcAudioReceiveStream {
private:
webrtc::SequenceChecker worker_thread_checker_;
webrtc::Call* call_ = nullptr;
webrtc::AudioReceiveStream* const stream_ = nullptr;
webrtc::AudioReceiveStreamInterface* const stream_ = nullptr;
std::unique_ptr<webrtc::AudioSinkInterface> raw_audio_sink_
RTC_GUARDED_BY(worker_thread_checker_);
};
@ -2341,7 +2341,7 @@ bool WebRtcVoiceMediaChannel::GetStats(VoiceMediaInfo* info,
continue;
}
}
webrtc::AudioReceiveStream::Stats stats =
webrtc::AudioReceiveStreamInterface::Stats stats =
stream.second->GetStats(get_and_clear_legacy_stats);
VoiceReceiverInfo rinfo;
rinfo.add_ssrc(stats.remote_ssrc);

View file

@ -294,7 +294,8 @@ class WebRtcVoiceEngineTestFake : public ::testing::TestWithParam<bool> {
return GetSendStream(ssrc).GetConfig();
}
const webrtc::AudioReceiveStream::Config& GetRecvStreamConfig(uint32_t ssrc) {
const webrtc::AudioReceiveStreamInterface::Config& GetRecvStreamConfig(
uint32_t ssrc) {
return GetRecvStream(ssrc).GetConfig();
}
@ -656,8 +657,9 @@ class WebRtcVoiceEngineTestFake : public ::testing::TestWithParam<bool> {
stats.ana_statistics.uplink_packet_loss_fraction);
}
webrtc::AudioReceiveStream::Stats GetAudioReceiveStreamStats() const {
webrtc::AudioReceiveStream::Stats stats;
webrtc::AudioReceiveStreamInterface::Stats GetAudioReceiveStreamStats()
const {
webrtc::AudioReceiveStreamInterface::Stats stats;
stats.remote_ssrc = 123;
stats.payload_bytes_rcvd = 456;
stats.header_and_padding_bytes_rcvd = 67;
@ -824,7 +826,7 @@ TEST_P(WebRtcVoiceEngineTestFake, CreateSendStream) {
TEST_P(WebRtcVoiceEngineTestFake, CreateRecvStream) {
EXPECT_TRUE(SetupChannel());
EXPECT_TRUE(AddRecvStream(kSsrcX));
const webrtc::AudioReceiveStream::Config& config =
const webrtc::AudioReceiveStreamInterface::Config& config =
GetRecvStreamConfig(kSsrcX);
EXPECT_EQ(kSsrcX, config.rtp.remote_ssrc);
EXPECT_EQ(0xFA17FA17, config.rtp.local_ssrc);
@ -3578,7 +3580,8 @@ TEST_P(WebRtcVoiceEngineTestFake, PreservePlayoutWhenRecreateRecvStream) {
channel_->SetPlayout(true);
EXPECT_TRUE(GetRecvStream(kSsrcX).started());
// Changing RTP header extensions will recreate the AudioReceiveStream.
// Changing RTP header extensions will recreate the
// AudioReceiveStreamInterface.
cricket::AudioRecvParameters parameters;
parameters.extensions.push_back(
webrtc::RtpExtension(webrtc::RtpExtension::kAudioLevelUri, 12));

View file

@ -420,12 +420,12 @@ void CallTest::CreateMatchingAudioConfigs(Transport* transport,
audio_send_config_, audio_decoder_factory_, transport, sync_group));
}
AudioReceiveStream::Config CallTest::CreateMatchingAudioConfig(
AudioReceiveStreamInterface::Config CallTest::CreateMatchingAudioConfig(
const AudioSendStream::Config& send_config,
rtc::scoped_refptr<AudioDecoderFactory> audio_decoder_factory,
Transport* transport,
std::string sync_group) {
AudioReceiveStream::Config audio_config;
AudioReceiveStreamInterface::Config audio_config;
audio_config.rtp.local_ssrc = kReceiverLocalAudioSsrc;
audio_config.rtcp_send_transport = transport;
audio_config.rtp.remote_ssrc = send_config.rtp.ssrc;
@ -586,7 +586,7 @@ void CallTest::Start() {
if (audio_send_stream_) {
audio_send_stream_->Start();
}
for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_)
for (AudioReceiveStreamInterface* audio_recv_stream : audio_receive_streams_)
audio_recv_stream->Start();
}
@ -598,7 +598,7 @@ void CallTest::StartVideoStreams() {
}
void CallTest::Stop() {
for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_)
for (AudioReceiveStreamInterface* audio_recv_stream : audio_receive_streams_)
audio_recv_stream->Stop();
if (audio_send_stream_) {
audio_send_stream_->Stop();
@ -617,7 +617,7 @@ void CallTest::DestroyStreams() {
if (audio_send_stream_)
sender_call_->DestroyAudioSendStream(audio_send_stream_);
audio_send_stream_ = nullptr;
for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_)
for (AudioReceiveStreamInterface* audio_recv_stream : audio_receive_streams_)
receiver_call_->DestroyAudioReceiveStream(audio_recv_stream);
DestroyVideoSendStreams();
@ -798,11 +798,11 @@ void BaseTest::OnVideoStreamsCreated(
void BaseTest::ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) {}
std::vector<AudioReceiveStreamInterface::Config>* receive_configs) {}
void BaseTest::OnAudioStreamsCreated(
AudioSendStream* send_stream,
const std::vector<AudioReceiveStream*>& receive_streams) {}
const std::vector<AudioReceiveStreamInterface*>& receive_streams) {}
void BaseTest::ModifyFlexfecConfigs(
std::vector<FlexfecReceiveStream::Config>* receive_configs) {}

View file

@ -129,7 +129,7 @@ class CallTest : public ::testing::Test, public RtpPacketSinkInterface {
void CreateMatchingAudioAndFecConfigs(Transport* rtcp_send_transport);
void CreateMatchingAudioConfigs(Transport* transport, std::string sync_group);
static AudioReceiveStream::Config CreateMatchingAudioConfig(
static AudioReceiveStreamInterface::Config CreateMatchingAudioConfig(
const AudioSendStream::Config& send_config,
rtc::scoped_refptr<AudioDecoderFactory> audio_decoder_factory,
Transport* transport,
@ -198,8 +198,8 @@ class CallTest : public ::testing::Test, public RtpPacketSinkInterface {
std::unique_ptr<PacketTransport> receive_transport_;
std::vector<VideoReceiveStreamInterface::Config> video_receive_configs_;
std::vector<VideoReceiveStreamInterface*> video_receive_streams_;
std::vector<AudioReceiveStream::Config> audio_receive_configs_;
std::vector<AudioReceiveStream*> audio_receive_streams_;
std::vector<AudioReceiveStreamInterface::Config> audio_receive_configs_;
std::vector<AudioReceiveStreamInterface*> audio_receive_streams_;
std::vector<FlexfecReceiveStream::Config> flexfec_receive_configs_;
std::vector<FlexfecReceiveStream*> flexfec_receive_streams_;
@ -289,10 +289,10 @@ class BaseTest : public RtpRtcpObserver {
virtual void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs);
std::vector<AudioReceiveStreamInterface::Config>* receive_configs);
virtual void OnAudioStreamsCreated(
AudioSendStream* send_stream,
const std::vector<AudioReceiveStream*>& receive_streams);
const std::vector<AudioReceiveStreamInterface*>& receive_streams);
virtual void ModifyFlexfecConfigs(
std::vector<FlexfecReceiveStream::Config>* receive_configs);

View file

@ -175,7 +175,7 @@ ReceiveAudioStream::ReceiveAudioStream(
rtc::scoped_refptr<AudioDecoderFactory> decoder_factory,
Transport* feedback_transport)
: receiver_(receiver), config_(config) {
AudioReceiveStream::Config recv_config;
AudioReceiveStreamInterface::Config recv_config;
recv_config.rtp.local_ssrc = receiver_->GetNextAudioLocalSsrc();
recv_config.rtcp_send_transport = feedback_transport;
recv_config.rtp.remote_ssrc = send_stream->ssrc_;
@ -209,8 +209,8 @@ void ReceiveAudioStream::Stop() {
receiver_->SendTask([&] { receive_stream_->Stop(); });
}
AudioReceiveStream::Stats ReceiveAudioStream::GetStats() const {
AudioReceiveStream::Stats result;
AudioReceiveStreamInterface::Stats ReceiveAudioStream::GetStats() const {
AudioReceiveStreamInterface::Stats result;
receiver_->SendTask([&] {
result = receive_stream_->GetStats(/*get_and_clear_legacy_stats=*/true);
});

View file

@ -59,7 +59,7 @@ class ReceiveAudioStream {
void Start();
void Stop();
AudioReceiveStream::Stats GetStats() const;
AudioReceiveStreamInterface::Stats GetStats() const;
private:
friend class Scenario;
@ -69,7 +69,7 @@ class ReceiveAudioStream {
SendAudioStream* send_stream,
rtc::scoped_refptr<AudioDecoderFactory> decoder_factory,
Transport* feedback_transport);
AudioReceiveStream* receive_stream_ = nullptr;
AudioReceiveStreamInterface* receive_stream_ = nullptr;
CallClient* const receiver_;
const AudioStreamConfig config_;
};

View file

@ -142,7 +142,8 @@ void CallStatsCollector::AddStats(Call::Stats sample) {
stats_.memory_usage.AddSample(rtc::GetProcessResidentSizeBytes());
}
void AudioReceiveStatsCollector::AddStats(AudioReceiveStream::Stats sample) {
void AudioReceiveStatsCollector::AddStats(
AudioReceiveStreamInterface::Stats sample) {
stats_.expand_rate.AddSample(sample.expand_rate);
stats_.accelerate_rate.AddSample(sample.accelerate_rate);
stats_.jitter_buffer.AddSampleMs(sample.jitter_buffer_ms);

View file

@ -72,7 +72,7 @@ class CallStatsCollector {
};
class AudioReceiveStatsCollector {
public:
void AddStats(AudioReceiveStream::Stats sample);
void AddStats(AudioReceiveStreamInterface::Stats sample);
CollectedAudioReceiveStats& stats() { return stats_; }
private:

View file

@ -38,7 +38,7 @@ void CreateAnalyzedStream(Scenario* s,
caller->SendTask([&]() { send_stats = video->send()->GetStats(); });
collectors->video_send.AddStats(send_stats, s->Now());
AudioReceiveStream::Stats receive_stats;
AudioReceiveStreamInterface::Stats receive_stats;
caller->SendTask([&]() { receive_stats = audio->receive()->GetStats(); });
collectors->audio_receive.AddStats(receive_stats);

View file

@ -179,9 +179,9 @@ TEST_F(RetransmissionEndToEndTest, ReceivesNackAndRetransmitsAudio) {
return SEND_PACKET;
}
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override {
(*receive_configs)[0].rtp.nack.rtp_history_ms = kNackRtpHistoryMs;
local_ssrc_ = (*receive_configs)[0].rtp.local_ssrc;
remote_ssrc_ = (*receive_configs)[0].rtp.remote_ssrc;

View file

@ -297,9 +297,9 @@ class TransportFeedbackTester : public test::EndToEndTest {
(*receive_configs)[0].rtp.transport_cc = feedback_enabled_;
}
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override {
send_config->rtp.extensions.clear();
send_config->rtp.extensions.push_back(
RtpExtension(RtpExtension::kTransportSequenceNumberUri,
@ -448,9 +448,9 @@ TEST_F(TransportFeedbackEndToEndTest, TransportSeqNumOnAudioAndVideo) {
size_t GetNumVideoStreams() const override { return 1; }
size_t GetNumAudioStreams() const override { return 1; }
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override {
send_config->rtp.extensions.clear();
send_config->rtp.extensions.push_back(
RtpExtension(RtpExtension::kTransportSequenceNumberUri,

View file

@ -194,7 +194,8 @@ void VideoAnalyzer::SetReceiveStream(VideoReceiveStreamInterface* stream) {
receive_stream_ = stream;
}
void VideoAnalyzer::SetAudioReceiveStream(AudioReceiveStream* recv_stream) {
void VideoAnalyzer::SetAudioReceiveStream(
AudioReceiveStreamInterface* recv_stream) {
MutexLock lock(&lock_);
RTC_CHECK(!audio_receive_stream_);
audio_receive_stream_ = recv_stream;
@ -526,7 +527,7 @@ void VideoAnalyzer::PollStats() {
}
if (audio_receive_stream_ != nullptr) {
AudioReceiveStream::Stats receive_stats =
AudioReceiveStreamInterface::Stats receive_stats =
audio_receive_stream_->GetStats(/*get_and_clear_legacy_stats=*/true);
audio_expand_rate_.AddSample(receive_stats.expand_rate);
audio_accelerate_rate_.AddSample(receive_stats.accelerate_rate);

View file

@ -62,7 +62,7 @@ class VideoAnalyzer : public PacketReceiver,
void SetCall(Call* call);
void SetSendStream(VideoSendStream* stream);
void SetReceiveStream(VideoReceiveStreamInterface* stream);
void SetAudioReceiveStream(AudioReceiveStream* recv_stream);
void SetAudioReceiveStream(AudioReceiveStreamInterface* recv_stream);
rtc::VideoSinkInterface<VideoFrame>* InputInterface();
rtc::VideoSourceInterface<VideoFrame>* OutputInterface();
@ -222,7 +222,7 @@ class VideoAnalyzer : public PacketReceiver,
Call* call_;
VideoSendStream* send_stream_;
VideoReceiveStreamInterface* receive_stream_;
AudioReceiveStream* audio_receive_stream_;
AudioReceiveStreamInterface* audio_receive_stream_;
CapturedFrameForwarder captured_frame_forwarder_;
const std::string test_label_;
FILE* const graph_data_output_file_;

View file

@ -1145,7 +1145,7 @@ void VideoQualityTest::CreateCapturers() {
void VideoQualityTest::StartAudioStreams() {
audio_send_stream_->Start();
for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_)
for (AudioReceiveStreamInterface* audio_recv_stream : audio_receive_streams_)
audio_recv_stream->Start();
}

View file

@ -1605,9 +1605,9 @@ TEST_F(VideoSendStreamTest, ChangingNetworkRoute) {
(*receive_configs)[0].rtp.transport_cc = true;
}
void ModifyAudioConfigs(
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
void ModifyAudioConfigs(AudioSendStream::Config* send_config,
std::vector<AudioReceiveStreamInterface::Config>*
receive_configs) override {
RTC_DCHECK_RUN_ON(&task_queue_thread_);
send_config->rtp.extensions.clear();
send_config->rtp.extensions.push_back(RtpExtension(