242e22b055
The main purpose of this CL is to clean up RTCPSender::PrepareRTCP, but it has quite a few ramifications. Notable changes: * Removed the rtcpPacketTypeFlags bit vector and don't assume RTCPPacketType values have a single unique bit set. This will allow making this an enum class once rtcp_receiver has been overhauled. * Flags are now stored in a map that is a member of the class. This meant we could remove some bool flags (eg send_remb_) which was previously masked into rtcpPacketTypeFlags and then masked out again when testing if a remb packet should be sent. * Make all build methods, eg. BuildREMB(), have the same signature. An RtcpContext struct was introduced for this purpose. This allowed the use of a map from RTCPPacketType to method pointer. Instead of 18 consecutive if-statements, there is now a single loop. The context class also allowed some simplifications in the build methods themselves. * A few minor simplifications and cleanups. The next step is to gradually replace the builder methods with the builders from the new RtcpPacket classes. BUG=2450 R=asapersson@webrtc.org, pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/48329004 Cr-Commit-Position: refs/heads/master@{#9166} |
||
---|---|---|
chromium | ||
data | ||
resources | ||
talk | ||
third_party | ||
tools | ||
webrtc | ||
.clang-format | ||
.gitignore | ||
.gn | ||
all.gyp | ||
AUTHORS | ||
BUILD.gn | ||
check_root_dir.py | ||
codereview.settings | ||
COPYING | ||
DEPS | ||
libvpx.mk | ||
LICENSE | ||
license_template.txt | ||
LICENSE_THIRD_PARTY | ||
OWNERS | ||
PATENTS | ||
PRESUBMIT.py | ||
setup_links.py | ||
sync_chromium.py | ||
WATCHLISTS |