From c4ea5aeca906aa9201c6bdbb57209103732fecfc Mon Sep 17 00:00:00 2001 From: philipel Date: Fri, 20 Jan 2023 13:13:01 +0100 Subject: [PATCH] Avoid log spamming when the dependency descriptor fail to parse. Bug: none Change-Id: I3f38f26eb84379cf64a39c9595ceb6bf235558a1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291111 Commit-Queue: Philip Eliasson Reviewed-by: Danil Chapovalov Cr-Commit-Position: refs/heads/main@{#39164} --- video/rtp_video_stream_receiver2.cc | 8 ++++++-- video/rtp_video_stream_receiver2.h | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/video/rtp_video_stream_receiver2.cc b/video/rtp_video_stream_receiver2.cc index fe89e05f59..e7f88665b6 100644 --- a/video/rtp_video_stream_receiver2.cc +++ b/video/rtp_video_stream_receiver2.cc @@ -437,8 +437,12 @@ RtpVideoStreamReceiver2::ParseGenericDependenciesExtension( // or too new packet (before relevant video_structure_ arrived). // Drop such packet to be on the safe side. // TODO(bugs.webrtc.org/10342): Stash too new packet. - RTC_LOG(LS_WARNING) << "ssrc: " << rtp_packet.Ssrc() - << " Failed to parse dependency descriptor."; + Timestamp now = clock_->CurrentTime(); + if (now - last_logged_failed_to_parse_dd_ > TimeDelta::Seconds(1)) { + last_logged_failed_to_parse_dd_ = now; + RTC_LOG(LS_WARNING) << "ssrc: " << rtp_packet.Ssrc() + << " Failed to parse dependency descriptor."; + } return kDropPacket; } if (dependency_descriptor.attached_structure != nullptr && diff --git a/video/rtp_video_stream_receiver2.h b/video/rtp_video_stream_receiver2.h index 862db6c861..48bcab157e 100644 --- a/video/rtp_video_stream_receiver2.h +++ b/video/rtp_video_stream_receiver2.h @@ -377,6 +377,8 @@ class RtpVideoStreamReceiver2 : public LossNotificationSender, // absl::nullopt when `video_structure_ == nullptr`; absl::optional video_structure_frame_id_ RTC_GUARDED_BY(packet_sequence_checker_); + Timestamp last_logged_failed_to_parse_dd_ + RTC_GUARDED_BY(packet_sequence_checker_) = Timestamp::MinusInfinity(); std::unique_ptr reference_finder_ RTC_GUARDED_BY(packet_sequence_checker_);