
This change introduces a new algorithm for aggregating small partitions into packets. The algorithm is based on a tree-search to find an optimal allocation of the packets, such that the difference in size between packets is minimized. The new method is used when partition aggregation is allowed and balanced packets are requested. Otherwise, the old method is used. The new method is implemented using the new classes Vp8PartitionAggregator and PartitionTreeNode. Both classes have dedicated unit tests. In order to facilitate the new algorithm, the packetizer was redesigned to calculate all packet sizes when the first packet is extracted. The information about all packets is stored in a packet queue structure, which is then popped for each packet extracted. Finally, a bug in the old packetizer algorithm was fixed. The bug caused a +/-1 error in packet sizes when balanced packets were produced. The unit test were updated accordingly. TEST=rtp_rtcp_unittests: PartitionTreeNode.* Vp8PartitionAggregator.* RtpFormatVp8Test.* Review URL: https://webrtc-codereview.appspot.com/345008 git-svn-id: http://webrtc.googlecode.com/svn/trunk@1447 4adac7df-926f-26a2-2b94-8c16560cd09d
Adding libsrtp in libjingle.gyp and changing DEPS to retrieve libsrtp code from chromium repository.
Description
No description provided
Languages
C++
76%
C
16%
Python
2.3%
Java
2.1%
Objective-C++
1.5%
Other
1.9%