Chromium Code Reviews| Index: webrtc/api/webrtcsession_unittest.cc |
| diff --git a/webrtc/api/webrtcsession_unittest.cc b/webrtc/api/webrtcsession_unittest.cc |
| index 5e9b0390aa9d210af61009eb5cb8d8cc5d762506..bd4717892aa229b803d6aadcda89f7a6a0db564d 100644 |
| --- a/webrtc/api/webrtcsession_unittest.cc |
| +++ b/webrtc/api/webrtcsession_unittest.cc |
| @@ -1113,6 +1113,21 @@ class WebRtcSessionTest |
| EXPECT_EQ(can, session_->CanInsertDtmf(kAudioTrack1)); |
| } |
| + bool DescriptionContainsRtxCodec(const SessionDescriptionInterface* desc) { |
|
pthatcher1
2016/05/05 20:28:34
This should have "video" in the name since it only
|
| + 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 == "rtx") { |
| + 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 +4292,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 +4304,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(DescriptionContainsRtxCodec(offer)); |
| 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(DescriptionContainsRtxCodec(answer)); |
| SetLocalDescriptionWithoutError(answer); |
| } |