Commit Graph

640 Commits

Author SHA1 Message Date
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
a7d88d3844 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

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

Cr-Commit-Position: refs/heads/master@{#13210}
2016-06-20 08:51:20 +00:00
07ec26d1a9 Fix crash parsing malformed rtp packet
where header extesnsion size mismatch expected.

Reland of https://codereview.webrtc.org/2067793003/

BUG=chromium:620242
R=åsapersson

Review-Url: https://codereview.webrtc.org/2060943009
Cr-Commit-Position: refs/heads/master@{#13187}
2016-06-17 11:18:58 +00:00
e565a04de3 Revert of Fix crash parsing malformed rtp packet (patchset #1 id:1 of https://codereview.webrtc.org/2067793003/ )
Reason for revert:
breaks Win64 bots compile

Original issue's description:
> Fix crash parsing malformed rtp packet
> where header extesnsion size mismatch expected.
>
> BUG=chromium:620242
> R=asapersson@webrtc.org
>
> Committed: https://crrev.com/5a45fe6fd7a509fb4c3a9b09cdbd2278055f1d4c
> Cr-Commit-Position: refs/heads/master@{#13170}

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

Review-Url: https://codereview.webrtc.org/2074763002
Cr-Commit-Position: refs/heads/master@{#13171}
2016-06-16 17:04:57 +00:00
5a45fe6fd7 Fix crash parsing malformed rtp packet
where header extesnsion size mismatch expected.

BUG=chromium:620242
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13170}
2016-06-16 16:52:47 +00:00
30a3a751a6 Fix buffer overflow parsing malformed rtp packet
that has one-byte length extension going past extensions block

BUG=chromium:620277
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13168}
2016-06-16 13:57:26 +00:00
5aaa9faa9b Remove thread_checker in playout_delay_oracle
It appears there the encode and send operation can happen over multiple
threads. Also, padding data itself may be sent on a different thread.
Remove thread checker and protect all data with crit_sect.

BUG=webrtc:5998
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2066863002
Cr-Commit-Position: refs/heads/master@{#13137}
2016-06-14 17:55:46 +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
be99ab9356 Remove unnecessary redefinition of PacketLists in rtp_fec_unittest.
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13109}
2016-06-13 07:37:06 +00:00
2019afd0ef Replaced ACCESS_ON alias with GUARDED_BY macros
to fix projects that has own copy of base/thread_annotation.h

R=åsapersson
NOTRY=true

Review-Url: https://codereview.webrtc.org/2048113002
Cr-Commit-Position: refs/heads/master@{#13073}
2016-06-08 18:34:18 +00:00
6b4b5f3770 Add sender controlled playout delay limits
This CL adds support for an extension on RTP frames to allow the sender
to specify the minimum and maximum playout delay limits.

The receiver makes a best-effort attempt to keep the capture-to-render delay
within this range. This allows different types of application to specify
different end-to-end delay goals. For example gaming can support rendering
of frames as soon as received on receiver to minimize delay. A movie playback
application can specify a minimum playout delay to allow fixed buffering
in presence of network jitter.

There are no tests at this time and most of testing is done with chromium
webrtc prototype.

On chromoting performance tests, this extension helps bring down end-to-end
delay by about 150 ms on small frames.

BUG=webrtc:5895

Review-Url: https://codereview.webrtc.org/2007743003
Cr-Commit-Position: refs/heads/master@{#13059}
2016-06-08 07:24:30 +00:00
6ebdf6b2cc Fix issue with parsing of incorrect (empty) Stap-A H264 NAL units.
Stap-A packets should be ignored if NAL unit size is less than one,
since that won't even fit the mandatory type header byte.

BUG=chromium:617097
R=pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13057}
2016-06-07 16:01:38 +00:00
fc715f584f DCHECK that the red payload type doesn't have invalid values when FEC is enabled.
Review-Url: https://codereview.webrtc.org/2036083002
Cr-Commit-Position: refs/heads/master@{#13028}
2016-06-03 08:45:46 +00:00
8f4c77fea1 Always send RED headers if configured.
This shouldn't be needed, but because the receiver assumes RTX packets
contain RED if configured to receive them (due to an incompatibility
issue), we also have to make sure we send them for now.

BUG=webrtc:5675

Review-Url: https://codereview.webrtc.org/2033763002
Cr-Commit-Position: refs/heads/master@{#13024}
2016-06-03 07:16:54 +00:00