Commit Graph

8613 Commits

Author SHA1 Message Date
eb66e800d1 Re-land "Convert native handles to buffers before encoding."
This reverts commit a67675506c9057bd9ffd4d76aae8b743343d434d.

BUG=webrtc:4081
TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9381}
2015-06-05 09:08:12 +00:00
3fbf3f8841 Revert r9378 "Rename APM Config DelayCorrection to ExtendedFilter"
This reverts commit 5f4b7e2873864c61e2ad6d88679dcd5d321bfd16, since it
broke some of the build bots.

BUG=4696
TBR=bjornv@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9380}
2015-06-05 09:04:20 +00:00
bdd185faab Added CQ config for WebRTC
R=kjellander@webrtc.org
BUG=chromium:470518

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

Cr-Commit-Position: refs/heads/master@{#9379}
2015-06-05 09:02:15 +00:00
5f4b7e2873 Rename APM Config DelayCorrection to ExtendedFilter
We use this Config struct for enabling/disabling Extended filter mode
in AEC. This change renames it to ExtendedFilter for readability
reasons. The corresponding media constraint is also renamed to
kExtendedFilterEchoCancellation.

The old Config is kept in parallel with the new during a transition
period. This is to avoid problems with API breakages. During this
period, if any of the two Configs are enabled, the extended filter
mode is engaged in APM. That is, the two Configs are combined with an
"OR" operation.

This change also renames experimental_aec in AudioOptions to extended_filter_aec.

BUG=4696
R=bjornv@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54659004

Cr-Commit-Position: refs/heads/master@{#9378}
2015-06-05 07:55:40 +00:00
efdce6927e Disable some PortAllocatorTest on asan due to flakiness
TBR=kjellander@webrtc.org
BUG=4743

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

Cr-Commit-Position: refs/heads/master@{#9377}
2015-06-05 07:41:36 +00:00
7dbc076f34 audio_processing/aec: Turn SignalBasedDelayCorrection to after 15 seconds
The delay agnostic AEC uses a signal based delay correction method to adjust buffer synchronization between loudspeaker and microphone. On Mac in particular we have seen deviations in UMA stats that point towards an echo already at startup. This is likely due to an early and incorrect correction based on poor audio data.
By waiting 15 seconds before we turn on the ability to correct we can avoid a majority of these.
The reported delay values are in general accurate enough and relying on them in the beginning is fine. The value 15 seconds is chosen because we have seen from UMA data that a significant amount of calls tend to end before 15 seconds when being in the UseDelayAgnosticAEC Finch experiment.

We turn this "feature" on for all platforms but Android, where the reported system delays are inaccurate and we want to take action as soon as possible.
In addition, the set of "good" delay values has been increased from 25% to 75% of the filter length.

BUG=webrtc:3504
R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50199004

Cr-Commit-Position: refs/heads/master@{#9376}
2015-06-05 07:40:45 +00:00
85cf3c0794 Revert "Disable some PortAllocatorTest on tsan due to flakiness"
This reverts commit 491bd534ef726456883ec372562d1c8fef82e7ca.

TBR=kjellander@webrtc.org
BUG=4743

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

Cr-Commit-Position: refs/heads/master@{#9375}
2015-06-05 07:31:13 +00:00
f019efa36a Adding henrik.lundin to two WATCHLISTS
TBR=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55569004

Cr-Commit-Position: refs/heads/master@{#9374}
2015-06-05 07:08:03 +00:00
fc622ccf95 Move Requester to cc file.
BUG=4576
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9373}
2015-06-04 23:06:04 +00:00
2a6b8b7461 Fix windows build break
TBR=pthacther@webrtc.org
BUG=4576

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

Cr-Commit-Position: refs/heads/master@{#9372}
2015-06-04 22:40:00 +00:00
d04d3d73eb Add SocketFactoryInterface::Prepare and fix how symmetric NAT is determined.
Also remove Bind from ServerSocket interface as it's not needed anymore.

BUG=4576
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9371}
2015-06-04 22:20:08 +00:00
26b08605e2 Use one scoped_refptr.
Uses webrtc/base/scoped_ref_ptr.h and removes the copy in
system_wrappers.

BUG=
R=kwiberg@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9370}
2015-06-04 13:18:28 +00:00
491bd534ef Disable some PortAllocatorTest on tsan due to flakiness
TBR=kjellander@webrtc.org
BUG=4743

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

Cr-Commit-Position: refs/heads/master@{#9369}
2015-06-04 12:57:59 +00:00
e973c2a63b Remove win32toolhelp.h.
Unittests flake when run in parallel, and this file isn't used.

BUG=
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/53659004

Cr-Commit-Position: refs/heads/master@{#9368}
2015-06-04 08:25:12 +00:00
59abdd9e76 Whitespace change to test new Rietveld move.
BUG=webrtc:3884
TBR=

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

Cr-Commit-Position: refs/heads/master@{#9367}
2015-06-04 07:11:28 +00:00
32130c6a35 Move to Chromium's Rietveld at codereview.webrtc.org
BUG=webrtc:3884
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9366}
2015-06-04 07:07:42 +00:00
b1825a4038 Change JitterBuffer::GetNackList to return a std::vector<uint16_t>.
This fixed the problem with returning a pointer to an internal buffer
of a JitterBuffer.

R=stefan@webrtc.org
BUG=none
TEST=none

Review URL: https://webrtc-codereview.appspot.com/53639004

Cr-Commit-Position: refs/heads/master@{#9365}
2015-06-03 22:03:46 +00:00
248b0b0790 Run clang-format --style=Chromium on four files I'm otherwise touching.
The existing style in these files is pretty inconsistent and wildly divergent
from most of WebRTC/Chromium; clang-formatting them not only makes them easier
to read, it makes me see fewer presubmit errors when I try to touch the files to
make other changes.

BUG=none
R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52019004

Cr-Commit-Position: refs/heads/master@{#9364}
2015-06-03 19:32:55 +00:00
a9952cdd0e Remove CHECK from GetThreadName.
It's safe for prctl() to fail, so we fall back on <noname> for thread names if we can't get one, instead of crashing.

BUG=
R=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/57529004

Cr-Commit-Position: refs/heads/master@{#9363}
2015-06-03 16:59:24 +00:00
b4c5eaa0d6 Fix a time control bug, that the VCMReceiver::FrameForDecoding may over sleep.
Remark: a unit test to verify VCMReiceiver::FrameForDecoding will be in a separate CL.

BUG=4726
R=stefan@webrtc.org, wtc@chromium.org

Review URL: https://webrtc-codereview.appspot.com/53619004

Cr-Commit-Position: refs/heads/master@{#9362}
2015-06-03 16:34:31 +00:00
73f72105c4 Actively turns off platform-AEC when DA-AEC is used
When initiating a call default audio options are applied, which turns on platform-AEC if such exists. Then, if delay agnostic AEC (DA-AEC) is enabled through a media constraint no action with respect to platform-AEC is taken (a bug) and turning on SW AEC. Hence, we run both AECs.

This CL makes sure the platform-AEC is disabled if we want to run DA-AEC.

BUG=
TESTED=locally on Nexus 4 and Nexus 6.
R=henrika@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52049004

Cr-Commit-Position: refs/heads/master@{#9361}
2015-06-03 12:50:21 +00:00
5abd3e1f98 Revert r9359 "Implement NetEq's CurrentDelay function"
This reverts commit d8a03facf6986a011c8f889c63d87f9216a1e912, since it
broke the Chrome build. Will have to swap to using base/logging.h in
neteq_impl.cc before re-landing this change.

TBR=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50219004

Cr-Commit-Position: refs/heads/master@{#9360}
2015-06-03 10:58:52 +00:00
d8a03facf6 Implement NetEq's CurrentDelay function
This was not implemented before. It returns the current total delay (packet buffer and sync buffer) of NetEq. This is the same information that was already available in NetEqNetworkStatistics::current_buffer_size_ms, that can be obtained through NetEq::NetworkStatistics(). But, since the current delay is a key metric of NetEq, it is convenient to have it available in a simpler way.

R=kwiberg@webrtc.org, minyue@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51149004

Cr-Commit-Position: refs/heads/master@{#9359}
2015-06-03 09:55:53 +00:00
60508f8621 Small changes to rtpAnalyze Matlab script
These changes are in response to post-commit comments in
https://webrtc-codereview.appspot.com/47339004/.

BUG=webrtc:2692
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50189004

Cr-Commit-Position: refs/heads/master@{#9358}
2015-06-03 07:38:31 +00:00
6b990744d9 Revert "Import org.junit.Assert instead of junit.framework.Assert."
This reverts commit a88470964c55dc655022d1f46370565aa3be535f.

It broke Android builds:
app/webrtc/java/testcommon/src/org/webrtc/PeerConnectionTest.java:46: error: package org.junit does not exist
import static org.junit.Assert.*;
                       ^
TBR=glaznev@webrtc.org,pthatcher@webrtc.org
BUG=none

Review URL: https://webrtc-codereview.appspot.com/52039004

Cr-Commit-Position: refs/heads/master@{#9357}
2015-06-02 21:36:32 +00:00
a88470964c Import org.junit.Assert instead of junit.framework.Assert.
This fixed the warning:
app/webrtc/java/testcommon/src/org/webrtc/PeerConnectionTest.java:46: warning: [deprecation] Assert in junit.framework has been deprecated
import static junit.framework.Assert.*;

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

Review URL: https://webrtc-codereview.appspot.com/50209004

Cr-Commit-Position: refs/heads/master@{#9356}
2015-06-02 21:26:48 +00:00
a398020cba SSL_set_read_ahead no longer needed with BoringSSL.
In https://boringssl-review.googlesource.com/#/c/4820/ BoringSSL
deprecated "SSL_set_read_ahead". That commit has rolled into
Chromium/WebRTC, so calling the function is no longer needed.

BUG=chromium:447431
R=juberti@google.com

Review URL: https://webrtc-codereview.appspot.com/55559004

Cr-Commit-Position: refs/heads/master@{#9355}
2015-06-02 21:07:50 +00:00
308d163c71 Revert "Convert native handles to buffers before encoding."
This reverts commit a831dc3a7d10a1fbaa258ee6b1ca6cfc7e91c5ca to unblock
rolling into Chromium.

BUG=4081
TBR=magjed@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55549004

Cr-Commit-Position: refs/heads/master@{#9354}
2015-06-02 13:04:31 +00:00
14771ac6bf Fix Python lint and unit tests
One of the unit tests added in
https://webrtc-codereview.appspot.com/50079004/ is failing
on Windows since os.sep is a backslash on Windows.
The code is based on the contents of the DEPS file rather than
the filesystem, so the right thing is to use '/' instead of os.sep.

The PyLint blacklist also didn't work on Windows, causing it
to process a massive list of files during presubmit.

I also added a bunch of new entries to speed up lint execution on
all platforms.

TESTED=Ran the presubmit with this CL on Windows and Linux.
R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52029004

Cr-Commit-Position: refs/heads/master@{#9353}
2015-06-02 11:10:13 +00:00
8f074183b1 Roll chromium_revision 7779e7d..3d86a83 (332119:332345)
This picks up https://codereview.chromium.org/1163723003/
which is needed to make gclient runhooks work on Windows again.

Relevant changes:
* src/third_party/android_tools: 3c5189b..a3afc68
* src/third_party/boringssl/src: bd15a8e..8a228f5
Details: 7779e7d..3d86a83/DEPS

Clang version was not updated in this roll.

TBR=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54639004

Cr-Commit-Position: refs/heads/master@{#9352}
2015-06-02 10:48:36 +00:00
84f81d8fa1 Fix implicit size_t to uint16_t warning on VS2015.
Reviewed as https://review.webrtc.org/54609004/, but uploaded against
wrong Base URL.

R=pbos@webrtc.org
TBR=
BUG=chromium:440500

Review URL: https://webrtc-codereview.appspot.com/54649004

Patch from scottmg <scottmg@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#9351}
2015-06-02 09:41:12 +00:00
8e6fd46cc3 Route time-stretching metrics through libjingle
This change connects currentAccelerateRate and currentPreemptiveRate
in webrtc::NetworkStatistics, through corresponding variables in
VoiceReceiverInfo, to googAccelerateRate and googPreemptiveExpandRate.

R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50179004

Cr-Commit-Position: refs/heads/master@{#9350}
2015-06-02 07:25:03 +00:00
76cda01ae2 Document the time unit in EventWrapper.
R=henrika@webrtc.org, phoglund@webrtc.org, tommi@webrtc.org
BUG=none
TEST=none

Review URL: https://webrtc-codereview.appspot.com/51139004

Cr-Commit-Position: refs/heads/master@{#9349}
2015-06-02 00:33:51 +00:00
907bfb25bd Fix an apparent typo in a unittest that caused it to not actually check the new window list it fetched.
This would only have an effect when window capture failed, and apparently that was never happening.

BUG=none
R=sergeyu@chromium.org

Review URL: https://webrtc-codereview.appspot.com/52009004

Cr-Commit-Position: refs/heads/master@{#9348}
2015-06-01 21:50:15 +00:00
a831dc3a7d Convert native handles to buffers before encoding.
Required to permit conversion of NV12 handles on iOS to I420 for VP8
software encoding, which blocks texture-based capture. This change
enforces that all texture-based input provides a method for converting
native handles to I420 if they are ever used with software encoders that
do not understand the native handles.

BUG=4081
R=emircan@chromium.org, glaznev@webrtc.org, hbos@webrtc.org, magjed@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org, tkchin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50909005

Cr-Commit-Position: refs/heads/master@{#9347}
2015-06-01 18:06:52 +00:00
9ba52f89ac Remove intermediate RTCP CNAME buffers.
Sets CNAME using a pointer to only perform a copy inside the RTCP
sender.

BUG=
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50169005

Cr-Commit-Position: refs/heads/master@{#9346}
2015-06-01 12:12:40 +00:00
aff1c8489f Roll chromium_revision ccef3cb..7779e7d (331232:332119)
Relevant changes:
* src/buildtools: dc487f4..fa660d4
* src/third_party/boringssl/src: a7997f1..bd15a8e
* src/third_party/icu: 5788e27..f1ad7f9
* src/third_party/libvpx: d1c022c..77656a4
* src/third_party/nss: 9506806..aab0d08
* src/tools/gyp: 0bb6747..29e94a3
Details: ccef3cb..7779e7d/DEPS

Clang version changed 233105:238013
Details: ccef3cb..7779e7d/tools/clang/scripts/update.sh

This change identical to https://webrtc-codereview.appspot.com/47359004/
but with a TSan suppression added.

BUG=3914
TBR=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/56569004

Cr-Commit-Position: refs/heads/master@{#9345}
2015-06-01 09:49:28 +00:00
5263b3c1dd Add options for NetEq fast accelerate mode through libjingle
This CL connects RTCConfiguration::audioJitterBufferFastMode in
PeerConnection.java, through libjingle, down to
NetEq::Config::enable_fast_accelerate in native WebRTC.

When enabled, it will allow NetEq to do faster time-compression when
the buffer level is very high.

BUG=4691
R=henrika@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55479004

Cr-Commit-Position: refs/heads/master@{#9344}
2015-06-01 08:29:55 +00:00
0908d0dcf2 Fix issue with RTT computations in simulator.
R=magalhaesc@google.com

Review URL: https://webrtc-codereview.appspot.com/56429005

Cr-Commit-Position: refs/heads/master@{#9343}
2015-06-01 08:20:33 +00:00
9b07368bfb Revert "Roll chromium_revision ccef3cb..7779e7d (331232:332119)"
This reverts commit a8d686d174bb08f7d297046f86c2f60bce277312.

Reason: TSan v2 bot fails on data race:
http://build.chromium.org/p/client.webrtc/builders/Linux%20Tsan%20v2/builds/3090/steps/rtc_unittests/logs/stdio

TBR=pbos@webrtc.org
BUG=4732

Review URL: https://webrtc-codereview.appspot.com/50159004

Cr-Commit-Position: refs/heads/master@{#9342}
2015-05-31 19:57:35 +00:00
a8d686d174 Roll chromium_revision ccef3cb..7779e7d (331232:332119)
Relevant changes:
* src/buildtools: dc487f4..fa660d4
* src/third_party/boringssl/src: a7997f1..bd15a8e
* src/third_party/icu: 5788e27..f1ad7f9
* src/third_party/libvpx: d1c022c..77656a4
* src/third_party/nss: 9506806..aab0d08
* src/tools/gyp: 0bb6747..29e94a3
Details: ccef3cb..7779e7d/DEPS

Clang version changed 233105:238013
Details: ccef3cb..7779e7d/tools/clang/scripts/update.sh

TBR=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47359004

Cr-Commit-Position: refs/heads/master@{#9341}
2015-05-31 18:50:02 +00:00
f69f1fbc98 Testing and improving NADA algorithm.
A modified operation mode was added, holding:
--- Stricter conditions for AcceleratedRampUp.
--- Smoother GradualRateUpdate adjustments.
--- New AcceleratedRampDown update mode.
This mode reduces significantly the delay for bitrates around its minimum bound.

Several NADA unittests and a few simulations were added.

Fixed LinkedSet bug.
Fixed IsNewerSequenceNumber/IsNewerTimestamp bug.

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

Review URL: https://webrtc-codereview.appspot.com/54399004

Cr-Commit-Position: refs/heads/master@{#9340}
2015-05-30 15:49:32 +00:00
4765070b8d Rename I420VideoFrame to VideoFrame.
This is a mechanical change since it affects so many
files.
I420VideoFrame -> VideoFrame
and reformatted.

Rationale: in the next CL I420VideoFrame will
get an indication of Pixel Format (I420 for
starters) and of storage type: usually
UNOWNED, could be SHMEM, and in the near
future will be possibly TEXTURE. See
https://codereview.chromium.org/1154153003
for the change that happened in Cr.

BUG=4730, chromium:440843
R=jiayl@webrtc.org, niklas.enbom@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52629004

Cr-Commit-Position: refs/heads/master@{#9339}
2015-05-30 00:21:56 +00:00
c2cb266c93 Match video orientation with device orientation for portrait and portrait upside down
BUG=
R=tkchin@webrtc.org

Committed: https://crrev.com/14c2695f2968d6e8546545a9b62940563073b4b6
Patch from Jon Hjelle <hjon@andynet.net>.

Cr-Commit-Position: refs/heads/master@{#9336}

Review URL: https://webrtc-codereview.appspot.com/55459004

Patch from Jon Hjelle <hjon@andyet.net>.

Cr-Commit-Position: refs/heads/master@{#9338}
2015-05-29 23:38:31 +00:00
7be99bdea1 Revert "Match video orientation with device orientation for portrait and portrait upside down"
Misspelt contributor's email address. Easier to revert and reland.
TBR=hjon@andyet.net

This reverts commit 14c2695f2968d6e8546545a9b62940563073b4b6.

BUG=

Review URL: https://webrtc-codereview.appspot.com/54619004

Cr-Commit-Position: refs/heads/master@{#9337}
2015-05-29 23:34:43 +00:00
14c2695f29 Match video orientation with device orientation for portrait and portrait upside down
BUG=
R=tkchin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55459004

Patch from Jon Hjelle <hjon@andynet.net>.

Cr-Commit-Position: refs/heads/master@{#9336}
2015-05-29 22:25:00 +00:00
bc7dd7e023 Add RTCConfiguration constructor to RTCPeerConnection wrapper.
BUG=4658
R=jiayl@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/56419004

Cr-Commit-Position: refs/heads/master@{#9335}
2015-05-29 21:59:23 +00:00
d935f912b1 Don't try to parse empty Ice urls.
https://crrev.com/7c4e7458b5ce99c13a75d5be7d718ef94e2f8f9f added support
to pass a list of urls for IceServer configurations. This CL fixes a
potential crash when empty urls are passed.

BUG=2096
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51969004

Cr-Commit-Position: refs/heads/master@{#9334}
2015-05-29 20:14:28 +00:00
a8202aadd5 Roll chromium_revision 1b9c098..ccef3cb (330302:331232)
Relevant changes:
* src/buildtools: b73e5f7..dc487f4
* src/third_party/android_tools: 3445d55..3c5189b
* src/third_party/boringssl/src: 9660032..a7997f1
Details: 1b9c098..ccef3cb/DEPS

Clang version was not updated in this roll.

BUG=4695
TBR=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/53499004

Cr-Commit-Position: refs/heads/master@{#9333}
2015-05-29 18:13:32 +00:00
5a8bad60ca Update a comment that mentions the nonexistent Reset() method.
R=henrika@webrtc.org, phoglund@webrtc.org, niklas.enbom@webrtc.org
BUG=none
TEST=none

Review URL: https://webrtc-codereview.appspot.com/56539004

Cr-Commit-Position: refs/heads/master@{#9332}
2015-05-29 16:41:50 +00:00