9a78d22822
Revert of Consolidate constructormagic macros with Chromium version and remove Chromium override. (patchset #4 id:60001 of https://codereview.webrtc.org/1316363005/ )
...
Reason for revert:
Had to revert since FYI bots stopped compiling. Example failure:
[94/9470] CXX obj\third_party\webrtc\modules\video_processing\main\source\video_processing_sse2.content_analysis_sse2.obj
FAILED: ninja -t msvc -e environment.x86 -- E:\b\build\goma/gomacc "E:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\third_party\webrtc\modules\video_coding\codecs\h264\webrtc_h264.h264.obj.rsp /c ..\..\third_party\webrtc\modules\video_coding\codecs\h264\h264.cc /Foobj\third_party\webrtc\modules\video_coding\codecs\h264\webrtc_h264.h264.obj /Fdobj\third_party\webrtc\modules\webrtc_h264.cc.pdb
e:\b\build\slave\win\build\src\base\macros.h(28) : error C2220: warning treated as error - no 'object' file generated
e:\b\build\slave\win\build\src\base\macros.h(28) : warning C4005: 'DISALLOW_COPY_AND_ASSIGN' : macro redefinition
e:\b\build\slave\win\build\src\third_party\webrtc\base\constructormagic.h(27) : see previous definition of 'DISALLOW_COPY_AND_ASSIGN'
FAILED: ninja -t msvc -e environment.x86 -- E:\b\build\goma/gomacc "E:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\third_party\webrtc\base\rtc_base_approved.bitbuffer.obj.rsp /c ..\..\third_party\webrtc\base\bitbuffer.cc /Foobj\third_party\webrtc\base\rtc_base_approved.bitbuffer.obj /Fdobj\third_party\webrtc\base\rtc_base_approved.cc.pdb
e:\b\build\slave\win\build\src\base\macros.h(28) : error C2220: warning treated as error - no 'object' file generated
e:\b\build\slave\win\build\src\base\macros.h(28) : warning C4005: 'DISALLOW_COPY_AND_ASSIGN' : macro redefinition
e:\b\build\slave\win\build\src\third_party\webrtc\base\constructormagic.h(27) : see previous definition of 'DISALLOW_COPY_AND_ASSIGN'
FAILED: ninja -t msvc -e environment.x86 -- E:\b\build\goma/gomacc "E:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\third_party\webrtc\modules\audio_processing\logging\audio_processing.aec_logging_file_handling.obj.rsp /c ..\..\third_party\webrtc\modules\audio_processing\logging\aec_logging_file_handling.cc /Foobj\third_party\webrtc\modules\audio_processing\logging\audio_processing.aec_logging_file_handling.obj /Fdobj\third_party\webrtc\modules\audio_processing.cc.pdb
e:\b\build\slave\win\build\src\base\macros.h(28) : error C2220: warning treated as error - no 'object' file generated
e:\b\build\slave\win\build\src\base\macros.h(28) : warning C4005: 'DISALLOW_COPY_AND_ASSIGN' : macro redefinition
e:\b\build\slave\win\build\src\third_party\webrtc\base\constructormagic.h(27) : see previous definition of 'DISALLOW_COPY_AND_ASSIGN'
FAILED: ninja -t msvc -e environment.x86 -- E:\b\build\goma/gomacc "E:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\third_party\webrtc\modules\audio_processing\beamformer\audio_processing.nonlinear_beamformer.obj.rsp /c ..\..\third_party\webrtc\modules\audio_processing\beamformer\nonlinear_beamformer.cc /Foobj\third_party\webrtc\modules\audio_processing\beamformer\audio_processing.nonlinear_beamformer.obj /Fdobj\third_party\webrtc\modules\audio_processing.cc.pdb
e:\b\build\slave\win\build\src\base\macros.h(28) : error C2220: warning treated as error - no 'object' file generated
e:\b\build\slave\win\build\src\base\macros.h(28) : warning C4005: 'DISALLOW_COPY_AND_ASSIGN' : macro redefinition
e:\b\build\slave\win\build\src\third_party\webrtc\base\constructormagic.h(27) : see previous definition of 'DISALLOW_COPY_AND_ASSIGN'
Original issue's description:
> Consolidate constructormagic macros with Chromium version and remove Chromium override.
>
> Part of work removing dependency on Chromium's base.
>
> Only adds "= delete". From https://codereview.chromium.org/1151443003 :
> "This will guarantee the error to be at compile time, and not rely on the call visibility (private)."
>
> In consequence of that change, fixed an illegal copy and removed a bunch of unused variables.
>
> BUG=chromium:468375 (in particular comment #37 )
> NOTRY=true
>
> Committed: https://crrev.com/0de8ff488d92e0bc6b7b65662898ff5e955cda93
> Cr-Commit-Position: refs/heads/master@{#9913}
TBR=andrew@webrtc.org ,henrikg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:468375 (in particular comment #37 )
Review URL: https://codereview.webrtc.org/1330283002
Cr-Commit-Position: refs/heads/master@{#9914}
2015-09-10 08:42:03 +00:00
0de8ff488d
Consolidate constructormagic macros with Chromium version and remove Chromium override.
...
Part of work removing dependency on Chromium's base.
Only adds "= delete". From https://codereview.chromium.org/1151443003 :
"This will guarantee the error to be at compile time, and not rely on the call visibility (private)."
In consequence of that change, fixed an illegal copy and removed a bunch of unused variables.
BUG=chromium:468375 (in particular comment #37 )
NOTRY=true
Review URL: https://codereview.webrtc.org/1316363005
Cr-Commit-Position: refs/heads/master@{#9913}
2015-09-10 06:43:49 +00:00
233bd87d45
Add RemoteEstimatorProxy for capturing receive times
...
For use when send-side bandwidth estimation is enabled.
Receive times need to be captured, buffered and then sent using
TransportFeedback RTCP messaged back to the send side.
BUG=webrtc:4173
Review URL: https://codereview.webrtc.org/1290813008
Cr-Commit-Position: refs/heads/master@{#9898}
2015-09-08 20:25:20 +00:00
7f6a6fc0b2
Enabling spatial layers in VP9Impl. Filter layers in the loopback test.
...
Handling the case when encoder drops only the higher layer.
Added options to screenshare loopback test to discard high temporal or spatial layers (to view the lower layers).
Review URL: https://codereview.webrtc.org/1287643002
Cr-Commit-Position: refs/heads/master@{#9883}
2015-09-08 09:40:36 +00:00
c8a1cccd0a
Fixed base time in TransportFeedback message writing.
...
Value was incorrectly truncated to 16 bits when serializing the message.
Fixed, with added regression tests.
BUG=
Review URL: https://codereview.webrtc.org/1294393002
Cr-Commit-Position: refs/heads/master@{#9858}
2015-09-04 11:38:17 +00:00
be9b7b6881
Make sure ByteReader and ByteWriter classes (and their specializations) don't perform operations that have implementation-specific or undefined behavior.
...
Pitfalls:
* Left shift of signed integer has undefined behavior
* Right-shift of signed integer has platform-specific behavior is value is negative
* Cast from unsigned to signed has undefined behavior if value is negative
BUG=webrtc:4824
Review URL: https://codereview.webrtc.org/1226993003
Cr-Commit-Position: refs/heads/master@{#9854}
2015-09-04 08:07:01 +00:00
521875a9a4
Use RtcpPacket to send APP in RtcpSender
...
BUG=webrtc:2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1311453002 .
Cr-Commit-Position: refs/heads/master@{#9827}
2015-09-01 08:11:36 +00:00
ca28fdcf9f
Use RtcpPacket to send XR (RTRR, DLRR, VOIP) in RtcpSender
...
BUG=webrtc:2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1304123003 .
Cr-Commit-Position: refs/heads/master@{#9820}
2015-08-31 12:01:08 +00:00
d83df50e95
Use RtcpPacket to send TMMBN in RtcpSender
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1302403002
Cr-Commit-Position: refs/heads/master@{#9793}
2015-08-27 08:05:12 +00:00
d8ee4f9915
Use RtcpPacket to send BYE in RtcpSender
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1306893003
Cr-Commit-Position: refs/heads/master@{#9763}
2015-08-24 10:25:27 +00:00
81a3e60c63
Use RtcpPacket to send TMMBR in RtcpSender
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1296163004
Cr-Commit-Position: refs/heads/master@{#9755}
2015-08-21 12:30:17 +00:00
dd4edc5813
Reland of Use RtcpPacket to send REMB in RtcpSender (patchset #1 id:1 of https://codereview.webrtc.org/1300863002/ )
...
Reason for revert:
This wasn't the cause of the breakage. Re-reverting.
https://code.google.com/p/webrtc/issues/detail?id=4923
Original issue's description:
> Revert of Use RtcpPacket to send REMB in RtcpSender (patchset #1 id:1 of https://codereview.webrtc.org/1290573004/ )
>
> Reason for revert:
> A few bots started failing rtc_unittests after this was commited. Ex https://build.chromium.org/p/client.webrtc/builders/Linux64%20Debug/builds/5048
>
> Original issue's description:
> > Use RtcpPacket to send REMB in RtcpSender
> >
> > BUG=webrtc:2450
> > R=asapersson@webrtc.org
> >
> > Committed: 35ab4baa20
>
> TBR=asapersson@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:2450
>
> Committed: https://crrev.com/141c5951f4beda868797c2746002a4b1b267ab2a
> Cr-Commit-Position: refs/heads/master@{#9723}
TBR=asapersson@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1309723002
Cr-Commit-Position: refs/heads/master@{#9754}
2015-08-21 11:21:56 +00:00
22ff75a163
Add unit tests for more packet types in rtcp_sender_unittest.
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1291113004
Cr-Commit-Position: refs/heads/master@{#9751}
2015-08-21 07:02:53 +00:00
141c5951f4
Revert of Use RtcpPacket to send REMB in RtcpSender (patchset #1 id:1 of https://codereview.webrtc.org/1290573004/ )
...
Reason for revert:
A few bots started failing rtc_unittests after this was commited. Ex https://build.chromium.org/p/client.webrtc/builders/Linux64%20Debug/builds/5048
Original issue's description:
> Use RtcpPacket to send REMB in RtcpSender
>
> BUG=webrtc:2450
> R=asapersson@webrtc.org
>
> Committed: 35ab4baa20
TBR=asapersson@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1300863002
Cr-Commit-Position: refs/heads/master@{#9723}
2015-08-18 11:37:39 +00:00
35ab4baa20
Use RtcpPacket to send REMB in RtcpSender
...
BUG=webrtc:2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1290573004 .
Cr-Commit-Position: refs/heads/master@{#9722}
2015-08-18 09:54:18 +00:00
cf7f54d6f4
Use RtcpPacket to send RPSI in RtcpSender
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1291013002
Cr-Commit-Position: refs/heads/master@{#9704}
2015-08-13 11:37:48 +00:00
0365a27f56
Use RtcpPacket to send SLI in RtcpSender
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1268383002
Cr-Commit-Position: refs/heads/master@{#9695}
2015-08-11 08:02:44 +00:00
4cee419e07
Separating voice activity flag from audio level in RtpHeaderExtension.
...
VAD flag was embedded in RtpHeaderExtension.audioLevel, which is not easy to interpret. This CL tries to separate the flag with the actual audio level.
BUG=
R=andrew@webrtc.org , henrik.lundin@webrtc.org
Review URL: https://codereview.webrtc.org/1272343003 .
Cr-Commit-Position: refs/heads/master@{#9691}
2015-08-10 13:08:46 +00:00
62dae19098
Use RtcpPacket to send FIR in RtcpSender
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1261323003
Cr-Commit-Position: refs/heads/master@{#9677}
2015-08-05 09:37:21 +00:00
867fb5224e
Add support for transport wide sequence numbers
...
Also refactor packet router to use a map rather than iterate over all
rtp modules for each packet sent.
BUG=webrtc:4311
Review URL: https://codereview.webrtc.org/1247293002
Cr-Commit-Position: refs/heads/master@{#9670}
2015-08-03 11:38:48 +00:00
72aa9a6c6e
Use RtcpPacket to send PLI in RtcpSender
...
BUG=webrtc:2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1262153003 .
Cr-Commit-Position: refs/heads/master@{#9666}
2015-07-31 14:16:12 +00:00
a9455ab235
Integration of VP9 packetization.
...
Supports running 1 spatial and 1-3 temporal layers in non-flexible mode.
BUG=webrtc:4148, webrtc:4168, chromium:500602
TBR=mflodman
Review URL: https://codereview.webrtc.org/1211353002
Cr-Commit-Position: refs/heads/master@{#9665}
2015-07-31 13:10:16 +00:00
5f5f11cc8b
FEC protect H264 delta frames as well.
...
BUG=webrtc:4800
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1266593003
Cr-Commit-Position: refs/heads/master@{#9662}
2015-07-30 12:44:34 +00:00
a3b8769860
Add packetization and coding/decoding of feedback message format.
...
BUG=webrtc:4312
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1175263002 .
Cr-Commit-Position: refs/heads/master@{#9651}
2015-07-29 08:47:04 +00:00
f1828e8ed9
Prevent OOB reads for truncated H264 STAP-A packets.
...
BUG=webrtc:4771, webrtc:4834
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1238033003
Cr-Commit-Position: refs/heads/master@{#9650}
2015-07-28 15:21:07 +00:00
f38ea3caa3
Add support for VP9 packetization/depacketization.
...
RTP payload format for VP9:
https://www.ietf.org/id/draft-uberti-payload-vp9-01.txt
BUG=webrtc:4148, webrtc:4168, chromium:500602
TBR=mflodman
Review URL: https://codereview.webrtc.org/1232023006
Cr-Commit-Position: refs/heads/master@{#9649}
2015-07-28 11:02:58 +00:00
a38233a586
Removed extended jitter report from RtcpSender.
...
This was never used (value always 0, when sent)
BUG=2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1208843003 .
Cr-Commit-Position: refs/heads/master@{#9631}
2015-07-24 07:58:29 +00:00
43e7d3bc15
Avoid overflow in checking for emulation bytes in rbsp.
...
Also fixed an arithmetic issue where a 0 0 3 at the end of the rbsp would include the 3 (that's not a legal bitstream anyway, so it probably wasn't a real bug, but it was incorrect).
This maintains the underflow fix from an earlier CL (https://codereview.webrtc.org/1219493004/ ). The overflow fix is virtually impossible to hit (hence no unit tests), but is there for strict correctness.
BUG=
Review URL: https://codereview.webrtc.org/1226203002
Cr-Commit-Position: refs/heads/master@{#9581}
2015-07-14 17:45:07 +00:00
ba8c15b857
Merge methods for configuring NACK/FEC/hybrid.
...
BUG=webrtc:1695
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1226143013
Cr-Commit-Position: refs/heads/master@{#9580}
2015-07-14 16:36:37 +00:00
d6f1a38165
Remove ViEChannel simulcast lock.
...
Since the number of streams is now known on construction we can
initialize all RTP modules on construction. They are internally locked
so we don't nede a simulcast lock anymore.
BUG=1695
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/52639004 .
Cr-Commit-Position: refs/heads/master@{#9577}
2015-07-14 14:08:14 +00:00
30409b4dca
Add statistics gathering for packet loss.
...
Adds a class used to classify whether packet loss events are a single packet or multiple packets as well as how many packets have been lost. Also exposes a new function in the RtpRtcp interface to retrieve these statistics.
BUG=
Review URL: https://codereview.webrtc.org/1198853004
Cr-Commit-Position: refs/heads/master@{#9568}
2015-07-11 01:10:08 +00:00
d436298332
Remove ResetStatistics from RTP feedback.
...
BUG=
R=asapersson@webrtc.org , stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1213603002
Cr-Commit-Position: refs/heads/master@{#9548}
2015-07-07 15:32:56 +00:00
2bad88d164
Prevent heap overflows for incorrect FEC packet lengths.
...
Bugs found by manual inspection of code, not by fuzzing or packet
replays. At least one of them confirmed by local fuzzing.
BUG=chromium:496094, webrtc:4771
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1182793002
Cr-Commit-Position: refs/heads/master@{#9542}
2015-07-06 10:09:15 +00:00
468e62a974
Remove MimdRateControl and factories for RemoteBitrateEstimor.
...
BUG=
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1208083002 .
Cr-Commit-Position: refs/heads/master@{#9541}
2015-07-06 08:51:01 +00:00
545727ecce
Move early-return in TimeToSendPadding.
...
Prevents taking send_critsect_ for checking sending status when not
actually intending to send padding.
BUG=
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1218093002
Cr-Commit-Position: refs/heads/master@{#9526}
2015-07-01 13:31:14 +00:00
bd2522abf7
Fail RTP parsing on excessive padding length.
...
BUG=webrtc:4771
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1220863002
Cr-Commit-Position: refs/heads/master@{#9525}
2015-07-01 12:35:56 +00:00
4daa90eed7
Prevent size_t underflow in H264 SPS parsing.
...
BUG=webrtc:4771
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1219493004
Cr-Commit-Position: refs/heads/master@{#9523}
2015-07-01 10:00:20 +00:00
2f1509395b
Prevent OOB read on truncated H264 headers.
...
Prevents OOB reads on truncated FU-A NAL units, StapA headers and past
truncation just after StapA headers.
BUG=webrtc:4771
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1218023003
Cr-Commit-Position: refs/heads/master@{#9522}
2015-06-30 15:23:42 +00:00
7ada923a94
Prevent OOB reads for zero-length H264 payloads.
...
Also fixes zero-length OOB reads for generic packetization.
BUG=webrtc:4771
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1218013002
Cr-Commit-Position: refs/heads/master@{#9521}
2015-06-30 12:09:47 +00:00
48c3839e70
Prevent depacketizer OOB reads on zero-length VP8 payload.
...
BUG=webrtc:4771
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1221643009
Cr-Commit-Position: refs/heads/master@{#9520}
2015-06-30 09:12:09 +00:00
2e43b26c78
Prevent OOB reads in FEC packets without complete RED headers.
...
BUG=webrtc:4771
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1220753003
Cr-Commit-Position: refs/heads/master@{#9518}
2015-06-30 08:32:47 +00:00
70d5c475dd
Prevent out-of-bounds reads for short FEC packets.
...
BUG=webrtc:4771
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1219703002
Cr-Commit-Position: refs/heads/master@{#9514}
2015-06-29 14:22:09 +00:00
0ea42d319e
Send Sdes using RtcpPacket
...
BUG=2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1196863003 .
Cr-Commit-Position: refs/heads/master@{#9504}
2015-06-25 12:46:23 +00:00
bdc0b0d869
Use RtcpPacket classes for SenderReport/ReceiveReport in RTCPSender
...
BUG=2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1170723002 .
Cr-Commit-Position: refs/heads/master@{#9483}
2015-06-22 13:21:40 +00:00
c1b9d4e686
Add support for fragmentation in RtcpPacket.
...
If the buffer becomes full an OnPacketReady callback will be used to
send the packets created so far. On success the buffer can be reused.
The same callback will be called when the last packet has beed created.
Also made some changes to RawPacket. Buffer will now be heap-allocated
rather than (potentially) stack-allocated, but on the plus side it can
now be allocted with variable size and also avoids one memcpy.
BUG=
patch from issue 56429004 at patchset 160001 (http://crrev.com/56429004#ps160001 )
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1165113002
Cr-Commit-Position: refs/heads/master@{#9390}
2015-06-08 07:54:24 +00:00
26b08605e2
Use one scoped_refptr.
...
Uses webrtc/base/scoped_ref_ptr.h and removes the copy in
system_wrappers.
BUG=
R=kwiberg@webrtc.org , tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1152733005
Cr-Commit-Position: refs/heads/master@{#9370}
2015-06-04 13:18:28 +00:00
9ba52f89ac
Remove intermediate RTCP CNAME buffers.
...
Sets CNAME using a pointer to only perform a copy inside the RTCP
sender.
BUG=
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/50169005
Cr-Commit-Position: refs/heads/master@{#9346}
2015-06-01 12:12:40 +00:00
71861a0e20
Remove GetSendSideDelay from RtpRtcp.
...
These stats are reported using a callback either way, removing a getter
+ an old related deadlock suppression.
BUG=1695, 2999
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/50119004
Cr-Commit-Position: refs/heads/master@{#9314}
2015-05-28 12:45:45 +00:00
11beccd712
Remove external report blocks from RtcpSender and rtp_rtcp interface.
...
Feature does not seem to be used and complicates other refactoring of
the rtcp module.
BUG=
R=asapersson@webrtc.org , henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/54569004
Cr-Commit-Position: refs/heads/master@{#9304}
2015-05-28 09:10:34 +00:00
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