Commit Graph

653 Commits

Author SHA1 Message Date
59cb2bd20e Adjust RtcpReceiver to be testable with callbacks:
Instead of full RtpRtcpImpl takes interface of all functions it needs from it.
Added single function for parsing packets and sending feedback, moving that
logic from RtpRtcpImpl to RtcpReceiver.

BUG=webrtc:5260

Review-Url: https://codereview.webrtc.org/2274573002
Cr-Commit-Position: refs/heads/master@{#13960}
2016-08-29 18:08:53 +00:00
2800d74fcf Change RtpSender::OnReceiveNACK name and signature
Name changed to follow style.
list replaced with vector to decrease number of included headers.

R=philipel@webrtc.org

Review URL: https://codereview.webrtc.org/2276833003 .

Cr-Commit-Position: refs/heads/master@{#13938}
2016-08-26 16:49:05 +00:00
a897f26f17 AbsoluteSendTime rtp header extension publish MsTo24Bit conversion
Since this conversion is used in multiple place and extension seems
right place to keep it in.

BUG=webrtc:1994
NOTRY=true

Review-Url: https://codereview.webrtc.org/2272563010
Cr-Commit-Position: refs/heads/master@{#13934}
2016-08-26 12:42:47 +00:00
00e45bb09d Move InsertZeroColumns and CopyColumn to ::internal.
These functions operate directly on the packet masks, and are thus not directly
involved in the FEC encoding/decoding operation. The ::internal namespace is used
for packet mask-related functions, and will be renamed later on.

This CL should have no impact on functionality or performance.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2269893002
Cr-Commit-Position: refs/heads/master@{#13914}
2016-08-25 09:36:09 +00:00
a246cfb8b5 Don't include RTP headers in send-side BWE.
When they are included there will be a mismatch between what the BWE says and
what the encoder is allowed to use, causing us to send more than the network
can handle.

BUG=webrtc:6247
R=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/2269923003 .

Cr-Commit-Position: refs/heads/master@{#13866}
2016-08-23 15:51:57 +00:00
853ecb21f7 Style cleanup in UpdateTmmbr:
function names style updated,
unused return type removed.
Comment style fixed, redundant comments removed.
pass-by-pointer parameter changed to pass-by-value because can't be nullptr any more.

NOTRY=true
BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2258523005
Cr-Commit-Position: refs/heads/master@{#13848}
2016-08-22 15:26:22 +00:00
642e3bc75b [rtcp] TransportFeedback adjusted to match other rtcp packets:
Derived from rtcp::Rtpfb instead of directly from RtcpPacket
Does not depend on RTCPUtility.
Parse function takes CommonHeader.
TransportFeedback::BlockLength fixed to match size used by Create

BUG=webrtc:5260

Review-Url: https://codereview.webrtc.org/1847973003
Cr-Commit-Position: refs/heads/master@{#13846}
2016-08-22 14:37:00 +00:00
83d79cd4a2 Revert of Add pps id and sps id parsing to the h.264 depacketizer. (patchset #5 id:80001 of https://codereview.webrtc.org/2238253002/ )
Reason for revert:
Breaks some h264 bitstream tests downstream. Reverting for now.

Original issue's description:
> Add pps id and sps id parsing to the h.264 depacketizer.
>
> BUG=webrtc:6208
>
> Committed: https://crrev.com/abcc3de169d8896ad60e920e5677600fb3d40180
> Cr-Commit-Position: refs/heads/master@{#13838}

TBR=sprang@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6208

Review-Url: https://codereview.webrtc.org/2265023002
Cr-Commit-Position: refs/heads/master@{#13844}
2016-08-22 12:34:43 +00:00
e5b4141746 Move RTP timestamp calculation from BuildRTPheader to SendOutgoingData
BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2249223005
Cr-Commit-Position: refs/heads/master@{#13842}
2016-08-22 10:39:31 +00:00
abcc3de169 Add pps id and sps id parsing to the h.264 depacketizer.
BUG=webrtc:6208

Review-Url: https://codereview.webrtc.org/2238253002
Cr-Commit-Position: refs/heads/master@{#13838}
2016-08-22 08:20:43 +00:00
da161d795c Reformat rtcp_receiver
git cl format --full

BUG=webrtc:5565
NOTRY=true

Review-Url: https://codereview.webrtc.org/2259213002
Cr-Commit-Position: refs/heads/master@{#13832}
2016-08-19 14:29:51 +00:00
2b616397de Remove TMMBRSet class
by cleaning RTCPReceiveInfo class
and following cleaning of RTCPReceiver::BoundingSet function.

BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2254703003
Cr-Commit-Position: refs/heads/master@{#13817}
2016-08-18 13:17:48 +00:00
71fead2146 Reland of StartTimestamp generated randomly in RtpSender constructor (patchset #1 id:1 of https://codereview.webrtc.org/2248413002/ )
Reason for revert:
Reland: downstream code expectation about rtp_sender timestamp adjusted.

Original issue's description:
> Revert of StartTimestamp generated randomly in RtpSender constructor (patchset #4 id:60001 of https://codereview.webrtc.org/2241193002/ )
>
> Reason for revert:
> Breaks downstream code.
>
> Original issue's description:
> > StartTimestamp generated randomly in RtpSender constructor
> > instead of not-randomly at SetSendingState(true)
> > Renamed to timestamp_offset_ to better match meaning of the variable.
> >
> > R=asapersson@webrtc.org, terelius@webrtc.org
> >
> > Committed: https://crrev.com/4466782ae43e1b1125a55ee7e18abd10dd37cede
> > Cr-Commit-Position: refs/heads/master@{#13796}
>
> TBR=asapersson@webrtc.org,terelius@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/86c96948e340cf8b879bddb0c7293f3b5ad4dad4
> Cr-Commit-Position: refs/heads/master@{#13798}

TBR=asapersson@webrtc.org,terelius@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.webrtc.org/2257083002
Cr-Commit-Position: refs/heads/master@{#13811}
2016-08-18 09:02:16 +00:00
86c96948e3 Revert of StartTimestamp generated randomly in RtpSender constructor (patchset #4 id:60001 of https://codereview.webrtc.org/2241193002/ )
Reason for revert:
Breaks downstream code.

Original issue's description:
> StartTimestamp generated randomly in RtpSender constructor
> instead of not-randomly at SetSendingState(true)
> Renamed to timestamp_offset_ to better match meaning of the variable.
>
> R=asapersson@webrtc.org, terelius@webrtc.org
>
> Committed: https://crrev.com/4466782ae43e1b1125a55ee7e18abd10dd37cede
> Cr-Commit-Position: refs/heads/master@{#13796}

TBR=asapersson@webrtc.org,terelius@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.webrtc.org/2248413002
Cr-Commit-Position: refs/heads/master@{#13798}
2016-08-17 15:12:27 +00:00
4466782ae4 StartTimestamp generated randomly in RtpSender constructor
instead of not-randomly at SetSendingState(true)
Renamed to timestamp_offset_ to better match meaning of the variable.

R=asapersson@webrtc.org, terelius@webrtc.org

Review URL: https://codereview.webrtc.org/2241193002 .

Cr-Commit-Position: refs/heads/master@{#13796}
2016-08-17 13:07:49 +00:00
287e54820b Cleanup RtcpReceiver::TMMBRReceived function
BUG=webrtc:951

Review-Url: https://codereview.webrtc.org/2250633002
Cr-Commit-Position: refs/heads/master@{#13786}
2016-08-16 22:15:46 +00:00
2f69ce9498 Cleaned out candidateSet member from TMMBRHelp class
leaving that class memberless.

BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2234783002
Cr-Commit-Position: refs/heads/master@{#13776}
2016-08-16 10:21:44 +00:00
963be23e62 RtpRtcp: Remove the SetSendREDPayloadType and SendREDPayloadType methods
The last in-tree call site recently disappeared, so they were unused.

BUG=webrtc:5922

Review-Url: https://codereview.webrtc.org/2066473002
Cr-Commit-Position: refs/heads/master@{#13751}
2016-08-15 14:08:39 +00:00
daa90a7e35 Cleaned out boundingSet member from TMMBRHelp class
BUG=webrtc:5565
R=philipel@webrtc.org

Review URL: https://codereview.webrtc.org/2224933002 .

Cr-Commit-Position: refs/heads/master@{#13702}
2016-08-10 09:30:08 +00:00
74811e5fa3 Style updates to ProducerFec/FecReceiver.
- Make more use of std::unique_ptr.
- Auto type deduction for iterator type names.
- More extensive comments.
- Variable renaming.
- Make ProducerFec::BuildRedPacket() static.
- Avoid dynamic allocation of ProducerFec::fec_.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2110763002
Cr-Commit-Position: refs/heads/master@{#13700}
2016-08-10 07:51:59 +00:00
5fb291ac88 Remove RTPSenderInterface
Review-Url: https://codereview.webrtc.org/2218153002
Cr-Commit-Position: refs/heads/master@{#13694}
2016-08-09 14:43:33 +00:00
d90fa0be29 Unit test for media packet reordering in ForwardErrorCorrection.
This CL expands the test coverage by checking that the FEC can
handle reordered received media packets. Specifically, this checks
that |recovered_packets| is kept in sorted order.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2101253002
Cr-Commit-Position: refs/heads/master@{#13693}
2016-08-09 13:57:18 +00:00
3e2d6ac0c0 Updated comments and renaming of variables in ForwardErrorCorrection.
This CL should have no changes to functionality.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2107703002
Cr-Commit-Position: refs/heads/master@{#13690}
2016-08-09 10:29:57 +00:00
35c480cf18 Use std::unique_ptr in ForwardErrorCorrection.
This CL converts the ForwardErrorCorrection class to use std::unique_ptr
for memory management, rather than manually delete'ing allocated memory.

It further renames some data structures and types to distinguish between
generated FEC packets (i.e. coming from the encode operation) and
received FEC packets (i.e. coming in over the wire, intended for the
decode operation).

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2099243003
Cr-Commit-Position: refs/heads/master@{#13687}
2016-08-09 08:23:35 +00:00
262e486128 TMMBRHelp::FindBoundingSet function cleaned
it become static to clearly state input, output and temporary variables
style updated with minor improvments to actual algorithm.

Review-Url: https://codereview.webrtc.org/1989363006
Cr-Commit-Position: refs/heads/master@{#13652}
2016-08-05 10:37:43 +00:00
31e4e806b1 RtpPacketHistory rewritten to use RtpPacket class.
RtpSender updated to use new version of RtpPacketHistory.

BUG=webrtc:5261
R=asapersson@webrtc.org

Review URL: https://codereview.webrtc.org/1945773002 .

Cr-Commit-Position: refs/heads/master@{#13626}
2016-08-03 16:27:50 +00:00
837a1707ae Remove faulty DCHECK in rtcp::TransportFeedback::ParseFrom
BUG=chromium:632585
R=sprang@webrtc.org

Review URL: https://codereview.webrtc.org/2196563003 .

Cr-Commit-Position: refs/heads/master@{#13622}
2016-08-03 11:40:12 +00:00
525df3ffd1 Add EncodedImageCallback::OnEncodedImage().
OnEncodedImage() is going to replace Encoded(), which is deprecated now.
The new OnEncodedImage() returns Result struct that contains frame_id,
which tells the encoder RTP timestamp for the frame.

BUG=chromium:621691
R=niklas.enbom@webrtc.org, sprang@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2089773002 .

Committed: https://crrev.com/4c7f4cd2ef76821edca6d773d733a924b0bedd25
Committed: https://crrev.com/ad34dbe934d47f88011045671b4aea00dbd5a795
Cr-Original-Original-Commit-Position: refs/heads/master@{#13613}
Cr-Original-Commit-Position: refs/heads/master@{#13615}
Cr-Commit-Position: refs/heads/master@{#13617}
2016-08-03 00:46:47 +00:00
51db4dd1bd Revert of Add EncodedImageCallback::OnEncodedImage(). (patchset #14 id:300001 of https://codereview.chromium.org/2089773002/ )
Reason for revert:
broke browser_tests

Original issue's description:
> Add EncodedImageCallback::OnEncodedImage().
>
> OnEncodedImage() is going to replace Encoded(), which is deprecated now.
> The new OnEncodedImage() returns Result struct that contains frame_id,
> which tells the encoder RTP timestamp for the frame.
>
> BUG=chromium:621691
> R=niklas.enbom@webrtc.org, sprang@webrtc.org, stefan@webrtc.org
>
> Committed: https://crrev.com/4c7f4cd2ef76821edca6d773d733a924b0bedd25
> Committed: https://crrev.com/ad34dbe934d47f88011045671b4aea00dbd5a795
> Cr-Original-Commit-Position: refs/heads/master@{#13613}
> Cr-Commit-Position: refs/heads/master@{#13615}

TBR=pbos@webrtc.org,mflodman@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,niklas.enbom@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:621691

Review-Url: https://codereview.webrtc.org/2203233002
Cr-Commit-Position: refs/heads/master@{#13616}
2016-08-03 00:33:47 +00:00
4c7f4cd2ef Add EncodedImageCallback::OnEncodedImage().
OnEncodedImage() is going to replace Encoded(), which is deprecated now.
The new OnEncodedImage() returns Result struct that contains frame_id,
which tells the encoder RTP timestamp for the frame.

BUG=chromium:621691
R=niklas.enbom@webrtc.org, sprang@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2089773002 .

Committed: https://crrev.com/ad34dbe934d47f88011045671b4aea00dbd5a795
Cr-Original-Commit-Position: refs/heads/master@{#13613}
Cr-Commit-Position: refs/heads/master@{#13615}
2016-08-02 22:14:51 +00:00
ac4dc2cefe Revert of Add EncodedImageCallback::OnEncodedImage(). (patchset #13 id:280001 of https://codereview.webrtc.org/2089773002/ )
Reason for revert:
broke internal tests

Original issue's description:
> Add EncodedImageCallback::OnEncodedImage().
>
> OnEncodedImage() is going to replace Encoded(), which is deprecated now.
> The new OnEncodedImage() returns Result struct that contains frame_id,
> which tells the encoder RTP timestamp for the frame.
>
> BUG=chromium:621691
> R=niklas.enbom@webrtc.org, sprang@webrtc.org, stefan@webrtc.org
>
> Committed: https://crrev.com/ad34dbe934d47f88011045671b4aea00dbd5a795
> Cr-Commit-Position: refs/heads/master@{#13613}

TBR=pbos@webrtc.org,mflodman@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,niklas.enbom@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:621691

Review-Url: https://codereview.webrtc.org/2206743002
Cr-Commit-Position: refs/heads/master@{#13614}
2016-08-02 21:33:21 +00:00
ad34dbe934 Add EncodedImageCallback::OnEncodedImage().
OnEncodedImage() is going to replace Encoded(), which is deprecated now.
The new OnEncodedImage() returns Result struct that contains frame_id,
which tells the encoder RTP timestamp for the frame.

BUG=chromium:621691
R=niklas.enbom@webrtc.org, sprang@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2089773002 .

Cr-Commit-Position: refs/heads/master@{#13613}
2016-08-02 20:44:25 +00:00
32cd2c4103 Fix issues with RestartingSendStreamPreservesRtpStatesWithRtx
double check rtp_sender in sending mode when altering sequence_number
adjust test to skip validating timestamp on rtx streams
fix test by waiting for all 3 media streams instead of 3 out 6 media and rtx streams.

BUG=webrtc:4332

Review-Url: https://codereview.webrtc.org/2177523002
Cr-Commit-Position: refs/heads/master@{#13587}
2016-08-01 13:58:41 +00:00
95e756035e [rtcp] Nack::Parse updated not to use RTCPUtility
BUG=webrtc:5260
R=åsapersson

Review-Url: https://codereview.webrtc.org/2028543002
Cr-Commit-Position: refs/heads/master@{#13586}
2016-08-01 13:51:20 +00:00
b77bd81a4a Temporarily remove problematic dcheck
It's being triggered in some upstream code, let's disable this while we
fix that.

BUG=
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2196703002 .

Cr-Commit-Position: refs/heads/master@{#13575}
2016-07-29 13:20:30 +00:00
737336d37a Add NACK rate throttling for audio channels.
Not really used for audio today (already in place for video), but should
still function anyway.

BUG=
R=henrika@webrtc.org, minyue@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2181383002 .

Cr-Commit-Position: refs/heads/master@{#13571}
2016-07-29 10:59:49 +00:00
ec4f068bcd Style cleanups in RtpSender.
- Renamed variables and some function to comply with style guide.
- Removed default argument values.
- Removed some dead code.
- Cleaned up comments formatting in rtp_rtcp.h

R=danilchap@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2067673004 .

Cr-Commit-Position: refs/heads/master@{#13565}
2016-07-28 22:19:18 +00:00
a23fc626a2 Fix bug where transport sequence numbers are allocated for packets without the header extension registered.
This is an issue if the sequence numbers are to be used to compute packet loss statistics since it introduces gaps which are not related to loss.

Also making sure that the header extensions are properly guarded by the send crit sect.

Review-Url: https://codereview.webrtc.org/2190913002
Cr-Commit-Position: refs/heads/master@{#13557}
2016-07-28 14:56:45 +00:00
2874ed5709 [rtcp] App::Parse updated not to use RTCPUtility,
maximum allowed sized raised from limited by physical udp packet size to
limited by theoritical maximum rtcp packet size.

BUG=webrtc:5260
R=åsapersson

Review-Url: https://codereview.webrtc.org/1998633002
Cr-Commit-Position: refs/heads/master@{#13532}
2016-07-26 13:40:36 +00:00
70ffead256 Reimplemented fix for bogus RTP timestamp in RTCP packet created before RTP packet.
Now it check if rtp timestamp can be calculating instead of checking number of rtp packets. This way it works for reconfigured streams too.

It also moved deeper into rtcp_sender class to prevent SR no matter the reason it need to be genereated. This way it prevents creating compound rtcp packets that have to start with Sender Report and Sender Reports as response to (mostly theoretical) sr-request rtcp packet.

BUG=webrtc:1600
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1639253007 .

Cr-Commit-Position: refs/heads/master@{#13503}
2016-07-20 13:27:09 +00:00
cd349d9743 Reland of actor NACK bitrate allocation (patchset #1 id:1 of https://codereview.webrtc.org/2131913003/ )
Reason for revert:
Upstream fixes in place, should be OK now.

Original issue's description:
> Revert of Refactor NACK bitrate allocation (patchset #16 id:300001 of https://codereview.webrtc.org/2061423003/ )
>
> Reason for revert:
> Breaks upstream code.
>
> Original issue's description:
> > Refactor NACK bitrate allocation
> >
> > Nack bitrate allocation should not be done on a per-rtp-module basis,
> > but rather shared bitrate pool per call. This CL moves allocation to the
> > pacer and cleans up a bunch if bitrate stats handling.
> >
> > BUG=
> > R=danilchap@webrtc.org, stefan@webrtc.org, tommi@webrtc.org
> >
> > Committed: 5fc59e810b
>
> TBR=tommi@webrtc.org,danilchap@webrtc.org,stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/e5dd44101eca485f5ad12e5f7ce6f6b0d204116b
> Cr-Commit-Position: refs/heads/master@{#13417}

TBR=tommi@webrtc.org,danilchap@webrtc.org,stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=

Review-Url: https://codereview.webrtc.org/2146013002
Cr-Commit-Position: refs/heads/master@{#13465}
2016-07-13 16:11:38 +00:00
a49f1105eb Revert of Reland Issue 2061423003: Refactor NACK bitrate allocation (patchset #1 id:1 of https://codereview.webrtc.org/2131313002/ )
Reason for revert:
It keeps breaking upstream.

Original issue's description:
> Reland Issue 2061423003: Refactor NACK bitrate allocation
>
> This is a reland of https://codereview.webrtc.org/2061423003/
> Which was reverted in https://codereview.webrtc.org/2131913003/
>
> The reason for the revert was that some upstream code used
> RtpSender::SetTargetBitrate(). I've added that back as a no-op until we
> it's been brought up to date.
>
> TBR=tommi@webrtc.org
>
> Committed: 05ce4ae31f

TBR=tommi@webrtc.org,sprang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.webrtc.org/2130423002
Cr-Commit-Position: refs/heads/master@{#13419}
2016-07-08 18:02:02 +00:00
05ce4ae31f Reland Issue 2061423003: Refactor NACK bitrate allocation
This is a reland of https://codereview.webrtc.org/2061423003/
Which was reverted in https://codereview.webrtc.org/2131913003/

The reason for the revert was that some upstream code used
RtpSender::SetTargetBitrate(). I've added that back as a no-op until we
it's been brought up to date.

TBR=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/2131313002 .

Cr-Commit-Position: refs/heads/master@{#13418}
2016-07-08 17:11:23 +00:00
e5dd44101e Revert of Refactor NACK bitrate allocation (patchset #16 id:300001 of https://codereview.webrtc.org/2061423003/ )
Reason for revert:
Breaks upstream code.

Original issue's description:
> Refactor NACK bitrate allocation
>
> Nack bitrate allocation should not be done on a per-rtp-module basis,
> but rather shared bitrate pool per call. This CL moves allocation to the
> pacer and cleans up a bunch if bitrate stats handling.
>
> BUG=
> R=danilchap@webrtc.org, stefan@webrtc.org, tommi@webrtc.org
>
> Committed: 5fc59e810b

TBR=tommi@webrtc.org,danilchap@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review-Url: https://codereview.webrtc.org/2131913003
Cr-Commit-Position: refs/heads/master@{#13417}
2016-07-08 16:39:02 +00:00
5fc59e810b Refactor NACK bitrate allocation
Nack bitrate allocation should not be done on a per-rtp-module basis,
but rather shared bitrate pool per call. This CL moves allocation to the
pacer and cleans up a bunch if bitrate stats handling.

BUG=
R=danilchap@webrtc.org, stefan@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/2061423003 .

Cr-Commit-Position: refs/heads/master@{#13416}
2016-07-08 16:15:29 +00:00
ae4f7674e4 Style updates for ForwardErrorCorrection and related classes.
This CL mainly updates the FEC code to use more C++11 features and
to be more in line with the style guide. These changes should
have no impact on the functionality provided by the FEC.

Summary of style fixes:
- Use range-based for loops, where applicable.
- Use auto type deduction for iterator type names.
- Use RTC_DCHECK instead of assert.
- Rename FEC to Fec, where applicable.
- Update test_fec.cc to use variable_names rather than variableNames.
- Avoid redefining the PacketList types outside ForwardErrorCorrection.

Another minor change is that storage for the packet masks, as these
are generated, now is provided by a member variable, rather than
being dynamically allocated on every call to GenerateFec.

BUG=webrtc:5654
R=danilchap@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2080553003 .

Cr-Commit-Position: refs/heads/master@{#13403}
2016-07-07 07:41:03 +00:00
956ed71a11 TransportFeedback must be able to start with dropped packets.
A bug in the transpot feedback adapter causes new feedback message to
always start with a received packet. This makes it impossible for the
receiver to distinguish from actual dropped packets and dropped feedback
messages.

BUG=webrtc:6073
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2122863002 .

Cr-Commit-Position: refs/heads/master@{#13381}
2016-07-05 10:01:08 +00:00
d4bcdad263 Add a libfuzzer for RtpHeaderParser.
NOTRY=true

Review-Url: https://codereview.webrtc.org/2062103002
Cr-Commit-Position: refs/heads/master@{#13271}
2016-06-23 10:50:43 +00:00
2169d8bc68 Reland of move audio/video distinction for probe packets. (patchset #1 id:1 of https://codereview.webrtc.org/2086633002/ )
Reason for revert:
Fix already landed in google3, this revert actually breaks the import.

Original issue's description:
> Revert of Remove audio/video distinction for probe packets. (patchset #2 id:20001 of https://codereview.webrtc.org/2061193002/ )
>
> Reason for revert:
> Revert this because it broke the google3 import build.
> http://webrtc-buildbot-master.mtv.corp.google.com:21000/builders/WebRTC%20google3%20Importer%20%28Shem%20TOT%29/builds/67/steps/blaze_regular_tests/logs/stdio
>
> Original issue's description:
> > Remove audio/video distinction for probe packets.
> >
> > Allows detecting large-enough audio packets as part of a probe,
> > speculative fix for a rampup-time regression in M50. These packets are
> > accounted on the send side when probing.
> >
> > BUG=webrtc:5985
> > R=mflodman@webrtc.org, philipel@webrtc.org
> >
> > Committed: https://crrev.com/a7d88d38448f6a5677a017562765ab505b89d468
> > Cr-Commit-Position: refs/heads/master@{#13210}
>
> TBR=mflodman@webrtc.org,philipel@webrtc.org,pbos@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5985
>
> Committed: https://crrev.com/17bde8c96ee8b5a7e496a7dc98828b84f9756925
> Cr-Commit-Position: refs/heads/master@{#13221}

TBR=mflodman@webrtc.org,philipel@webrtc.org,honghaiz@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5985

Review-Url: https://codereview.webrtc.org/2085653002
Cr-Commit-Position: refs/heads/master@{#13223}
2016-06-20 18:53:09 +00:00
17bde8c96e Revert of Remove audio/video distinction for probe packets. (patchset #2 id:20001 of https://codereview.webrtc.org/2061193002/ )
Reason for revert:
Revert this because it broke the google3 import build.
http://webrtc-buildbot-master.mtv.corp.google.com:21000/builders/WebRTC%20google3%20Importer%20%28Shem%20TOT%29/builds/67/steps/blaze_regular_tests/logs/stdio

Original issue's description:
> Remove audio/video distinction for probe packets.
>
> Allows detecting large-enough audio packets as part of a probe,
> speculative fix for a rampup-time regression in M50. These packets are
> accounted on the send side when probing.
>
> BUG=webrtc:5985
> R=mflodman@webrtc.org, philipel@webrtc.org
>
> Committed: https://crrev.com/a7d88d38448f6a5677a017562765ab505b89d468
> Cr-Commit-Position: refs/heads/master@{#13210}

TBR=mflodman@webrtc.org,philipel@webrtc.org,pbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5985

Review-Url: https://codereview.webrtc.org/2086633002
Cr-Commit-Position: refs/heads/master@{#13221}
2016-06-20 18:47:25 +00:00