Chromium Code Reviews| Index: webrtc/modules/rtp_rtcp/source/forward_error_correction_internal.h |
| diff --git a/webrtc/modules/rtp_rtcp/source/forward_error_correction_internal.h b/webrtc/modules/rtp_rtcp/source/forward_error_correction_internal.h |
| index 82f02c21e56855511b509dcd5527b7cd861024bb..5fc03316eaeb93f0f162ed03205f34a8649d8271 100644 |
| --- a/webrtc/modules/rtp_rtcp/source/forward_error_correction_internal.h |
| +++ b/webrtc/modules/rtp_rtcp/source/forward_error_correction_internal.h |
| @@ -16,10 +16,17 @@ |
| namespace webrtc { |
| -// Packet mask size in bytes (L bit is set). |
| -constexpr size_t kMaskSizeLBitSet = 6; |
| -// Packet mask size in bytes (L bit is cleared). |
| -constexpr size_t kMaskSizeLBitClear = 2; |
| +// Maximum number of media packets that can be protected |
| +// by these packet masks. |
| +constexpr size_t kUlpfecMaxMediaPackets = 48; |
| + |
| +// Packet mask size in bytes (given L bit). |
| +constexpr size_t kUlpfecPacketMaskSizeLBitClear = 2; |
| +constexpr size_t kUlpfecPacketMaskSizeLBitSet = 6; |
| + |
| +// Convenience constants. |
| +constexpr size_t kUlpfecMinPacketMaskSize = kUlpfecPacketMaskSizeLBitClear; |
| +constexpr size_t kUlpfecMaxPacketMaskSize = kUlpfecPacketMaskSizeLBitSet; |
| namespace internal { |
| @@ -65,6 +72,11 @@ void GeneratePacketMasks(int num_media_packets, int num_fec_packets, |
| const PacketMaskTable& mask_table, |
| uint8_t* packet_mask); |
| +// Given a sequence number spread (i.e., the difference between the largest |
|
danilchap
2016/08/29 12:26:03
'plus one' in the comment feels strange.
may be in
brandtr
2016/08/30 07:12:41
Updated comment.
|
| +// and smallest sequence number, plus one), returns the required packet |
| +// mask size. |
| +size_t PacketMaskSize(size_t seq_num_spread); |
| + |
| // Inserts |num_zeros| zero columns into |new_mask| at position |
| // |new_bit_index|. If the current byte of |new_mask| can't fit all zeros, the |
| // byte will be filled with zeros from |new_bit_index|, but the next byte will |