Go to file
Erik Språng 242e22b055 Refactor RTCP sender
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}
2015-05-11 08:17:46 +00:00
chromium Roll chromium_revision a12e1e1..0cb2549 (326495:327252) 2015-04-29 12:48:00 +00:00
data audio_processing: Added a new AEC delay metric value that gives the amount of poor delays 2015-02-03 06:07:21 +00:00
resources Enable GoogleWifiTrace3Mbps simulations. 2015-05-04 12:26:26 +00:00
talk Revert r9164 "Adding a new constraint to set NetEq buffer capacity ..." 2015-05-10 09:06:20 +00:00
third_party Roll gtest-parallel. 2015-04-28 13:43:45 +00:00
tools Delete auto-roll script since moved into Chromium. 2015-05-06 08:32:51 +00:00
webrtc Refactor RTCP sender 2015-05-11 08:17:46 +00:00
.clang-format Style-option file for clang-format. 2013-11-25 15:30:37 +00:00
.gitignore Roll chromium_revision a12e1e1..0cb2549 (326495:327252) 2015-04-29 12:48:00 +00:00
.gn Roll chromium_revision 5333e14..d8f8dc8 (323410:324211) 2015-04-09 13:36:33 +00:00
all.gyp Remove libjingle_root GYP variable 2015-03-06 08:03:47 +00:00
AUTHORS Re-land: Add API to get negotiated SSL ciphers 2015-02-11 22:35:30 +00:00
BUILD.gn Initial GN work for WebRTC 2014-06-17 08:54:03 +00:00
check_root_dir.py Remove root_dir variable from DEPS + enforce rename. 2014-10-09 09:11:27 +00:00
codereview.settings Post Git switch: Update codereview.settings and remove drover.properties 2015-03-24 13:32:33 +00:00
COPYING Libjingle in webrtc needs updated AUTHORS, COPYING, LICENSE_THIRD_PARTY AND README. 2013-07-16 18:04:56 +00:00
DEPS Added VP9FrameBufferPool, a memory pool that is shared between libvpx and webrtc. Using the VP9 codec, the libvpx decoder will obtain its buffers from our memory pool. This lets us reuse the same buffers for our I420VideoFrames and not have to copy a frame for every decode (from libvpx buffers to webrtc/I420VideoFrame buffers). 2015-05-06 08:42:22 +00:00
libvpx.mk Change android makefile to reflect recent file structure change 2011-07-13 17:49:49 +00:00
LICENSE Updated license path in LICENSE and LICENSE_THIRD_PARTY. 2012-11-22 12:06:21 +00:00
license_template.txt Update template to follow chromium copyright style 2013-04-24 01:01:28 +00:00
LICENSE_THIRD_PARTY Libjingle in webrtc needs updated AUTHORS, COPYING, LICENSE_THIRD_PARTY AND README. 2013-07-16 18:04:56 +00:00
OWNERS Roll chromium_revision 5333e14..d8f8dc8 (323410:324211) 2015-04-09 13:36:33 +00:00
PATENTS Add references to src/ copies for LICENSE etc. 2011-10-26 01:05:07 +00:00
PRESUBMIT.py PRESUBMIT: Add new trybots for iOS Simulator 2015-04-20 06:58:07 +00:00
setup_links.py Roll chromium_revision a12e1e1..0cb2549 (326495:327252) 2015-04-29 12:48:00 +00:00
sync_chromium.py Roll chromium_revision a12e1e1..0cb2549 (326495:327252) 2015-04-29 12:48:00 +00:00
WATCHLISTS Removing henrik.lundin from OWNERS in video_coding/* 2015-03-18 09:56:21 +00:00