8724 Commits

Author SHA1 Message Date
Fredrik Solenberg
04f4931ef0 VoE2 API draft
BUG=4690
R=jmarusic@webrtc.org, kwiberg@webrtc.org, mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9392}
2015-06-08 11:05:07 +00:00
Cesar Magalhaes
77cabab51a Enabling Packet-Loss plots for BweReceiver.
Packet-loss computation and plot were added to BweReceiver class.

Objective function and plot were added to PacketReceiver class.

BUG=4550
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9391}
2015-06-08 09:29:21 +00:00
Erik Språng
c1b9d4e686 Add support for fragmentation in RtcpPacket.
If the buffer becomes full an OnPacketReady callback will be used to
send the packets created so far. On success the buffer can be reused.
The same callback will be called when the last packet has beed created.

Also made some changes to RawPacket. Buffer will now be heap-allocated
rather than (potentially) stack-allocated, but on the plus side it can
now be allocted with variable size and also avoids one memcpy.

BUG=

patch from issue 56429004 at patchset 160001 (http://crrev.com/56429004#ps160001)

R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9390}
2015-06-08 07:54:24 +00:00
Åsa Persson
1aff095b6c Moved check for native frame to VideoReceiveStream::FrameCallback.
Stats for decoded framerate will now also be updated if the frame is backed by a texture.

BUG=webrtc:4722
R=mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9389}
2015-06-08 07:26:40 +00:00
Joachim Bauch
8f622a9f83 Locking is no longer required with BoringSSL.
BoringSSL handles locking internally, so the various callback methods
are no longer required in this case.

R=juberti@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9388}
2015-06-06 11:09:38 +00:00
Wan-Teh Chang
55b6acbdc5 Miscellaneous cleanups.
stream_generator.h doesn't use anything from <string.h>. Replace
<string.h> with <stdint.h> for the intXXX_t typedefs.

Rename packet_buffer to packet_buffer_ to conform to the naming
convention of data members.

R=marpan@google.com, marpan@webrtc.org, phoglund@webrtc.org

BUG=none
TEST=none

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

Cr-Commit-Position: refs/heads/master@{#9387}
2015-06-05 22:02:41 +00:00
Wan-Teh Chang
349c2bb223 Remove the timestamp_ member of StreamGenerator.
timestamp_ is only used in GenerateFrame() and its old value is
discarded. So it just needs to be a local variable in GenerateFrame().
As a result, we can remove the start_timestamp parameter from the
constructor and Init().

Also mark the GeneratePacket() method private because it is only used
internally.

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

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

Cr-Commit-Position: refs/heads/master@{#9386}
2015-06-05 21:45:13 +00:00
Wan-Teh Chang
f291287a7e Change "hybrid mode" to "|kNack| mode" in comments.
R=stefan@webrtc.org
BUG=none
TEST=none

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

Cr-Commit-Position: refs/heads/master@{#9385}
2015-06-05 20:16:57 +00:00
Peter Boström
d7da120b40 Disable reduced-size RTCP in default config.
Verifies that reduced-size isn't configured in WebRtcVideoEngine2
without explicit configuration (which doesn't exist). Also disables REMB
in the default config because it requires reconfiguration.

Adds default-config tests to make sure that they don't contain
parameters that need to be negotiated between clients.

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

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

Cr-Commit-Position: refs/heads/master@{#9384}
2015-06-05 12:09:48 +00:00
henrika
fe55c38eff Removes automatic setting of COMM mode in WebRTC.
It is now up to the application to ensure that it is in COMM mode before any audio streaming is started.

BUG=b/21571563
R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9383}
2015-06-05 09:46:02 +00:00
Erik Språng
3b2f67d90f Disable some PortAllocatorTest on valgrind memcheck due to flakiness
BUG=webrtc:4743
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9382}
2015-06-05 09:11:02 +00:00
Peter Boström
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
Henrik Lundin
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
Henrik Kjellander
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
Henrik Lundin
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
Erik Språng
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
Bjorn Volcker
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
Erik Språng
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
Henrik Lundin
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
Guo-wei Shieh
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
Guo-wei Shieh
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
Guo-wei Shieh
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
Peter Boström
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
Erik Språng
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
Peter Boström
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
Henrik Kjellander
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
Henrik Kjellander
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
Wan-Teh Chang
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
Peter Kasting
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
Tommi
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
Niklas Enbom
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
Bjorn Volcker
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
Henrik Lundin
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
Henrik Lundin
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
Henrik Lundin
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
Wan-Teh Chang
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
Wan-Teh Chang
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
Joachim Bauch
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
Peter Boström
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
Henrik Kjellander
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
Henrik Kjellander
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
scottmg
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
Henrik Lundin
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
Wan-Teh Chang
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
Peter Kasting
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
Peter Boström
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
Peter Boström
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
Henrik Kjellander
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
Henrik Lundin
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
Stefan Holmer
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