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

Unified Diff: webrtc/media/engine/webrtcvoiceengine_unittest.cc

Issue 2532433002: Add overhead to audio bwe min, max. (Closed)
Patch Set: Respond to offline discussion. Created 3 years, 11 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/media/engine/webrtcvoiceengine_unittest.cc
diff --git a/webrtc/media/engine/webrtcvoiceengine_unittest.cc b/webrtc/media/engine/webrtcvoiceengine_unittest.cc
index 674924eda855b0bed233ef0768421a3c259d483d..92f569e8c688a85fecdb59f2d06138584f846b5f 100644
--- a/webrtc/media/engine/webrtcvoiceengine_unittest.cc
+++ b/webrtc/media/engine/webrtcvoiceengine_unittest.cc
@@ -2471,6 +2471,50 @@ TEST_F(WebRtcVoiceEngineTestFake, AudioNetworkAdaptorNotGetOverridden) {
GetAudioNetworkAdaptorConfig(kSsrc1));
}
+class WebRtcVoiceEngineWithSendSideBweWithOverheadTest
+ : public WebRtcVoiceEngineTestFake {
+ public:
+ WebRtcVoiceEngineWithSendSideBweWithOverheadTest()
+ : WebRtcVoiceEngineTestFake(
+ "WebRTC-Audio-SendSideBwe/Enabled/WebRTC-SendSideBwe-WithOverhead/"
+ "Enabled/") {}
+};
+
+TEST_F(WebRtcVoiceEngineWithSendSideBweWithOverheadTest, MinAndMaxBitrate) {
+ EXPECT_TRUE(SetupSendStream());
+ cricket::AudioSendParameters parameters;
+ parameters.codecs.push_back(kOpusCodec);
+ SetSendParameters(parameters);
+ const int initial_num = call_.GetNumCreatedSendStreams();
+ EXPECT_EQ(initial_num, call_.GetNumCreatedSendStreams());
+
+ // OverheadPerPacket = Ipv4(20B) + UDP(8B) + SRTP(10B) + RTP(12)
+ constexpr int kOverheadPerPacket = 20 + 8 + 10 + 12;
+ constexpr int kMinOverheadBps = kOverheadPerPacket * 8 * 1000 / 60;
+ constexpr int kMaxOverheadBps = kOverheadPerPacket * 8 * 1000 / 10;
+
+ constexpr int kOpusMinBitrateBps = 6000;
+ EXPECT_EQ(kOpusMinBitrateBps + kMinOverheadBps,
+ GetSendStreamConfig(kSsrc1).min_bitrate_bps);
+ constexpr int kOpusBitrateFbBps = 32000;
+ EXPECT_EQ(kOpusBitrateFbBps + kMaxOverheadBps,
+ GetSendStreamConfig(kSsrc1).max_bitrate_bps);
+
+ parameters.options.audio_network_adaptor = rtc::Optional<bool>(true);
+ parameters.options.audio_network_adaptor_config =
+ rtc::Optional<std::string>("1234");
+ SetSendParameters(parameters);
+
+ constexpr int kMinOverheadWithAnaBps = kOverheadPerPacket * 8 * 1000 / 60;
+ constexpr int kMaxOverheadWithAnaBps = kOverheadPerPacket * 8 * 1000 / 20;
+
+ EXPECT_EQ(kOpusMinBitrateBps + kMinOverheadWithAnaBps,
+ GetSendStreamConfig(kSsrc1).min_bitrate_bps);
+
+ EXPECT_EQ(kOpusBitrateFbBps + kMaxOverheadWithAnaBps,
+ GetSendStreamConfig(kSsrc1).max_bitrate_bps);
+}
+
// Test that we can set the outgoing SSRC properly.
// SSRC is set in SetupSendStream() by calling AddSendStream.
TEST_F(WebRtcVoiceEngineTestFake, SetSendSsrc) {
« webrtc/media/engine/webrtcvoiceengine.cc ('K') | « webrtc/media/engine/webrtcvoiceengine.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698