| Index: webrtc/api/webrtcsession_unittest.cc
|
| diff --git a/webrtc/api/webrtcsession_unittest.cc b/webrtc/api/webrtcsession_unittest.cc
|
| index 5e9b0390aa9d210af61009eb5cb8d8cc5d762506..34d82582c61ad54df6aa99641ae819e18dd74e6d 100644
|
| --- a/webrtc/api/webrtcsession_unittest.cc
|
| +++ b/webrtc/api/webrtcsession_unittest.cc
|
| @@ -1113,6 +1113,22 @@ class WebRtcSessionTest
|
| EXPECT_EQ(can, session_->CanInsertDtmf(kAudioTrack1));
|
| }
|
|
|
| + bool ContainsVideoCodecWithName(const SessionDescriptionInterface* desc,
|
| + const std::string& codec_name) {
|
| + for (const auto& content : desc->description()->contents()) {
|
| + if (static_cast<cricket::MediaContentDescription*>(content.description)
|
| + ->type() == cricket::MEDIA_TYPE_VIDEO) {
|
| + const auto* mdesc =
|
| + static_cast<cricket::VideoContentDescription*>(content.description);
|
| + for (const auto& codec : mdesc->codecs()) {
|
| + if (codec.name == codec_name) {
|
| + return true;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + return false;
|
| + }
|
| // Helper class to configure loopback network and verify Best
|
| // Connection using right IP protocol for TestLoopbackCall
|
| // method. LoopbackNetworkManager applies firewall rules to block
|
| @@ -4277,15 +4293,9 @@ TEST_P(WebRtcSessionTest, TestRenegotiateNewMediaWithCandidatesSeparated) {
|
| SetLocalDescriptionWithoutError(answer);
|
| }
|
|
|
| -// Flaky on Win and Mac only. See webrtc:4943
|
| -#if defined(WEBRTC_WIN) || defined(WEBRTC_MAC)
|
| -#define MAYBE_TestRtxRemovedByCreateAnswer DISABLED_TestRtxRemovedByCreateAnswer
|
| -#else
|
| -#define MAYBE_TestRtxRemovedByCreateAnswer TestRtxRemovedByCreateAnswer
|
| -#endif
|
| // Tests that RTX codec is removed from the answer when it isn't supported
|
| // by local side.
|
| -TEST_F(WebRtcSessionTest, MAYBE_TestRtxRemovedByCreateAnswer) {
|
| +TEST_F(WebRtcSessionTest, TestRtxRemovedByCreateAnswer) {
|
| Init();
|
| SendAudioVideoStream1();
|
| std::string offer_sdp(kSdpWithRtx);
|
| @@ -4295,14 +4305,12 @@ TEST_F(WebRtcSessionTest, MAYBE_TestRtxRemovedByCreateAnswer) {
|
| EXPECT_TRUE(offer->ToString(&offer_sdp));
|
|
|
| // Offer SDP contains the RTX codec.
|
| - EXPECT_TRUE(offer_sdp.find("rtx") != std::string::npos);
|
| + EXPECT_TRUE(ContainsVideoCodecWithName(offer, "rtx"));
|
| SetRemoteDescriptionWithoutError(offer);
|
|
|
| SessionDescriptionInterface* answer = CreateAnswer();
|
| - std::string answer_sdp;
|
| - answer->ToString(&answer_sdp);
|
| - // Answer SDP removes the unsupported RTX codec.
|
| - EXPECT_TRUE(answer_sdp.find("rtx") == std::string::npos);
|
| + // Answer SDP does not contain the RTX codec.
|
| + EXPECT_FALSE(ContainsVideoCodecWithName(answer, "rtx"));
|
| SetLocalDescriptionWithoutError(answer);
|
| }
|
|
|
|
|