Skip to content

Commit 151be74

Browse files
fippoWebRTC LUCI CQ
authored andcommitted
[M114] Bail out early if the RTP send module for a SSRC was not found
since it might have been deregistered previously. BUG=chromium:1454860,chromium:1459124 (cherry picked from commit c0ed83e) No-Try: true Change-Id: I70ba43265361d040e568f83b6400ff8f3c2a8e98 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311800 Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Philipp Hancke <[email protected]> Cr-Original-Commit-Position: refs/heads/main@{#40431} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312122 Cr-Commit-Position: refs/branch-heads/5735@{#6} Cr-Branched-From: df7df19-refs/heads/main@{#39949}
1 parent a624ee1 commit 151be74

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

modules/pacing/packet_router.cc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@ void PacketRouter::AddSendRtpModuleToMap(RtpRtcpInterface* rtp_module,
8888
void PacketRouter::RemoveSendRtpModuleFromMap(uint32_t ssrc) {
8989
RTC_DCHECK_RUN_ON(&thread_checker_);
9090
auto it = send_modules_map_.find(ssrc);
91-
RTC_DCHECK(it != send_modules_map_.end());
91+
if (it == send_modules_map_.end()) {
92+
RTC_LOG(LS_ERROR) << "No send module found for ssrc " << ssrc;
93+
return;
94+
}
9295
send_modules_list_.remove(it->second);
9396
send_modules_map_.erase(it);
9497
}

modules/pacing/packet_router_unittest.cc

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -522,18 +522,24 @@ TEST_F(PacketRouterDeathTest, DoubleRegistrationOfReceiveModuleDisallowed) {
522522
packet_router_.RemoveReceiveRtpModule(&module);
523523
}
524524

525-
TEST_F(PacketRouterDeathTest, RemovalOfNeverAddedSendModuleDisallowed) {
525+
TEST_F(PacketRouterDeathTest, RemovalOfNeverAddedReceiveModuleDisallowed) {
526526
NiceMock<MockRtpRtcpInterface> module;
527527

528-
EXPECT_DEATH(packet_router_.RemoveSendRtpModule(&module), "");
528+
EXPECT_DEATH(packet_router_.RemoveReceiveRtpModule(&module), "");
529529
}
530+
#endif // RTC_DCHECK_IS_ON && GTEST_HAS_DEATH_TEST && !defined(WEBRTC_ANDROID)
530531

531-
TEST_F(PacketRouterDeathTest, RemovalOfNeverAddedReceiveModuleDisallowed) {
532+
TEST_F(PacketRouterTest, RemovalOfNeverAddedSendModuleIgnored) {
532533
NiceMock<MockRtpRtcpInterface> module;
534+
packet_router_.RemoveSendRtpModule(&module);
535+
}
533536

534-
EXPECT_DEATH(packet_router_.RemoveReceiveRtpModule(&module), "");
537+
TEST_F(PacketRouterTest, DuplicateRemovalOfSendModuleIgnored) {
538+
NiceMock<MockRtpRtcpInterface> module;
539+
packet_router_.AddSendRtpModule(&module, false);
540+
packet_router_.RemoveSendRtpModule(&module);
541+
packet_router_.RemoveSendRtpModule(&module);
535542
}
536-
#endif // RTC_DCHECK_IS_ON && GTEST_HAS_DEATH_TEST && !defined(WEBRTC_ANDROID)
537543

538544
TEST(PacketRouterRembTest, ChangeSendRtpModuleChangeRembSender) {
539545
rtc::ScopedFakeClock clock;

0 commit comments

Comments
 (0)