Optimize NACK list creation.

- No longer looping through all frame buffers.
- Keeping track of the current nack list index when building the list.
- Don't look for changes in the NACK list if the size has increased.

Review URL: https://webrtc-codereview.appspot.com/1076005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3420 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
stefan@webrtc.org
2013-01-28 08:48:13 +00:00
parent b2d7497faf
commit bf535b9b6b
6 changed files with 98 additions and 78 deletions

View File

@ -67,10 +67,11 @@ public:
// NACK - Building the NACK lists.
// Build hard NACK list: Zero out all entries in list up to and including
// _lowSeqNum.
int BuildHardNackList(int* list, int num);
int BuildHardNackList(int* list, int num, int nack_seq_nums_index);
// Build soft NACK list: Zero out only a subset of the packets, discard
// empty packets.
int BuildSoftNackList(int* list, int num, int rttMs);
int BuildSoftNackList(int* list, int num, int nack_seq_nums_index,
int rttMs);
void IncrementNackCount();
WebRtc_Word16 GetNackCount() const;