Commit Graph

7492 Commits

Author SHA1 Message Date
f736d2365d Add fraction loss in visualization tool.
Review-Url: https://codereview.webrtc.org/2204713005
Cr-Commit-Position: refs/heads/master@{#13644}
2016-08-04 17:00:19 +00:00
ddba75c7cb Remove rtt limit on retransmission rate limiter
After offline discussion, this was mostly of historical use and may
actually be more of a risk now that we have the paced sender.

BUG=

Review-Url: https://codereview.webrtc.org/2198933004
Cr-Commit-Position: refs/heads/master@{#13643}
2016-08-04 16:52:46 +00:00
9f1771b729 Revert of Enable socketservers unittests on windows (patchset #7 id:260001 of https://codereview.webrtc.org/2199193004/ )
Reason for revert:
Win64 Debug seems to be broken because of this CL.

https://build.chromium.org/p/client.webrtc/builders/Win64%20Debug

The Win32SocketTest.TestGetSetOptionsIPv4 test is failing with

[ RUN      ] Win32SocketTest.TestGetSetOptionsIPv4
(win32socketserver.cc:299): GetRemoteAddress: unable to get remote addr, socket=672
(winping.cc:262): IcmpSendEcho(, 65507): 0

Full logs at

https://build.chromium.org/p/client.webrtc/builders/Win64%20Debug/builds/8444/steps/webrtc_nonparallel_tests/logs/stdio

I filed a bug at https://bugs.chromium.org/p/webrtc/issues/detail?id=6178

Original issue's description:
> Enable socketservers unittests on windows.
> failing tests disabling moved to ifdefs within the test files from build files.
>
> R=tommi@webrtc.org
>
> Committed: https://crrev.com/e51e11910faddb00921a8bb274f0d9374d55011f
> Cr-Commit-Position: refs/heads/master@{#13623}

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

Review-Url: https://codereview.webrtc.org/2209333002
Cr-Commit-Position: refs/heads/master@{#13642}
2016-08-04 16:18:18 +00:00
06bfe1f879 Reland of GN: Create target for video_capture_tests on Linux. (patchset #1 id:1 of https://codereview.webrtc.org/2217463002/ )
Reason for revert:
Fix issue.

Original issue's description:
> Revert of GN: Create target for video_capture_tests on Linux. (patchset #2 id:20001 of https://codereview.webrtc.org/2207463004/ )
>
> Reason for revert:
> Breaks bots.
> See https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder%20%28dbg%29/builds/15490
>
> Original issue's description:
> > GN: Create target for video_capture_tests on Linux.
> >
> > BUG=webrtc:6042
> >
> > Committed: https://crrev.com/171c7fef0a8b7a1598ac87e0349e210372cb974c
> > Cr-Commit-Position: refs/heads/master@{#13638}
>
> TBR=mflodman@webrtc.org,sakal@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6042
>
> Committed: https://crrev.com/41bce13482464741e916190b4e5ec3c628f606dd
> Cr-Commit-Position: refs/heads/master@{#13640}

TBR=mflodman@webrtc.org,guidou@webrtc.org
BUG=webrtc:6042

Review-Url: https://codereview.webrtc.org/2211013002
Cr-Commit-Position: refs/heads/master@{#13641}
2016-08-04 14:54:08 +00:00
41bce13482 Revert of GN: Create target for video_capture_tests on Linux. (patchset #2 id:20001 of https://codereview.webrtc.org/2207463004/ )
Reason for revert:
Breaks bots.
See https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder%20%28dbg%29/builds/15490

Original issue's description:
> GN: Create target for video_capture_tests on Linux.
>
> BUG=webrtc:6042
>
> Committed: https://crrev.com/171c7fef0a8b7a1598ac87e0349e210372cb974c
> Cr-Commit-Position: refs/heads/master@{#13638}

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

Review-Url: https://codereview.webrtc.org/2217463002
Cr-Commit-Position: refs/heads/master@{#13640}
2016-08-04 13:48:22 +00:00
db7543809e Tune BWE to be more sensitive on low capacity networks.
Also lowering the min bitrate for simulations to be able to better capture this issue in the BweFeedbackTest.Choke200kbps30kbps200kbps performance test.

BUG=webrtc:6105
NOTRY=true
NOPRESUBMIT=true

Review-Url: https://codereview.webrtc.org/2201093006
Cr-Commit-Position: refs/heads/master@{#13639}
2016-08-04 13:42:14 +00:00
171c7fef0a GN: Create target for video_capture_tests on Linux.
BUG=webrtc:6042

Review-Url: https://codereview.webrtc.org/2207463004
Cr-Commit-Position: refs/heads/master@{#13638}
2016-08-04 13:29:31 +00:00
84ef615a5d Removed calls to VoE::SetPlayout() from WebRTCVoiceEngine.
This is part of rewriting the ConferenceMixer and OutputMixer.

Calls are instead routed through AudioReceiveStream::Start/Stop.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2206223002
Cr-Commit-Position: refs/heads/master@{#13636}
2016-08-04 12:28:28 +00:00
cb56065c62 Add support for GCM cipher suites from RFC 7714.
GCM cipher suites are optional (disabled by default) and can be enabled
through "PeerConnectionFactoryInterface::Options".

If compiled with Chromium (i.e. "ENABLE_EXTERNAL_AUTH" is defined), no
GCM ciphers can be used yet (see https://crbug.com/628400).

BUG=webrtc:5222, 628400

Review-Url: https://codereview.webrtc.org/1528843005
Cr-Commit-Position: refs/heads/master@{#13635}
2016-08-04 12:20:38 +00:00
604fc114fb Creating GN version of xmllite_xmpp_unittests
NOTRY=True

BUG=webrtc:6043

Review-Url: https://codereview.webrtc.org/2184043002
Cr-Commit-Position: refs/heads/master@{#13633}
2016-08-04 08:16:47 +00:00
8cd8f81748 Prepare for ICE renomination.
Add an ICE nomination attribute. If a connection switched on the controlling side, increase the nomination value set in the attribute.
The controlled side will also be ready for re-nomination option; it will switch if a nomination comes with a higher nomination value even though it may be at a lower priority.
Plus, don't nominate or re-nominate if the nomination value at the current connection has been acknowledged.

BUG=
R=deadbeef@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13631}
2016-08-04 02:50:53 +00:00
6ce738da31 Disable encoder scaling on iPhone4S.
Scaling causes us to work the CPU too much, which very quickly degrades quality. This causes us to at least behave better on good networks.

NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2205763002
Cr-Commit-Position: refs/heads/master@{#13630}
2016-08-03 19:57:18 +00:00
9dfa249796 Use 352x288 for iPhone 4S.
NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2206773002
Cr-Commit-Position: refs/heads/master@{#13629}
2016-08-03 18:39:09 +00:00
f98dc105ba GN: Add target for modules_tests.
Additional changes I needed to make it work:

- Modified a header in RTPFile.cc. Every other file is
  using "webrtc/engine_configurations.h" instead.

- Disabled flag 4373 for msvs because it was disabled
  in build/common.gypi.

BUG=webrtc:6038
TBR=kwiberg@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2187563005
Cr-Commit-Position: refs/heads/master@{#13628}
2016-08-03 17:46:51 +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
997684079e Remove a few meaningless TODOs
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13624}
2016-08-03 13:38:20 +00:00
e51e11910f Enable socketservers unittests on windows.
failing tests disabling moved to ifdefs within the test files from build files.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13623}
2016-08-03 13:14:48 +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
4f6cd6ac59 Wire up VCMTiming in FrameBuffer2.
The VCMTiming class is now used to set the render time for frames.

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

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

Cr-Commit-Position: refs/heads/master@{#13621}
2016-08-03 08:59:47 +00:00
17dfa7425f Gyp->GN migration of RTPjitter.
BUG=6162

NOTRY=True

Review-Url: https://codereview.webrtc.org/2196283002
Cr-Commit-Position: refs/heads/master@{#13620}
2016-08-03 08:17:29 +00:00
64636dda43 Add UMA for tracking which BWE versions are in use.
NOTRY=true
BUG=webrtc:6156

Review-Url: https://codereview.webrtc.org/2206583002
Cr-Commit-Position: refs/heads/master@{#13619}
2016-08-03 07:29: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
6e11efa6dc Bitrate prober and paced sender improvements
- Removes unnecessary casts to compute timedelta.
- Renames ProbingState for clarity. This should help when we probe mid-call.
- Enables probing by default to avoid checking on each incoming packet.
- Removes duplicate probing state tracking in paced sender. These duplicate
  states were conflicting at times.
- Removes passing through packets for bug 5307 which seems long fixed.
- Cleanup handling of time_last_send_ms and avoid side effects of changing
  probing state at TimeUntilNextProbe().
- Clear cluster data when probing is restarted to avoid having old data after a reset.

BUG=5859
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13612}
2016-08-02 19:57:46 +00:00
469df938e9 Don't build VP9 for iOS framework.
NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2204783002
Cr-Commit-Position: refs/heads/master@{#13611}
2016-08-02 16:38:40 +00:00
c3de0333c0 Add plot of network delay change computed based on transport feedback.
NOTRY=true

Review-Url: https://codereview.webrtc.org/2205803002
Cr-Commit-Position: refs/heads/master@{#13610}
2016-08-02 14:22:23 +00:00
3ab32dc775 gn: Do not include "webrtc" in Chromium/iOS builds.
It's not part of the gyp build either, and `ninja -C out/gnios webrtc`
causes several build errors, at least in Chromium builds (which means
gn/ios bots building 'all' are broken).

BUG=chromium:633316
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13609}
2016-08-02 13:53:35 +00:00
d3235f0cd9 Re-order and remove unused Java imports.
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13608}
2016-08-02 13:44:19 +00:00
5a74650522 Migrated GN target RTPtimeshift.
NOTRY=true

BUG=6162

Review-Url: https://codereview.webrtc.org/2201883004
Cr-Commit-Position: refs/heads/master@{#13607}
2016-08-02 13:06:39 +00:00
b0dc30d282 Improvements to bandwidth plot. See Monorail issue for comparison.
NOTRY=true

BUG=webrtc:6070

Review-Url: https://codereview.webrtc.org/2178973005
Cr-Commit-Position: refs/heads/master@{#13606}
2016-08-02 12:01:38 +00:00
5556dcb24c Migrated GN target rtpcat.
BUG=6162

Review-Url: https://codereview.webrtc.org/2202193002
Cr-Commit-Position: refs/heads/master@{#13605}
2016-08-02 11:27:32 +00:00
8626eb5dd2 Fix testReturnBufferLate incorrectly calling end to end test.
Review-Url: https://codereview.webrtc.org/2202183002
Cr-Commit-Position: refs/heads/master@{#13604}
2016-08-02 10:32:19 +00:00
b4ad456ba0 Remove negative include rules from webrtc_nonparallel_tests target
R=kjellander@webrtc.org
BUG=webrtc:6040

Review-Url: https://codereview.webrtc.org/2200623003
Cr-Commit-Position: refs/heads/master@{#13603}
2016-08-02 09:30:10 +00:00
606daa8b5e Adding Danil as an owner for the RTP module.
Review-Url: https://codereview.webrtc.org/2203703002
Cr-Commit-Position: refs/heads/master@{#13602}
2016-08-02 09:16:10 +00:00
76cbe19f8a Migrated RTPchange Gyp target to GN.
BUG=6162

Review-Url: https://codereview.webrtc.org/2194213002
Cr-Commit-Position: refs/heads/master@{#13601}
2016-08-02 09:05:07 +00:00
9eb3d5def4 Add sanity check for arrival timestamps.
BUG=chromium:632614

Review-Url: https://codereview.webrtc.org/2195663002
Cr-Commit-Position: refs/heads/master@{#13600}
2016-08-02 09:00:32 +00:00
8266773f18 Migrated target RTPencode to GN
TBR=henrik.lundin@webrtc.org

BUG=6162

Review-Url: https://codereview.webrtc.org/2195353002
Cr-Commit-Position: refs/heads/master@{#13599}
2016-08-02 08:45:58 +00:00
734262c765 Fixing invalid operator< implementation.
It was possible that "A < B" and "B < A" both evaluated to true.
This manifested as an assert on Windows, and a memory leak on Linux.

Note that the concept of "less than" is meaningless for this object.
The operator is only needed so the object can be used as a key in an
std::map.

BUG=webrtc:6068
R=honghaiz@webrtc.org, kjellander@webrtc.org, skvlad@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13598}
2016-08-01 23:37:21 +00:00
88532898db Un-flaking TestSrtpError by using a fake clock.
This test verifies that SRTP errors are only signaled if a specific
amount of time has passed, and was using ProcessMessages(time) to
wait for an amount of time. But ProcessMessages may sometimes wait
for longer than the requested time (especially on TSAN bot, etc.).

BUG=webrtc:4690
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13597}
2016-08-01 21:17:41 +00:00
19ee1e6eb1 Add cricket::VideoFrame::transport_frame_id() and set it to RTP timestamp.
Passing transport_frame_id() to VideoSink will allow to identify incoming video
frames, which will make it possible to correlate video frames on the
sender and on the receiver.

BUG=chromium:621691
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13596}
2016-08-01 20:36:04 +00:00
7fbe2ee224 Make EGL10 class public.
To allow accessing its function for 3rd party apps.

BUG=b/30502777
R=jiayl@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#13595}
2016-08-01 20:31:42 +00:00
b578d6c56b congestion controller: Fix network route change handling
A reset of Bwe and rates on network route change triggers
switching of the RemoteBitrateEstimator from DelayBasedBwe
to RemoteBitrateEstimatorAbsSendTime. This is unexpected,
fix this.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13594}
2016-08-01 19:16:52 +00:00
dc35dcd4dc Convenience functions to set axis properties in visualization tool.
Also makes the properties protected, as previously requested by Stefan.

Review-Url: https://codereview.webrtc.org/2179223003
Cr-Commit-Position: refs/heads/master@{#13593}
2016-08-01 19:03:33 +00:00
8b70faf262 Send audio packets immediately instead of pacing them.
The intended behavior of the pacer is that it should send audio (i.e high priority) packets immediatelly even if the pacer is paused and even if the available media budget has been used. The existing code will not send audio if the pacing budget has been used. It will normally send audio when the pacer is paused, but if the media budget was already used up when the pacer was paused, it would neither send audio nor update the budget.

Updated the implementatation and the unit test. Added logging for when the pacer is paused, and when it receives a zero bitrate estimate.

BUG=webrtc:6155

Review-Url: https://codereview.webrtc.org/2193183003
Cr-Commit-Position: refs/heads/master@{#13592}
2016-08-01 16:47:38 +00:00
c980062242 Use a new method (android_setsocknetwork) to bind socket to network in Android M and later.
The old method (setNetworkForSocket) is not supported in Android-N.

BUG=
R=glaznev@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13591}
2016-08-01 16:27:43 +00:00
f734c135a4 Cleanup BWE SendTimeHistory class
Review-Url: https://codereview.webrtc.org/2011473002
Cr-Commit-Position: refs/heads/master@{#13590}
2016-08-01 16:23:24 +00:00
233c4ba4fd New ProbingCalculator class.
The ProbingCalculator class calculates and validates the results from
probing attempts.

BUG=webrtc:5859

Review-Url: https://codereview.webrtc.org/2121183002
Cr-Commit-Position: refs/heads/master@{#13589}
2016-08-01 15:49:13 +00:00