Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Unified Diff: webrtc/audio/audio_send_stream_unittest.cc

Issue 2685673003: Define RtpTransportControllerSendInterface. (Closed)
Patch Set: Fix rebasing error. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/audio/audio_send_stream_unittest.cc
diff --git a/webrtc/audio/audio_send_stream_unittest.cc b/webrtc/audio/audio_send_stream_unittest.cc
index 9ae0a879990db1e859426b389783691ac67fa0e0..0a8b4b8a302f46c8f293abeec66ff6842c8c943c 100644
--- a/webrtc/audio/audio_send_stream_unittest.cc
+++ b/webrtc/audio/audio_send_stream_unittest.cc
@@ -15,6 +15,7 @@
#include "webrtc/audio/audio_state.h"
#include "webrtc/audio/conversion.h"
#include "webrtc/base/task_queue.h"
+#include "webrtc/call/rtp_transport_controller.h"
#include "webrtc/logging/rtc_event_log/mock/mock_rtc_event_log.h"
#include "webrtc/modules/audio_mixer/audio_mixer_impl.h"
#include "webrtc/modules/audio_processing/include/mock_audio_processing.h"
@@ -64,14 +65,33 @@ class MockLimitObserver : public BitrateAllocator::LimitObserver {
};
struct ConfigHelper {
+ class FakeRtpTransportController
+ : public RtpTransportControllerSendInterface {
+ public:
+ explicit FakeRtpTransportController(RtcEventLog* event_log)
+ : simulated_clock_(123456),
+ congestion_controller_(&simulated_clock_,
+ &bitrate_observer_,
+ &remote_bitrate_observer_,
+ event_log,
+ &packet_router_) {}
+ CongestionController* congestion_controller() override {
+ return &congestion_controller_;
+ }
+ VieRemb* remb() override { return nullptr; }
+ PacketRouter* packet_router() override { return &packet_router_; }
+
+ private:
+ SimulatedClock simulated_clock_;
+ testing::NiceMock<MockCongestionObserver> bitrate_observer_;
+ testing::NiceMock<MockRemoteBitrateObserver> remote_bitrate_observer_;
+ PacketRouter packet_router_;
+ CongestionController congestion_controller_;
+ };
+
explicit ConfigHelper(bool audio_bwe_enabled)
- : simulated_clock_(123456),
- stream_config_(nullptr),
- congestion_controller_(&simulated_clock_,
- &bitrate_observer_,
- &remote_bitrate_observer_,
- &event_log_,
- &packet_router_),
+ : stream_config_(nullptr),
+ fake_transport_(&event_log_),
bitrate_allocator_(&limit_observer_),
worker_queue_("ConfigHelper_worker_queue") {
using testing::Invoke;
@@ -120,10 +140,7 @@ struct ConfigHelper {
AudioSendStream::Config& config() { return stream_config_; }
rtc::scoped_refptr<AudioState> audio_state() { return audio_state_; }
MockVoEChannelProxy* channel_proxy() { return channel_proxy_; }
- PacketRouter* packet_router() { return &packet_router_; }
- CongestionController* congestion_controller() {
- return &congestion_controller_;
- }
+ RtpTransportControllerSendInterface* transport() { return &fake_transport_; }
BitrateAllocator* bitrate_allocator() { return &bitrate_allocator_; }
rtc::TaskQueue* worker_queue() { return &worker_queue_; }
RtcEventLog* event_log() { return &event_log_; }
@@ -139,23 +156,16 @@ struct ConfigHelper {
EXPECT_CALL(*channel_proxy_,
SetSendAudioLevelIndicationStatus(true, kAudioLevelId))
.Times(1);
-
if (audio_bwe_enabled) {
EXPECT_CALL(*channel_proxy_,
EnableSendTransportSequenceNumber(kTransportSequenceNumberId))
.Times(1);
- EXPECT_CALL(*channel_proxy_,
- RegisterSenderCongestionControlObjects(
- congestion_controller_.pacer(),
- congestion_controller_.GetTransportFeedbackObserver(),
- packet_router(), Ne(nullptr)))
+ EXPECT_CALL(*channel_proxy_, RegisterSenderCongestionControlObjects(
+ &fake_transport_, Ne(nullptr)))
.Times(1);
} else {
- EXPECT_CALL(*channel_proxy_,
- RegisterSenderCongestionControlObjects(
- congestion_controller_.pacer(),
- congestion_controller_.GetTransportFeedbackObserver(),
- packet_router(), Eq(nullptr)))
+ EXPECT_CALL(*channel_proxy_, RegisterSenderCongestionControlObjects(
+ &fake_transport_, Eq(nullptr)))
.Times(1);
}
EXPECT_CALL(*channel_proxy_, ResetCongestionControlObjects()).Times(1);
@@ -233,17 +243,13 @@ struct ConfigHelper {
}
private:
- SimulatedClock simulated_clock_;
testing::StrictMock<MockVoiceEngine> voice_engine_;
rtc::scoped_refptr<AudioState> audio_state_;
AudioSendStream::Config stream_config_;
testing::StrictMock<MockVoEChannelProxy>* channel_proxy_ = nullptr;
- testing::NiceMock<MockCongestionObserver> bitrate_observer_;
- testing::NiceMock<MockRemoteBitrateObserver> remote_bitrate_observer_;
MockAudioProcessing audio_processing_;
AudioProcessing::AudioProcessingStatistics audio_processing_stats_;
- PacketRouter packet_router_;
- CongestionController congestion_controller_;
+ FakeRtpTransportController fake_transport_;
MockRtcEventLog event_log_;
MockRtcpRttStats rtcp_rtt_stats_;
testing::NiceMock<MockLimitObserver> limit_observer_;
@@ -290,16 +296,16 @@ TEST(AudioSendStreamTest, ConstructDestruct) {
ConfigHelper helper(false);
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
- helper.packet_router(), helper.congestion_controller(),
- helper.bitrate_allocator(), helper.event_log(), helper.rtcp_rtt_stats());
+ helper.transport(), helper.bitrate_allocator(), helper.event_log(),
+ helper.rtcp_rtt_stats());
}
TEST(AudioSendStreamTest, SendTelephoneEvent) {
ConfigHelper helper(false);
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
- helper.packet_router(), helper.congestion_controller(),
- helper.bitrate_allocator(), helper.event_log(), helper.rtcp_rtt_stats());
+ helper.transport(), helper.bitrate_allocator(), helper.event_log(),
+ helper.rtcp_rtt_stats());
helper.SetupMockForSendTelephoneEvent();
EXPECT_TRUE(send_stream.SendTelephoneEvent(kTelephoneEventPayloadType,
kTelephoneEventPayloadFrequency, kTelephoneEventCode,
@@ -310,8 +316,8 @@ TEST(AudioSendStreamTest, SetMuted) {
ConfigHelper helper(false);
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
- helper.packet_router(), helper.congestion_controller(),
- helper.bitrate_allocator(), helper.event_log(), helper.rtcp_rtt_stats());
+ helper.transport(), helper.bitrate_allocator(), helper.event_log(),
+ helper.rtcp_rtt_stats());
EXPECT_CALL(*helper.channel_proxy(), SetInputMute(true));
send_stream.SetMuted(true);
}
@@ -320,24 +326,24 @@ TEST(AudioSendStreamTest, AudioBweCorrectObjectsOnChannelProxy) {
ConfigHelper helper(true);
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
- helper.packet_router(), helper.congestion_controller(),
- helper.bitrate_allocator(), helper.event_log(), helper.rtcp_rtt_stats());
+ helper.transport(), helper.bitrate_allocator(), helper.event_log(),
+ helper.rtcp_rtt_stats());
}
TEST(AudioSendStreamTest, NoAudioBweCorrectObjectsOnChannelProxy) {
ConfigHelper helper(false);
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
- helper.packet_router(), helper.congestion_controller(),
- helper.bitrate_allocator(), helper.event_log(), helper.rtcp_rtt_stats());
+ helper.transport(), helper.bitrate_allocator(), helper.event_log(),
+ helper.rtcp_rtt_stats());
}
TEST(AudioSendStreamTest, GetStats) {
ConfigHelper helper(false);
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
- helper.packet_router(), helper.congestion_controller(),
- helper.bitrate_allocator(), helper.event_log(), helper.rtcp_rtt_stats());
+ helper.transport(), helper.bitrate_allocator(), helper.event_log(),
+ helper.rtcp_rtt_stats());
helper.SetupMockForGetStats();
AudioSendStream::Stats stats = send_stream.GetStats();
EXPECT_EQ(kSsrc, stats.local_ssrc);
@@ -367,8 +373,8 @@ TEST(AudioSendStreamTest, GetStatsTypingNoiseDetected) {
ConfigHelper helper(false);
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
- helper.packet_router(), helper.congestion_controller(),
- helper.bitrate_allocator(), helper.event_log(), helper.rtcp_rtt_stats());
+ helper.transport(), helper.bitrate_allocator(), helper.event_log(),
+ helper.rtcp_rtt_stats());
helper.SetupMockForGetStats();
EXPECT_FALSE(send_stream.GetStats().typing_noise_detected);
@@ -421,8 +427,8 @@ TEST(AudioSendStreamTest, SendCodecAppliesConfigParams) {
EnableAudioNetworkAdaptor(*stream_config.audio_network_adaptor_config));
internal::AudioSendStream send_stream(
stream_config, helper.audio_state(), helper.worker_queue(),
- helper.packet_router(), helper.congestion_controller(),
- helper.bitrate_allocator(), helper.event_log(), helper.rtcp_rtt_stats());
+ helper.transport(), helper.bitrate_allocator(), helper.event_log(),
+ helper.rtcp_rtt_stats());
}
// VAD is applied when codec is mono and the CNG frequency matches the codec
@@ -438,16 +444,16 @@ TEST(AudioSendStreamTest, SendCodecCanApplyVad) {
.WillOnce(Return(true));
internal::AudioSendStream send_stream(
stream_config, helper.audio_state(), helper.worker_queue(),
- helper.packet_router(), helper.congestion_controller(),
- helper.bitrate_allocator(), helper.event_log(), helper.rtcp_rtt_stats());
+ helper.transport(), helper.bitrate_allocator(), helper.event_log(),
+ helper.rtcp_rtt_stats());
}
TEST(AudioSendStreamTest, DoesNotPassHigherBitrateThanMaxBitrate) {
ConfigHelper helper(false);
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
- helper.packet_router(), helper.congestion_controller(),
- helper.bitrate_allocator(), helper.event_log(), helper.rtcp_rtt_stats());
+ helper.transport(), helper.bitrate_allocator(), helper.event_log(),
+ helper.rtcp_rtt_stats());
EXPECT_CALL(*helper.channel_proxy(),
SetBitrate(helper.config().max_bitrate_bps, _));
send_stream.OnBitrateUpdated(helper.config().max_bitrate_bps + 5000, 0.0, 50,
@@ -458,8 +464,8 @@ TEST(AudioSendStreamTest, ProbingIntervalOnBitrateUpdated) {
ConfigHelper helper(false);
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
- helper.packet_router(), helper.congestion_controller(),
- helper.bitrate_allocator(), helper.event_log(), helper.rtcp_rtt_stats());
+ helper.transport(), helper.bitrate_allocator(), helper.event_log(),
+ helper.rtcp_rtt_stats());
EXPECT_CALL(*helper.channel_proxy(), SetBitrate(_, 5000));
send_stream.OnBitrateUpdated(50000, 0.0, 50, 5000);
}
« no previous file with comments | « webrtc/audio/audio_send_stream.cc ('k') | webrtc/call/BUILD.gn » ('j') | webrtc/call/call.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698