aboutsummaryrefslogtreecommitdiff
path: root/modules/rtp_rtcp/source/ulpfec_header_reader_writer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'modules/rtp_rtcp/source/ulpfec_header_reader_writer.cc')
-rw-r--r--modules/rtp_rtcp/source/ulpfec_header_reader_writer.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/rtp_rtcp/source/ulpfec_header_reader_writer.cc b/modules/rtp_rtcp/source/ulpfec_header_reader_writer.cc
index 2aebbead68..49f483dad6 100644
--- a/modules/rtp_rtcp/source/ulpfec_header_reader_writer.cc
+++ b/modules/rtp_rtcp/source/ulpfec_header_reader_writer.cc
@@ -24,6 +24,11 @@ namespace {
// Maximum number of media packets that can be protected in one batch.
constexpr size_t kMaxMediaPackets = 48;
+// Maximum number of media packets tracked by FEC decoder.
+// Maintain a sufficiently larger tracking window than |kMaxMediaPackets|
+// to account for packet reordering in pacer/ network.
+constexpr size_t kMaxTrackedMediaPackets = 4 * kMaxMediaPackets;
+
// Maximum number of FEC packets stored inside ForwardErrorCorrection.
constexpr size_t kMaxFecPackets = kMaxMediaPackets;
@@ -51,7 +56,7 @@ size_t UlpfecHeaderSize(size_t packet_mask_size) {
} // namespace
UlpfecHeaderReader::UlpfecHeaderReader()
- : FecHeaderReader(kMaxMediaPackets, kMaxFecPackets) {}
+ : FecHeaderReader(kMaxTrackedMediaPackets, kMaxFecPackets) {}
UlpfecHeaderReader::~UlpfecHeaderReader() = default;