From 11bfc53cd9a82f73ecbee2232b87acbb1e83fa4c Mon Sep 17 00:00:00 2001 From: ossu Date: Thu, 16 Feb 2017 05:37:06 -0800 Subject: [PATCH] Fixed a couple of build-flag dependent tests of webrtcvoiceengine. The codecs expected by HasCorrectCodecs now depends which codecs were enabled by build flags. SendSideBweWithOverheadTest.MinAndMaxBitrate now expects different values for min bitrate depending on if we support 120 ms frames for Opus. BUG=b/35415435 Review-Url: https://codereview.webrtc.org/2691343008 Cr-Commit-Position: refs/heads/master@{#16643} --- webrtc/media/BUILD.gn | 7 +++++++ webrtc/media/engine/webrtcvoiceengine_unittest.cc | 15 +++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/webrtc/media/BUILD.gn b/webrtc/media/BUILD.gn index c223068c20..df74eff24d 100644 --- a/webrtc/media/BUILD.gn +++ b/webrtc/media/BUILD.gn @@ -341,6 +341,13 @@ if (rtc_include_tests) { if (rtc_use_h264) { defines += [ "WEBRTC_USE_H264" ] } + + if (rtc_opus_support_120ms_ptime) { + defines += [ "WEBRTC_OPUS_SUPPORT_120MS_PTIME=1" ] + } else { + defines += [ "WEBRTC_OPUS_SUPPORT_120MS_PTIME=0" ] + } + if (is_win) { cflags = [ "/wd4245", # conversion from int to size_t, signed/unsigned mismatch. diff --git a/webrtc/media/engine/webrtcvoiceengine_unittest.cc b/webrtc/media/engine/webrtcvoiceengine_unittest.cc index 612d5c2e6b..c55389ae73 100644 --- a/webrtc/media/engine/webrtcvoiceengine_unittest.cc +++ b/webrtc/media/engine/webrtcvoiceengine_unittest.cc @@ -2568,7 +2568,9 @@ TEST_F(WebRtcVoiceEngineWithSendSideBweWithOverheadTest, MinAndMaxBitrate) { // 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 kOpusMaxPtimeMs = WEBRTC_OPUS_SUPPORT_120MS_PTIME ? 120 : 60; + constexpr int kMinOverheadBps = + kOverheadPerPacket * 8 * 1000 / kOpusMaxPtimeMs; constexpr int kMaxOverheadBps = kOverheadPerPacket * 8 * 1000 / 10; constexpr int kOpusMinBitrateBps = 6000; @@ -2583,7 +2585,8 @@ TEST_F(WebRtcVoiceEngineWithSendSideBweWithOverheadTest, MinAndMaxBitrate) { rtc::Optional("1234"); SetSendParameters(parameters); - constexpr int kMinOverheadWithAnaBps = kOverheadPerPacket * 8 * 1000 / 60; + constexpr int kMinOverheadWithAnaBps = + kOverheadPerPacket * 8 * 1000 / kOpusMaxPtimeMs; constexpr int kMaxOverheadWithAnaBps = kOverheadPerPacket * 8 * 1000 / 20; EXPECT_EQ(kOpusMinBitrateBps + kMinOverheadWithAnaBps, @@ -3551,17 +3554,25 @@ TEST(WebRtcVoiceEngineTest, HasCorrectCodecs) { // module. // Check codecs by name. +#ifdef WEBRTC_CODEC_OPUS EXPECT_TRUE(cricket::WebRtcVoiceEngine::ToCodecInst( cricket::AudioCodec(96, "OPUS", 48000, 0, 2), nullptr)); +#endif +#if (defined(WEBRTC_CODEC_ISAC) || defined(WEBRTC_CODEC_ISACFX)) EXPECT_TRUE(cricket::WebRtcVoiceEngine::ToCodecInst( cricket::AudioCodec(96, "ISAC", 16000, 0, 1), nullptr)); +#endif +#if (defined(WEBRTC_CODEC_ISAC)) EXPECT_TRUE(cricket::WebRtcVoiceEngine::ToCodecInst( cricket::AudioCodec(96, "ISAC", 32000, 0, 1), nullptr)); +#endif +#ifdef WEBRTC_CODEC_ILBC // Check that name matching is case-insensitive. EXPECT_TRUE(cricket::WebRtcVoiceEngine::ToCodecInst( cricket::AudioCodec(96, "ILBC", 8000, 0, 1), nullptr)); EXPECT_TRUE(cricket::WebRtcVoiceEngine::ToCodecInst( cricket::AudioCodec(96, "iLBC", 8000, 0, 1), nullptr)); +#endif EXPECT_TRUE(cricket::WebRtcVoiceEngine::ToCodecInst( cricket::AudioCodec(96, "CN", 32000, 0, 1), nullptr)); EXPECT_TRUE(cricket::WebRtcVoiceEngine::ToCodecInst(