aboutsummaryrefslogtreecommitdiff
path: root/pc/peer_connection_media_unittest.cc
diff options
context:
space:
mode:
authorErwin Jansen <jansene@google.com>2021-06-30 07:29:26 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-06-30 07:29:26 +0000
commit059cdc5996938f5f6b5343b6c969c12098275587 (patch)
tree6eacaffe4bebf8e00c290c1e1839e084b0c52e88 /pc/peer_connection_media_unittest.cc
parent97e54a7e73c7b24e464ef06ef3c3b3716f21bb15 (diff)
parent16be34ae72cdb525c88c2b31b21b976f35fe36d8 (diff)
downloadwebrtc-059cdc5996938f5f6b5343b6c969c12098275587.tar.gz
Merge "Merge upstream-master and enable ARM64" into emu-master-devemu-31-stable-releaseemu-31-release
Diffstat (limited to 'pc/peer_connection_media_unittest.cc')
-rw-r--r--pc/peer_connection_media_unittest.cc69
1 files changed, 63 insertions, 6 deletions
diff --git a/pc/peer_connection_media_unittest.cc b/pc/peer_connection_media_unittest.cc
index f078144d4f..d5d0b926b7 100644
--- a/pc/peer_connection_media_unittest.cc
+++ b/pc/peer_connection_media_unittest.cc
@@ -848,8 +848,9 @@ bool HasAnyComfortNoiseCodecs(const cricket::SessionDescription* desc) {
TEST_P(PeerConnectionMediaTest,
CreateOfferWithNoVoiceActivityDetectionIncludesNoComfortNoiseCodecs) {
- auto caller = CreatePeerConnectionWithAudioVideo();
- AddComfortNoiseCodecsToSend(caller->media_engine());
+ auto fake_engine = std::make_unique<FakeMediaEngine>();
+ AddComfortNoiseCodecsToSend(fake_engine.get());
+ auto caller = CreatePeerConnectionWithAudioVideo(std::move(fake_engine));
RTCOfferAnswerOptions options;
options.voice_activity_detection = false;
@@ -859,11 +860,47 @@ TEST_P(PeerConnectionMediaTest,
}
TEST_P(PeerConnectionMediaTest,
- CreateAnswerWithNoVoiceActivityDetectionIncludesNoComfortNoiseCodecs) {
+ CreateOfferWithVoiceActivityDetectionIncludesComfortNoiseCodecs) {
+ auto fake_engine = std::make_unique<FakeMediaEngine>();
+ AddComfortNoiseCodecsToSend(fake_engine.get());
+ auto caller = CreatePeerConnectionWithAudioVideo(std::move(fake_engine));
+
+ RTCOfferAnswerOptions options;
+ options.voice_activity_detection = true;
+ auto offer = caller->CreateOffer(options);
+
+ EXPECT_TRUE(HasAnyComfortNoiseCodecs(offer->description()));
+}
+
+TEST_P(PeerConnectionMediaTest,
+ CreateAnswerWithVoiceActivityDetectionIncludesNoComfortNoiseCodecs) {
auto caller = CreatePeerConnectionWithAudioVideo();
- AddComfortNoiseCodecsToSend(caller->media_engine());
- auto callee = CreatePeerConnectionWithAudioVideo();
- AddComfortNoiseCodecsToSend(callee->media_engine());
+
+ auto callee_fake_engine = std::make_unique<FakeMediaEngine>();
+ AddComfortNoiseCodecsToSend(callee_fake_engine.get());
+ auto callee =
+ CreatePeerConnectionWithAudioVideo(std::move(callee_fake_engine));
+
+ ASSERT_TRUE(callee->SetRemoteDescription(caller->CreateOfferAndSetAsLocal()));
+
+ RTCOfferAnswerOptions options;
+ options.voice_activity_detection = true;
+ auto answer = callee->CreateAnswer(options);
+
+ EXPECT_FALSE(HasAnyComfortNoiseCodecs(answer->description()));
+}
+
+TEST_P(PeerConnectionMediaTest,
+ CreateAnswerWithNoVoiceActivityDetectionIncludesNoComfortNoiseCodecs) {
+ auto caller_fake_engine = std::make_unique<FakeMediaEngine>();
+ AddComfortNoiseCodecsToSend(caller_fake_engine.get());
+ auto caller =
+ CreatePeerConnectionWithAudioVideo(std::move(caller_fake_engine));
+
+ auto callee_fake_engine = std::make_unique<FakeMediaEngine>();
+ AddComfortNoiseCodecsToSend(callee_fake_engine.get());
+ auto callee =
+ CreatePeerConnectionWithAudioVideo(std::move(callee_fake_engine));
ASSERT_TRUE(callee->SetRemoteDescription(caller->CreateOfferAndSetAsLocal()));
@@ -1736,6 +1773,26 @@ TEST_F(PeerConnectionMediaTestUnifiedPlan,
EXPECT_TRUE(CompareCodecs(video_codecs_vpx_reverse, recv_codecs));
}
+TEST_F(PeerConnectionMediaTestUnifiedPlan,
+ SetCodecPreferencesVoiceActivityDetection) {
+ auto fake_engine = std::make_unique<FakeMediaEngine>();
+ AddComfortNoiseCodecsToSend(fake_engine.get());
+ auto caller = CreatePeerConnectionWithAudio(std::move(fake_engine));
+
+ RTCOfferAnswerOptions options;
+ auto offer = caller->CreateOffer(options);
+ EXPECT_TRUE(HasAnyComfortNoiseCodecs(offer->description()));
+
+ auto transceiver = caller->pc()->GetTransceivers().front();
+ auto capabilities = caller->pc_factory()->GetRtpSenderCapabilities(
+ cricket::MediaType::MEDIA_TYPE_AUDIO);
+ EXPECT_TRUE(transceiver->SetCodecPreferences(capabilities.codecs).ok());
+
+ options.voice_activity_detection = false;
+ offer = caller->CreateOffer(options);
+ EXPECT_FALSE(HasAnyComfortNoiseCodecs(offer->description()));
+}
+
INSTANTIATE_TEST_SUITE_P(PeerConnectionMediaTest,
PeerConnectionMediaTest,
Values(SdpSemantics::kPlanB,