Commit Graph

28 Commits

Author SHA1 Message Date
cd386eb13f Delete support for sending RTCP RPSI and SLI messages.
BUG=webrtc:7338

Review-Url: https://codereview.webrtc.org/2746413003
Cr-Commit-Position: refs/heads/master@{#17229}
2017-03-14 15:54:43 +00:00
a45102f7b4 Revert of Revert Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.chromium.org/2682073003/ )
Reason for revert:
Fix here: https://codereview.chromium.org/2708593003

Original issue's description:
> Revert Make the new jitter buffer the default jitter buffer.
>
> Speculative revert of https://codereview.chromium.org/2656983002/ to see if it fixes a downstream bug.
>
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2682073003
> Cr-Commit-Position: refs/heads/master@{#16492}
> Committed: e525d6aba6

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

Review-Url: https://codereview.webrtc.org/2704183002
Cr-Commit-Position: refs/heads/master@{#16772}
2017-02-22 13:30:39 +00:00
38cc1d6b31 Replace RtpStreamReceiver::DeliverRtp with OnRtpPacket.
This avoids redoing RTP header parsing already done in Call, for video.

The next step is to convert other types of receive streams, i.e.,
audio and flexfec, to use a compatible OnRtpPacket method. We can then
introduce a shared base interface, and simplify media-independent
receive processing in Call.

BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2681673004
Cr-Commit-Position: refs/heads/master@{#16583}
2017-02-13 13:59:46 +00:00
e525d6aba6 Revert Make the new jitter buffer the default jitter buffer.
Speculative revert of https://codereview.chromium.org/2656983002/ to see if it fixes a downstream bug.

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2682073003
Cr-Commit-Position: refs/heads/master@{#16492}
2017-02-08 13:25:42 +00:00
4709e8971b Move RemoteBitrateEstimator::RemoveStream calls from receive streams to Call.
We can then drop the CongestionController and RemoteBitrateEstimator
completely from the receive streams.

BUG=webrtc:6847

Review-Url: https://codereview.webrtc.org/2669463006
Cr-Commit-Position: refs/heads/master@{#16459}
2017-02-07 09:18:43 +00:00
e5bd70223d Reland of Make the new jitter buffer the default jitter buffer. (patchset #2 id:260001 of https://codereview.chromium.org/2656983002/ )
Reason for revert:
Incoming fix: https://codereview.chromium.org/2675693002/

Original issue's description:
> Revert of Make the new jitter buffer the default jitter buffer. (patchset #2 id:290001 of https://codereview.chromium.org/2652043005/ )
>
> Reason for revert:
> Breaks downstream bots
>
> Original issue's description:
> > Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.webrtc.org/2638423003/ )
> >
> > Reason for revert:
> > Bugfixes related to the new jitter buffer has landed.
> >
> > Original issue's description:
> > > Revert of Make the new jitter buffer the default jitter buffer. (patchset #2 id:230001 of https://codereview.webrtc.org/2642753002/ )
> > >
> > > Reason for revert:
> > > Breaks tests downstream.
> > >
> > > Original issue's description:
> > > > Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.chromium.org/2632123005/ )
> > > >
> > > > Reason for revert:
> > > > Fix in this CL: https://codereview.chromium.org/2640793003/
> > > >
> > > > Original issue's description:
> > > > > Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
> > > > >
> > > > > Reason for revert:
> > > > > Breaks android bots.
> > > > >
> > > > > Original issue's description:
> > > > > > Make the new jitter buffer the default jitter buffer.
> > > > > >
> > > > > > This CL contains only the changes necessary to make the switch to the new jitter
> > > > > > buffer, clean up will be done in follow up CLs.
> > > > > >
> > > > > > In this CL:
> > > > > >  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
> > > > > >    new video jitter buffer the default one.
> > > > > >  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
> > > > > >    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
> > > > > >
> > > > > > BUG=webrtc:5514
> > > > > >
> > > > > > Review-Url: https://codereview.webrtc.org/2627463004
> > > > > > Cr-Commit-Position: refs/heads/master@{#16114}
> > > > > > Committed: 0f0763d86d
> > > > >
> > > > > TBR=stefan@webrtc.org,terelius@webrtc.org
> > > > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > > > NOPRESUBMIT=true
> > > > > NOTREECHECKS=true
> > > > > NOTRY=true
> > > > > BUG=webrtc:5514
> > > > >
> > > > > Review-Url: https://codereview.webrtc.org/2632123005
> > > > > Cr-Commit-Position: refs/heads/master@{#16117}
> > > > > Committed: c08c191f7d
> > > >
> > > > TBR=stefan@webrtc.org,terelius@webrtc.org
> > > > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > > > BUG=webrtc:5514
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2642753002
> > > > Cr-Commit-Position: refs/heads/master@{#16149}
> > > > Committed: f20dd0014d
> > >
> > > TBR=stefan@webrtc.org,terelius@webrtc.org,philipel@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:5514
> > >
> > > Review-Url: https://codereview.webrtc.org/2638423003
> > > Cr-Commit-Position: refs/heads/master@{#16159}
> > > Committed: 04926b8264
> >
> > TBR=stefan@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org,kjellander@google.com
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:5514
> >
> > Review-Url: https://codereview.webrtc.org/2652043005
> > Cr-Commit-Position: refs/heads/master@{#16293}
> > Committed: 09d6ef00fc
>
> TBR=stefan@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org,kjellander@google.com
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2656983002
> Cr-Commit-Position: refs/heads/master@{#16316}
> Committed: 27378f39ce

TBR=stefan@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org,kjellander@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2670183002
Cr-Commit-Position: refs/heads/master@{#16420}
2017-02-02 17:53:00 +00:00
27378f39ce Revert of Make the new jitter buffer the default jitter buffer. (patchset #2 id:290001 of https://codereview.chromium.org/2652043005/ )
Reason for revert:
Breaks downstream bots

Original issue's description:
> Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.webrtc.org/2638423003/ )
>
> Reason for revert:
> Bugfixes related to the new jitter buffer has landed.
>
> Original issue's description:
> > Revert of Make the new jitter buffer the default jitter buffer. (patchset #2 id:230001 of https://codereview.webrtc.org/2642753002/ )
> >
> > Reason for revert:
> > Breaks tests downstream.
> >
> > Original issue's description:
> > > Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.chromium.org/2632123005/ )
> > >
> > > Reason for revert:
> > > Fix in this CL: https://codereview.chromium.org/2640793003/
> > >
> > > Original issue's description:
> > > > Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
> > > >
> > > > Reason for revert:
> > > > Breaks android bots.
> > > >
> > > > Original issue's description:
> > > > > Make the new jitter buffer the default jitter buffer.
> > > > >
> > > > > This CL contains only the changes necessary to make the switch to the new jitter
> > > > > buffer, clean up will be done in follow up CLs.
> > > > >
> > > > > In this CL:
> > > > >  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
> > > > >    new video jitter buffer the default one.
> > > > >  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
> > > > >    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
> > > > >
> > > > > BUG=webrtc:5514
> > > > >
> > > > > Review-Url: https://codereview.webrtc.org/2627463004
> > > > > Cr-Commit-Position: refs/heads/master@{#16114}
> > > > > Committed: 0f0763d86d
> > > >
> > > > TBR=stefan@webrtc.org,terelius@webrtc.org
> > > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > > NOPRESUBMIT=true
> > > > NOTREECHECKS=true
> > > > NOTRY=true
> > > > BUG=webrtc:5514
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2632123005
> > > > Cr-Commit-Position: refs/heads/master@{#16117}
> > > > Committed: c08c191f7d
> > >
> > > TBR=stefan@webrtc.org,terelius@webrtc.org
> > > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > > BUG=webrtc:5514
> > >
> > > Review-Url: https://codereview.webrtc.org/2642753002
> > > Cr-Commit-Position: refs/heads/master@{#16149}
> > > Committed: f20dd0014d
> >
> > TBR=stefan@webrtc.org,terelius@webrtc.org,philipel@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5514
> >
> > Review-Url: https://codereview.webrtc.org/2638423003
> > Cr-Commit-Position: refs/heads/master@{#16159}
> > Committed: 04926b8264
>
> TBR=stefan@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org,kjellander@google.com
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2652043005
> Cr-Commit-Position: refs/heads/master@{#16293}
> Committed: 09d6ef00fc

TBR=stefan@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org,kjellander@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2656983002
Cr-Commit-Position: refs/heads/master@{#16316}
2017-01-27 10:19:05 +00:00
09d6ef00fc Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.webrtc.org/2638423003/ )
Reason for revert:
Bugfixes related to the new jitter buffer has landed.

Original issue's description:
> Revert of Make the new jitter buffer the default jitter buffer. (patchset #2 id:230001 of https://codereview.webrtc.org/2642753002/ )
>
> Reason for revert:
> Breaks tests downstream.
>
> Original issue's description:
> > Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.chromium.org/2632123005/ )
> >
> > Reason for revert:
> > Fix in this CL: https://codereview.chromium.org/2640793003/
> >
> > Original issue's description:
> > > Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
> > >
> > > Reason for revert:
> > > Breaks android bots.
> > >
> > > Original issue's description:
> > > > Make the new jitter buffer the default jitter buffer.
> > > >
> > > > This CL contains only the changes necessary to make the switch to the new jitter
> > > > buffer, clean up will be done in follow up CLs.
> > > >
> > > > In this CL:
> > > >  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
> > > >    new video jitter buffer the default one.
> > > >  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
> > > >    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
> > > >
> > > > BUG=webrtc:5514
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2627463004
> > > > Cr-Commit-Position: refs/heads/master@{#16114}
> > > > Committed: 0f0763d86d
> > >
> > > TBR=stefan@webrtc.org,terelius@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:5514
> > >
> > > Review-Url: https://codereview.webrtc.org/2632123005
> > > Cr-Commit-Position: refs/heads/master@{#16117}
> > > Committed: c08c191f7d
> >
> > TBR=stefan@webrtc.org,terelius@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:5514
> >
> > Review-Url: https://codereview.webrtc.org/2642753002
> > Cr-Commit-Position: refs/heads/master@{#16149}
> > Committed: f20dd0014d
>
> TBR=stefan@webrtc.org,terelius@webrtc.org,philipel@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2638423003
> Cr-Commit-Position: refs/heads/master@{#16159}
> Committed: 04926b8264

TBR=stefan@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org,kjellander@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2652043005
Cr-Commit-Position: refs/heads/master@{#16293}
2017-01-26 10:59:33 +00:00
bfb11b2243 Call RtpStreamReceiver.AddReceiveCodec() with codec_params.
BUG=webrtc:5948

Review-Url: https://codereview.webrtc.org/2649873005
Cr-Commit-Position: refs/heads/master@{#16268}
2017-01-25 15:37:27 +00:00
15389c034d Drop pacer and retransmission_rate_limiter from RtpStreamReceiver constructor.
They were passed on via RtpRtcp::Configuration, but unused for a
receive only RtpRtcp module.

BUG=webrtc:6847

Review-Url: https://codereview.webrtc.org/2639423007
Cr-Commit-Position: refs/heads/master@{#16234}
2017-01-24 10:36:58 +00:00
04926b8264 Revert of Make the new jitter buffer the default jitter buffer. (patchset #2 id:230001 of https://codereview.webrtc.org/2642753002/ )
Reason for revert:
Breaks tests downstream.

Original issue's description:
> Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.chromium.org/2632123005/ )
>
> Reason for revert:
> Fix in this CL: https://codereview.chromium.org/2640793003/
>
> Original issue's description:
> > Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
> >
> > Reason for revert:
> > Breaks android bots.
> >
> > Original issue's description:
> > > Make the new jitter buffer the default jitter buffer.
> > >
> > > This CL contains only the changes necessary to make the switch to the new jitter
> > > buffer, clean up will be done in follow up CLs.
> > >
> > > In this CL:
> > >  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
> > >    new video jitter buffer the default one.
> > >  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
> > >    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
> > >
> > > BUG=webrtc:5514
> > >
> > > Review-Url: https://codereview.webrtc.org/2627463004
> > > Cr-Commit-Position: refs/heads/master@{#16114}
> > > Committed: 0f0763d86d
> >
> > TBR=stefan@webrtc.org,terelius@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5514
> >
> > Review-Url: https://codereview.webrtc.org/2632123005
> > Cr-Commit-Position: refs/heads/master@{#16117}
> > Committed: c08c191f7d
>
> TBR=stefan@webrtc.org,terelius@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2642753002
> Cr-Commit-Position: refs/heads/master@{#16149}
> Committed: f20dd0014d

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

Review-Url: https://codereview.webrtc.org/2638423003
Cr-Commit-Position: refs/heads/master@{#16159}
2017-01-19 08:06:17 +00:00
f20dd0014d Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.chromium.org/2632123005/ )
Reason for revert:
Fix in this CL: https://codereview.chromium.org/2640793003/

Original issue's description:
> Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
>
> Reason for revert:
> Breaks android bots.
>
> Original issue's description:
> > Make the new jitter buffer the default jitter buffer.
> >
> > This CL contains only the changes necessary to make the switch to the new jitter
> > buffer, clean up will be done in follow up CLs.
> >
> > In this CL:
> >  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
> >    new video jitter buffer the default one.
> >  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
> >    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
> >
> > BUG=webrtc:5514
> >
> > Review-Url: https://codereview.webrtc.org/2627463004
> > Cr-Commit-Position: refs/heads/master@{#16114}
> > Committed: 0f0763d86d
>
> TBR=stefan@webrtc.org,terelius@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2632123005
> Cr-Commit-Position: refs/heads/master@{#16117}
> Committed: c08c191f7d

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

Review-Url: https://codereview.webrtc.org/2642753002
Cr-Commit-Position: refs/heads/master@{#16149}
2017-01-18 15:15:37 +00:00
c08c191f7d Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
Reason for revert:
Breaks android bots.

Original issue's description:
> Make the new jitter buffer the default jitter buffer.
>
> This CL contains only the changes necessary to make the switch to the new jitter
> buffer, clean up will be done in follow up CLs.
>
> In this CL:
>  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
>    new video jitter buffer the default one.
>  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
>    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
>
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2627463004
> Cr-Commit-Position: refs/heads/master@{#16114}
> Committed: 0f0763d86d

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

Review-Url: https://codereview.webrtc.org/2632123005
Cr-Commit-Position: refs/heads/master@{#16117}
2017-01-17 12:03:53 +00:00
0f0763d86d Make the new jitter buffer the default jitter buffer.
This CL contains only the changes necessary to make the switch to the new jitter
buffer, clean up will be done in follow up CLs.

In this CL:
 - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
   new video jitter buffer the default one.
 - Moved WebRTC.Video.KeyFramesReceivedInPermille and
   WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2627463004
Cr-Commit-Position: refs/heads/master@{#16114}
2017-01-17 11:31:15 +00:00
022b54e86a Wire up H264 fmtp sprop-parameter-sets with H264SpsPpsTracker.
To avoid making this CL large unittests will be added in a followup CL.

BUG=webrtc:5948

patch from issue 2570073002 at patchset 20001 (http://crrev.com/2570073002#ps20001)

Review-Url: https://codereview.webrtc.org/2565173009
Cr-Commit-Position: refs/heads/master@{#15710}
2016-12-20 12:15:59 +00:00
07e276c8d5 Rename RtpStreamReceiver::SetCodec() to ::AddCodec().
AddCodec represents better what this function actually does.

BUG=None

Review-Url: https://codereview.webrtc.org/2573593003
Cr-Commit-Position: refs/heads/master@{#15565}
2016-12-13 10:23:43 +00:00
f7c6d7231c Rename RtpStreamReceiver::IsFecEnabled to RtpStreamReceiver::IsUlpfecEnabled.
BUG=webrtc:5654
R=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2548523002
Cr-Commit-Position: refs/heads/master@{#15487}
2016-12-08 16:25:51 +00:00
fd5a20fd68 New jitter buffer experiment.
BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2480293002
Cr-Commit-Position: refs/heads/master@{#15077}
2016-11-15 08:58:06 +00:00
e6f98c7a37 Remove RED/RTX workaround from sender/receiver and VideoEngine2.
In older Chrome versions, the associated payload type in the RTX header
of retransmitted packets was always set to be the original media payload type,
regardless of the actual payload type of the packet. This meant that packets
encapsulated with RED headers had incorrect payload type information in the
RTX header. Due to an assumption in the receiver, this incorrect payload type
information would effectively be undone, leading to a working system.

Albeit working, this behaviour was undesired, and thus removed. In the interim,
several workarounds were introduced to not destroy interop between old and
new Chrome versions:
  (1) https://codereview.webrtc.org/1649493004
      - If no payload type mapping existed for RED over RTX, the payload type
        of the underlying media would be used.
      - If RED had been negotiated, received RTX packets would always be
        assumed to contain RED.
  (2) https://codereview.webrtc.org/1964473002
      - If RED was removed from the remote description answer, it would be
        disabled in the local receiver as well.
  (3) https://codereview.webrtc.org/2033763002
      - If RED was negotiated in the SDP, it would always be used, regardless
        if ULPFEC was negotiated and used, or not.

Since the Chrome versions that exhibited the original bug now are very old,
this CL removes the workarounds from (1) and (2). In particular, after this
change, we will have the following behaviour:
  - We assume that a payload type mapping for RED over RTX always is set.
    If this is not the case, the RTX packet is not sent.
  - The associated payload type of received RTX packets will always be obeyed.
  - The (non)-existence of RED in the remote description does not affect the
    local receiver.
The workaround in (3) still needs to exist, in order to interop with receivers
that did not have the workarounds in (1) and (2) removed. The change in (3)
can be removed in a couple of Chrome versions.

TESTED=Using AppRTC between patched Chrome (connected to ethernet) and standard Chrome M54 (connected to lossy internal Google WiFi), with and without FEC turned off using AppRTC flag. Also using "Munge SDP" sample on patched Chrome over loopback interface, with 100ms delay and 5% packet loss simulated using tc.
BUG=webrtc:6650

Review-Url: https://codereview.webrtc.org/2469093003
Cr-Commit-Position: refs/heads/master@{#15038}
2016-11-11 11:28:38 +00:00
d55c3f68c8 Rename FecReceiver to UlpfecReceiver.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2451643002
Cr-Commit-Position: refs/heads/master@{#14846}
2016-10-31 11:51:38 +00:00
7056be937f Delete old video defines in engine config.
This CL deletes the old and not used video defines in
engine_configurations.h and pre-pends voice_ to indicate there are only
voice/audio defines left in the file.

BUG=none
R=solenberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14558}
2016-10-07 05:07:36 +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
0208322ee3 GN: Add video_engine_tests
Adds separate source_sets for the video_engine_tests subtargets inside
audio, call and video and merges them together into video_engine_tests.

BUG=webrtc:5949
R=kjellander@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13127}
2016-06-14 10:53:09 +00:00
733b5478dd Movable support for VideoReceiveStream::Config and avoid copies.
Instead of the default copy constructor, the Copy() method has to be used.  In this CL, the number of copies has been reduced significantly in production code. One case in the video engine remains, where we need to restart a video stream.  Even in that case, I'm sure we could avoid it, but for this particular CL, I decided against it to keep things simple (and it's also an edge case).  Most importantly, creating copies is made harder and the interface encourages ownership transfers.

R=mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13102}
2016-06-10 15:58:12 +00:00
dc7d0d2ef0 Move, almost, all receive side references to RTP to RtpStreamReceiver.
There are still a few places in VideoReceiveStream where the RTP module
is explicitly used, e.g. setting up a/v sync, but it's a bigger task to
change and that will be done in a follow up instead of in this CL.

BUG=webrtc:5838

Review-Url: https://codereview.webrtc.org/1947913002
Cr-Commit-Position: refs/heads/master@{#12642}
2016-05-06 12:32:30 +00:00
cfc8e3b9ef Removed all RTP dependencies from ViEChannel and renamed class.
ViEChannel is now called VideoStreamReceiver.

There will be a follow up CL removing all rtp references from VideoReceiveStream, but that made this CL to big and it will be done separately.

BUG=webrtc:5079

Review-Url: https://codereview.webrtc.org/1929313002
Cr-Commit-Position: refs/heads/master@{#12619}
2016-05-04 04:22:12 +00:00
fa66659c6b Rename ViEReceiver and move ownership to VideoReceiveStream.
This CL will be followed up with another CL removing everything related
to RTP from ViEChannel to RtpStreamReceiver, i.e. remove ViEChannel::rtp_stream_receiver_.

BUG=5838

Review-Url: https://codereview.webrtc.org/1917363005
Cr-Commit-Position: refs/heads/master@{#12553}
2016-04-29 06:15:38 +00:00