From 0133d46847430bd9cc93cd99c6da36f0ed49a2a1 Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Mon, 5 Mar 2018 13:15:56 +0100 Subject: [PATCH] Use a smaller size of sequence number set, to improve performance Bug: webrtc:8857 Change-Id: I78b4e6d191b1b7eb96f5109323ef48b24b99c7c2 Reviewed-on: https://webrtc-review.googlesource.com/49361 Reviewed-by: Stefan Holmer Commit-Queue: Ying Wang Cr-Commit-Position: refs/heads/master@{#22286} --- video/video_send_stream.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/video/video_send_stream.cc b/video/video_send_stream.cc index 42a613cad4..946eed2899 100644 --- a/video/video_send_stream.cc +++ b/video/video_send_stream.cc @@ -11,9 +11,9 @@ #include #include -#include #include #include +#include #include #include @@ -41,7 +41,11 @@ namespace webrtc { static const int kMinSendSidePacketHistorySize = 600; -static const int kSendSideSeqNumSetMaxSize = 15000; + +// Assume an average video stream has around 3 packets per frame (1 mbps / 30 +// fps / 1400B) A sequence number set with size 5500 will be able to store +// packet sequence number for at least last 60 seconds. +static const int kSendSideSeqNumSetMaxSize = 5500; namespace { @@ -414,7 +418,7 @@ class VideoSendStreamImpl : public webrtc::BitrateAllocatorObserver, RTC_GUARDED_BY(overhead_bytes_per_packet_crit_); size_t transport_overhead_bytes_per_packet_; - std::set feedback_packet_seq_num_set_; + std::unordered_set feedback_packet_seq_num_set_; std::vector loss_mask_vector_; };