diff --git a/tools/valgrind-webrtc/gtest_exclude/peerconnection_unittests.gtest-drmemory_win32.txt b/tools/valgrind-webrtc/gtest_exclude/peerconnection_unittests.gtest-drmemory_win32.txt index d9195d0c8d..d041dbd526 100644 --- a/tools/valgrind-webrtc/gtest_exclude/peerconnection_unittests.gtest-drmemory_win32.txt +++ b/tools/valgrind-webrtc/gtest_exclude/peerconnection_unittests.gtest-drmemory_win32.txt @@ -6,6 +6,3 @@ PeerConnectionEndToEndTest.* PeerConnectionInterfaceTest.* # Issue 3453 WebRtcSessionTest.TestReceiveSdesOfferCreateSdesAnswer -# Flakily fails or crashes on Dr Memory Light. -# Issue 5978 -WebRtcSessionTest.TestPacketOptionsAndOnPacketSent diff --git a/webrtc/api/webrtcsession_unittest.cc b/webrtc/api/webrtcsession_unittest.cc index 674d54fa53..e8234d7c1b 100644 --- a/webrtc/api/webrtcsession_unittest.cc +++ b/webrtc/api/webrtcsession_unittest.cc @@ -1326,7 +1326,8 @@ class WebRtcSessionTest ->SendRtp(test_packet, sizeof(test_packet), options); const int kPacketTimeout = 2000; - EXPECT_EQ_WAIT(fake_call_.last_sent_packet().packet_id, 10, kPacketTimeout); + EXPECT_EQ_WAIT(10, fake_call_.last_sent_nonnegative_packet_id(), + kPacketTimeout); EXPECT_GT(fake_call_.last_sent_packet().send_time_ms, -1); } diff --git a/webrtc/media/engine/fakewebrtccall.cc b/webrtc/media/engine/fakewebrtccall.cc index 41b34750e7..edb2fa46c1 100644 --- a/webrtc/media/engine/fakewebrtccall.cc +++ b/webrtc/media/engine/fakewebrtccall.cc @@ -465,5 +465,9 @@ void FakeCall::SignalChannelNetworkState(webrtc::MediaType media, void FakeCall::OnSentPacket(const rtc::SentPacket& sent_packet) { last_sent_packet_ = sent_packet; + if (sent_packet.packet_id >= 0) { + last_sent_nonnegative_packet_id_ = sent_packet.packet_id; + } } + } // namespace cricket diff --git a/webrtc/media/engine/fakewebrtccall.h b/webrtc/media/engine/fakewebrtccall.h index 8ca45f72d3..2d1cb7415b 100644 --- a/webrtc/media/engine/fakewebrtccall.h +++ b/webrtc/media/engine/fakewebrtccall.h @@ -177,6 +177,13 @@ class FakeCall final : public webrtc::Call, public webrtc::PacketReceiver { const FakeAudioReceiveStream* GetAudioReceiveStream(uint32_t ssrc); rtc::SentPacket last_sent_packet() const { return last_sent_packet_; } + + // This is useful if we care about the last media packet (with id populated) + // but not the last ICE packet (with -1 ID). + int last_sent_nonnegative_packet_id() const { + return last_sent_nonnegative_packet_id_; + } + webrtc::NetworkState GetNetworkState(webrtc::MediaType media) const; int GetNumCreatedSendStreams() const; int GetNumCreatedReceiveStreams() const; @@ -222,6 +229,7 @@ class FakeCall final : public webrtc::Call, public webrtc::PacketReceiver { webrtc::NetworkState audio_network_state_; webrtc::NetworkState video_network_state_; rtc::SentPacket last_sent_packet_; + int last_sent_nonnegative_packet_id_ = -1; webrtc::Call::Stats stats_; std::vector video_send_streams_; std::vector audio_send_streams_;