Commit Graph

19823 Commits

Author SHA1 Message Date
3f2634eadc Reland "Keep spatial_idx=kNoSpatialIdx(255) if there is no layer indices."
This is a reland of 47836b4ebb8a5c71695b5ec07bffd5ee4e3bc2ff

Internal tests are synced with the fix.

Original change's description:
> Keep spatial_idx=kNoSpatialIdx(255) if there is no layer indices.
> 
> spatial_idx is not present in RTP header if there is no temporal or
> spatial layering. But the parser sets spatial_idx to 0 in this case.
> When reflector repacketizes such packets it writes layering indices
> into outgoing packets. When packets arrive to receiver it thinks that
> it deals with multi layer stream and passes it through special path
> in Vp9 reference frame finder which never outputs inter frames.
> 
> I modified the parser such that it keeps spatial_idx=kNoSpatialIdx(255)
> when there is no layer indices in RTP header. Related unit tests have
> been modified as well.
> 
> Bug: none
> Change-Id: I14498cafb4e57797577dc873298c35b243479f88
> Reviewed-on: https://webrtc-review.googlesource.com/17980
> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20560}

TBR=brandtr@webrtc.org,asapersson@webrtc.org,sprang@webrtc.org

Bug: none
Change-Id: I6087a8b20a926296b30432d69251670120b2a20c
Reviewed-on: https://webrtc-review.googlesource.com/20940
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20591}
2017-11-07 16:34:20 +00:00
2732bf5f20 Allow printing full packets in rtc_eventlog2text.
Add command line option to print packet contents as hex in rtc_eventlog2text.

Bug: None
Change-Id: I690706cfba883ca2248332622f2c9133b7ddaf6a
Reviewed-on: https://webrtc-review.googlesource.com/20863
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20590}
2017-11-07 16:33:15 +00:00
7cfbf3a0ff Make energy calculation in AGC not overflow.
An energy value is calculated by summing squares of processed audio
samples. The expression 'out*out >> 6' could overflow. In this CL we
change it to 'out*(out>>6) + out*(out*(out%(1<<6))>>6)'.

The which is verified and proven to be equal, but doesn't
overflow. The change also passes our change-detection tests in
GainControlBitExactnessTest.*

We verified with Godbolt that the modulo and divisions are converted
into branch-free bitwise operations.

NOTRY=True # changing comment, tests just passed.

Bug: chromium:780638, chromium:780376
Change-Id: I415535193433a2fbc275c643fb4e4026ba3e0bdd
Reviewed-on: https://webrtc-review.googlesource.com/20867
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20589}
2017-11-07 15:37:55 +00:00
fbb3b7d004 Reland: "Make javac warnings errors for WebRTC targets."
This reverts commit 2bad72a27329ff30ceb9479253f5eb3d21888d25.

Reason for revert: Fixing downstream projects (take 2).

Original change's description:
> Reland "Revert "Make javac warnings errors for WebRTC targets.""
> 
> This is a reland of 098d24c3c18f4b1fd043d7ba716d7601f0ce2b74
> Original change's description:
> > Revert "Make javac warnings errors for WebRTC targets."
> > 
> > This reverts commit 19b761403c3522902d69d61179f4d184e3632f79.
> > 
> > Reason for revert: Breaking internal builds
> > 
> > Original change's description:
> > > Make javac warnings errors for WebRTC targets.
> > > 
> > > Adds new rtc_* templates for Android targets to allow specifying
> > > default values that affect WebRTC targets.
> > > 
> > > Bug: webrtc:6597
> > > Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
> > > Reviewed-on: https://webrtc-review.googlesource.com/15103
> > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#20567}
> > 
> TBR=phoglund@webrtc.org,sakal@webrtc.org
> > 
> > Change-Id: I6d3ff5604b3d4307765d3a65adb783f89fcc974c
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:6597
> > Reviewed-on: https://webrtc-review.googlesource.com/20740
> > Reviewed-by: Lu Liu <lliuu@webrtc.org>
> > Commit-Queue: Lu Liu <lliuu@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20571}
> 
> Bug: webrtc:6597
> Change-Id: Icfb5ded46ce76b674bae67bfa02054b4ec52bb0f
> Reviewed-on: https://webrtc-review.googlesource.com/20800
> Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20577}

TBR=phoglund@webrtc.org,ehmaldonado@webrtc.org,mbonadei@webrtc.org,sakal@webrtc.org,lliuu@webrtc.org

Change-Id: Id3713c1885318741711987ae642a269a9ca5bb85
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6597
Reviewed-on: https://webrtc-review.googlesource.com/18441
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20588}
2017-11-07 15:36:46 +00:00
0371e10584 Android: Generate all C++ -> Java JNI code for VideoEncoder
The first example CL for generating JNI code
(https://webrtc-review.googlesource.com/c/src/+/4500) seems to stick, so
this CL updates the rest of the VideoEncoder. The JNI code for
Java -> C++ is still done manually.

This CL puts the necessary helper Java methods in a class called
VideoEncoderWrapper.

Bug: webrtc:8278
Change-Id: Ic3a6defe59c094f67ffd8ea86d6c272c676980ae
Reviewed-on: https://webrtc-review.googlesource.com/20871
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20587}
2017-11-07 15:32:15 +00:00
aeb5d88dee Replace left shift with equivalent multiplication.
Issue was found by the NetEq fuzzer.


TBR=kwiberg@webrtc.org

Bug: chromium:779380
Change-Id: Ib6a3db78fadc3c7ae11478ca4f695c6d19a2db19
Reviewed-on: https://webrtc-review.googlesource.com/20869
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20586}
2017-11-07 14:47:05 +00:00
1c9faeef5f Disable several flaky PeerConnectionIntegration tests.
TBR=perkj@webrtc.org

Bug: webrtc:8496
Change-Id: I44722868798d3e3b3c056eb0554cd98402c4a6e0
Reviewed-on: https://webrtc-review.googlesource.com/20868
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20585}
2017-11-07 13:29:55 +00:00
731d1cabeb Reduce flakiness of asynchronous RtcpTransceiver tests
Restructure tests to never wait for no packets,
Greatly increase wait timeout.
(Reduce expectation of synchronous primitives precision)

Bug: webrtc:8494
Change-Id: I9a80fda3a2bf527d8b7337ecabaf625e543b8c62
Reviewed-on: https://webrtc-review.googlesource.com/20502
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20584}
2017-11-07 13:08:05 +00:00
3111e5fb48 Android: Replacement for JNIEnv::FindClass that works from any thread
This CL adds a replacement for JNIEnv::FindClass that works from any
thread, i.e. from native C++ threads as well. This function will be used
from the generated JNI code. Long term, we should stop using
classreferenceholder that relies on a hardcoded list of WebRTC classes.

Bug: webrtc:8278
Change-Id: I4f40c744325ac02b73bd8fa479ab50b684429dc2
Reviewed-on: https://webrtc-review.googlesource.com/20223
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20583}
2017-11-07 12:14:40 +00:00
fd0de7a4bb Run git cl format --full on safe_conversions_impl.h
It had a large-ish number of non-standard-formatted lines. This caused
a problem in another CL where I try to move this file: `git cl format`
wants to reformat all these lines, which in turn causes the rename
detection to treat it as a delete+add, making reviewing hard.

Better to just reformat it in a separate CL and get it over with.

BUG=none

Change-Id: I619f0454546e8a55fba58da08073da9bb1d06207
Reviewed-on: https://webrtc-review.googlesource.com/20865
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20582}
2017-11-07 10:58:57 +00:00
3e83b7fe8d audio_processing VAD annotations in APM-qa.
Added possibility to extract audio_processing VAD annotations in the Quality Assessment tool. 
Annotations are extracted into compressed Numpy 'annotations.npz' files.
Annotations contain information about VAD, speech level, speech probabilities etc.

TBR=alessiob@webrtc.org

Bug: webrtc:7494
Change-Id: I0e54bb67132ae4e180f89959b8bca3ea7f259458
Reviewed-on: https://webrtc-review.googlesource.com/17840
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20581}
2017-11-07 10:37:00 +00:00
360742078b Removing unused import.
Bug: None
Change-Id: Iaa4c81b84a2c35e31b148f2b382a8f251c23b613
Reviewed-on: https://webrtc-review.googlesource.com/20760
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20580}
2017-11-07 08:57:21 +00:00
ed929f3679 Removing unused private constant in EglRenderer
Bug: None
Change-Id: I79e14abda9a09a4e153d038751ca0c24f6a3a67e
Reviewed-on: https://webrtc-review.googlesource.com/20762
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20579}
2017-11-07 08:56:16 +00:00
411582b13a [Window Capturer] Implement scaling in GetWindowBounds()
On Mac OSX system, if retina screen is used, the GetWindowBounds() returns
pre-scaled values instead of system coordinates. So this fix considers
per-monitor scale-factor, and stretchs the DesktopRect.

Bug: chromium:778049
Change-Id: I9dc51e08235eba9b3ef6378eaa15737aa444b0c8
Reviewed-on: https://webrtc-review.googlesource.com/17600
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#20578}
2017-11-07 01:49:35 +00:00
2bad72a273 Reland "Revert "Make javac warnings errors for WebRTC targets.""
This is a reland of 098d24c3c18f4b1fd043d7ba716d7601f0ce2b74
Original change's description:
> Revert "Make javac warnings errors for WebRTC targets."
> 
> This reverts commit 19b761403c3522902d69d61179f4d184e3632f79.
> 
> Reason for revert: Breaking internal builds
> 
> Original change's description:
> > Make javac warnings errors for WebRTC targets.
> > 
> > Adds new rtc_* templates for Android targets to allow specifying
> > default values that affect WebRTC targets.
> > 
> > Bug: webrtc:6597
> > Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
> > Reviewed-on: https://webrtc-review.googlesource.com/15103
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20567}
> 
TBR=phoglund@webrtc.org,sakal@webrtc.org
> 
> Change-Id: I6d3ff5604b3d4307765d3a65adb783f89fcc974c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:6597
> Reviewed-on: https://webrtc-review.googlesource.com/20740
> Reviewed-by: Lu Liu <lliuu@webrtc.org>
> Commit-Queue: Lu Liu <lliuu@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20571}

Bug: webrtc:6597
Change-Id: Icfb5ded46ce76b674bae67bfa02054b4ec52bb0f
Reviewed-on: https://webrtc-review.googlesource.com/20800
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20577}
2017-11-07 01:31:45 +00:00
d25da378c7 Inline various trivial methods from the WebRtcSession merge
Bug: webrtc:8323
Change-Id: I402480b71a5e9cd8936fbbc5d15d62e4f3c910a6
Reviewed-on: https://webrtc-review.googlesource.com/16381
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20576}
2017-11-06 22:54:05 +00:00
904c96c694 Fix typo in iOS64 Perf configuration.
TBR=phoglund@webrtc.org

Bug: webrtc:7156
No-Try: true
Change-Id: I34fb403a4462af07f76d64db64f85207060163ab
Reviewed-on: https://webrtc-review.googlesource.com/20503
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20575}
2017-11-06 21:29:20 +00:00
75737c0c6a Merge WebRtcSession into PeerConnection
This literally copies & pastes the code from WebRtcSession into
PeerConnection as private methods. The only other changes were to
inline the WebRtcSession construction/initialization/destruction
into PeerConnection and fix issues using rtc::Bind on the
reference-counted PeerConnection.

Bug: webrtc:8323
Change-Id: Ib3f071ac10d18566a21a3b04813b1d4ec691ef3c
Reviewed-on: https://webrtc-review.googlesource.com/15160
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20574}
2017-11-06 21:15:20 +00:00
ba818675b9 Prepare WebRtcSession to be merged into PeerConnection
This commit prepares WebRtcSession so that it can be cleanly
copy & pasted into PeerConnection in the next commit. To accomplish
this, the following was done:
1. Added a pointer to the owning PeerConnection to WebRtcSession.
2. Replace WebRtcSession state enum with signaling state.
3. All signals/observers only observed by PeerConnection were
   replaced with direct calls to PeerConnection methods.
4. All duplicated fields were moved to PeerConnection.
5. The remaining tests that still use WebRtcSession for mocks were
   updated to minimize dependence on WebRtcSession construction.

Bug: webrtc:8323
Change-Id: Ifc1a4ee819dcc9beca5363291012f7d5563ff7b1
Reviewed-on: https://webrtc-review.googlesource.com/9020
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20573}
2017-11-06 21:11:19 +00:00
a1a475a5b6 Revert "Revert "Make javac warnings errors for WebRTC targets.""
This reverts commit 098d24c3c18f4b1fd043d7ba716d7601f0ce2b74.

Reason for revert: Fixing downstream projects.

Original change's description:
> Revert "Make javac warnings errors for WebRTC targets."
> 
> This reverts commit 19b761403c3522902d69d61179f4d184e3632f79.
> 
> Reason for revert: Breaking internal builds
> 
> Original change's description:
> > Make javac warnings errors for WebRTC targets.
> > 
> > Adds new rtc_* templates for Android targets to allow specifying
> > default values that affect WebRTC targets.
> > 
> > Bug: webrtc:6597
> > Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
> > Reviewed-on: https://webrtc-review.googlesource.com/15103
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20567}
> 
> TBR=phoglund@webrtc.org,sakal@webrtc.org
> 
> Change-Id: I6d3ff5604b3d4307765d3a65adb783f89fcc974c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:6597
> Reviewed-on: https://webrtc-review.googlesource.com/20740
> Reviewed-by: Lu Liu <lliuu@webrtc.org>
> Commit-Queue: Lu Liu <lliuu@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20571}

TBR=phoglund@webrtc.org,sakal@webrtc.org,lliuu@webrtc.org

Change-Id: I3f0289c6ddc1930b1c92f653a61eff3f6a2bba30
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6597
Reviewed-on: https://webrtc-review.googlesource.com/20741
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20572}
2017-11-06 20:30:58 +00:00
098d24c3c1 Revert "Make javac warnings errors for WebRTC targets."
This reverts commit 19b761403c3522902d69d61179f4d184e3632f79.

Reason for revert: Breaking internal builds

Original change's description:
> Make javac warnings errors for WebRTC targets.
> 
> Adds new rtc_* templates for Android targets to allow specifying
> default values that affect WebRTC targets.
> 
> Bug: webrtc:6597
> Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
> Reviewed-on: https://webrtc-review.googlesource.com/15103
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20567}

TBR=phoglund@webrtc.org,sakal@webrtc.org

Change-Id: I6d3ff5604b3d4307765d3a65adb783f89fcc974c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6597
Reviewed-on: https://webrtc-review.googlesource.com/20740
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20571}
2017-11-06 19:58:38 +00:00
ff52f1b91e Fix flake in AddMediaToConnectedBundleDoesNotRestartIce test
EXPECT_EQ(0u, caller()->ice_connection_state_history().size());

Was failing since it cleared the connection state history before
the caller had finished transitioning to Completed, so the initial
transitions would be mistaken for later transitions.

Bug: None
Change-Id: I7043638f077ac5dcaeeca0d3ea6accc93c920364
Reviewed-on: https://webrtc-review.googlesource.com/16261
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Commit-Queue: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20570}
2017-11-06 19:22:37 +00:00
12251b6386 Adding @SuppressWarnings(NoSynchronizedMethodCheck).
In https://chromium-review.googlesource.com/c/chromium/src/+/750645
Chromium started to use an ErrorProne plugin to discourage synchronized
public methods (an encourage the usage of synchronized blocks).

In order to unblock the Chromium Roll we can suppress these warnings
and decide if we want to align with Chromium on this check or ask
them to make it optional.

More details in the bug.

TBR=magjed@webrtc.org

Bug: webrtc:8491
Change-Id: Ie77a324e54aab44a4f59853959549f1d21f884a0
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/20060
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20569}
2017-11-06 17:48:38 +00:00
08a9c372df Add configuration for iOS perf bot.
Depends on https://chromium-review.googlesource.com/c/chromium/tools/build/+/753625

No-Try: true
Bug: webrtc:7156
Change-Id: I3bf46ad8185a8f0c13bd8d6cd3217b4d6310e30d
Reviewed-on: https://webrtc-review.googlesource.com/18480
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20568}
2017-11-06 17:44:46 +00:00
19b761403c Make javac warnings errors for WebRTC targets.
Adds new rtc_* templates for Android targets to allow specifying
default values that affect WebRTC targets.

Bug: webrtc:6597
Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
Reviewed-on: https://webrtc-review.googlesource.com/15103
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20567}
2017-11-06 15:59:06 +00:00
227d2ab903 Adding zlib LICENSE to generate_licenses.py.
Starting from https://webrtc-review.googlesource.com/c/src/+/18140
(which includes 3296e11b37)
//third_party/protobuf starts to depend on //third_party/zlib.

To fix the Chromium Roll WebRTC has add the license file of
//third_party/zlib to its generate_licenses.py script in order to add
it to markdown generated license file.

Bug: None
Change-Id: If504ef00b166fdbcbe22acb0a2721bfb55624d3e
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/18244
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20566}
2017-11-06 15:32:06 +00:00
ae29428489 Revert "Keep spatial_idx=kNoSpatialIdx(255) if there is no layer indices."
This reverts commit 47836b4ebb8a5c71695b5ec07bffd5ee4e3bc2ff.

Reason for revert: This breaks internal tests, reverting to check if they recover.

Original change's description:
> Keep spatial_idx=kNoSpatialIdx(255) if there is no layer indices.
> 
> spatial_idx is not present in RTP header if there is no temporal or
> spatial layering. But the parser sets spatial_idx to 0 in this case.
> When reflector repacketizes such packets it writes layering indices
> into outgoing packets. When packets arrive to receiver it thinks that
> it deals with multi layer stream and passes it through special path
> in Vp9 reference frame finder which never outputs inter frames.
> 
> I modified the parser such that it keeps spatial_idx=kNoSpatialIdx(255)
> when there is no layer indices in RTP header. Related unit tests have
> been modified as well.
> 
> Bug: none
> Change-Id: I14498cafb4e57797577dc873298c35b243479f88
> Reviewed-on: https://webrtc-review.googlesource.com/17980
> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20560}

TBR=brandtr@webrtc.org,asapersson@webrtc.org,sprang@webrtc.org,ssilkin@webrtc.org

Change-Id: I67d083cf769974d8df8bd5d70942af97db578db9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/20501
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20565}
2017-11-06 15:27:48 +00:00
fd6c0914c5 Delete deprecated constructor of SendSideCongestionController.
Move packet_router #include to where it's needed, and delete unused
MockPacketRouter.

Bug: webrtc:6847
Change-Id: I03c86c6fb8b413f5a535a237fa1724cc10960ffa
Reviewed-on: https://webrtc-review.googlesource.com/17320
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20564}
2017-11-06 15:02:36 +00:00
e3a4da9f44 AGC: Change default clipping level min to 70
The old value was 170, but experiments have shown that 70 is better.

This will let the AGC reduce the gain further when input clipping is
detected. The effect should be less clipping, but sometimes slightly
lower signals.

In Chrome, the value 70 has already been used since June (see
https://codereview.chromium.org/2928133002).

Bug: webrtc:6622, chromium:672476
Change-Id: Ie5a60bb875eef71f303b28e096b22a8cd4b449d4
Reviewed-on: https://webrtc-review.googlesource.com/20222
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20563}
2017-11-06 14:16:06 +00:00
149533abd4 Move rendering code in SurfaceViewRenderer to a separate class.
The new SurfaceEglRenderer helper class extends EglRenderer and
implements rendering on a SurfaceView.

Bug: webrtc:8242
Change-Id: Ic532fe487755d3b54c6bd03f239d714e1ecb10ad
Reviewed-on: https://webrtc-review.googlesource.com/2940
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20562}
2017-11-06 13:52:26 +00:00
ed2b1c954c Ignore output callbacks with null parameters in iOS H264 encode.
This can occur if there are callbacks in-flight when the compression
session is destroyed. Has been observed but is rare.

Bug: webrtc:8489
Change-Id: I5d4b35c555f6ff68af48edfcc7acf53395fa86fe
Reviewed-on: https://webrtc-review.googlesource.com/18220
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20561}
2017-11-06 13:40:27 +00:00
47836b4ebb Keep spatial_idx=kNoSpatialIdx(255) if there is no layer indices.
spatial_idx is not present in RTP header if there is no temporal or
spatial layering. But the parser sets spatial_idx to 0 in this case.
When reflector repacketizes such packets it writes layering indices
into outgoing packets. When packets arrive to receiver it thinks that
it deals with multi layer stream and passes it through special path
in Vp9 reference frame finder which never outputs inter frames.

I modified the parser such that it keeps spatial_idx=kNoSpatialIdx(255)
when there is no layer indices in RTP header. Related unit tests have
been modified as well.

Bug: none
Change-Id: I14498cafb4e57797577dc873298c35b243479f88
Reviewed-on: https://webrtc-review.googlesource.com/17980
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20560}
2017-11-06 12:15:16 +00:00
88f080ae9a Move SPS/PPS/IDR requirement from RtpFrameObject to PacketBuffer.
BUG=webrtc:8423

Change-Id: I0f0d59461afead700c20c9a2ed9b2bc991590b4a
Reviewed-on: https://webrtc-review.googlesource.com/15101
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20559}
2017-11-06 12:04:46 +00:00
cdfbcd4068 Expand ownership of rtc_tools.
R=terelius

Bug: webrtc:8450
Change-Id: Iab262462e465bad8579b4275dba6cad6c90fff02
Reviewed-on: https://webrtc-review.googlesource.com/15441
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20558}
2017-11-06 11:13:26 +00:00
9bde6b7698 Add new UMA metric for the audio receiver delay
The UMA metric will log the same information that goes into the
googCurrentDelayMs stat.

Bug: webrtc:8488
Change-Id: I26abb3d86a07e8c0ddb4168540a8e2458115f004
Reviewed-on: https://webrtc-review.googlesource.com/18201
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20557}
2017-11-06 08:39:56 +00:00
969d4a9386 Adding //third_party/auto to WebRTC DEPS file.
Starting from https://chromium-review.googlesource.com/750645, 
Chromium started to depend on //third-party/auto in order to use
an errorprone plugin that disallows the usage of synchronized public
methods.

Bug: webrtc:8491
Change-Id: Ie9bb70520fc713dc294050c8a536ce5091b8339c
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/20002
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20556}
2017-11-06 00:40:16 +00:00
32df86ee0e Remove deprecated CreatePeerConnectionFactory() overloads
We need to get rid of the ones that don't take audio codec factory
arguments in order to eliminate the dependency on audio codec
implementations.

BUG=webrtc:8396

Change-Id: Id0c1c3b70c2b3479da81ba1056cc69e857e454bd
Reviewed-on: https://webrtc-review.googlesource.com/12281
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20555}
2017-11-03 10:16:22 +00:00
a750333372 Remove support for SW H264 High profile decoding
Also put Baseline profile in front of Constrained Baseline profile. The
reason is that the HW encoders are mostly BP, and we want this to be the
first codec in the list so that HW is preferred by default.

The H264 tests in chromium needs to be updated again with this change,
which was changed here: https://codereview.chromium.org/2985263002/.

Bug: webrtc:8317
Change-Id: Ief75683962b79b6664143d73b9259729c66ce082
Reviewed-on: https://webrtc-review.googlesource.com/17780
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20554}
2017-11-02 21:22:49 +00:00
874d9a57fc Handle any InitDecode() failure in VideoDecoderSoftwareFallbackWrapper
Bug: webrtc:8484
Change-Id: Ia023b77dea54c1d0b54cea6f29b78653acafcaeb
Reviewed-on: https://webrtc-review.googlesource.com/17641
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20553}
2017-11-02 18:06:59 +00:00
f3850f6933 Voice Engine: Require caller to supply an AudioDecoderFactory
So that we don't have to be capable of creating one ourselves, which
requires a dependency on the audio decoders.

In the process, remove the default values for the VoEBase::Init() arguments,
since there isn't a sensible default value for the audio decoder factory
anymore.

BUG=webrtc:8396

Change-Id: Idb433efa49e1a68e8206d369d27b3c255185777a
Reviewed-on: https://webrtc-review.googlesource.com/18200
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20552}
2017-11-02 13:54:57 +00:00
180362842a NetEq: Fix a problem with too large delay during codec-internal DTX/CNG
The length of the generated comfort noise is measured with a
counter. A bug in the implementation caused the counter to be reset
not only when a new packet was decoded, but also when NetEq asked the
decoder for more comfort noise without giving it a new packet to
decode. This means that the counter was reset once every 20 ms (in the
case of Opus), and it would never match the gap in timestamps that is
the exit criterion for CNG. This would have resulted in perpetual CNG,
but there is a stop-gap in NetEq. If the buffer level exceeds 4 times
the target level, CNG mode is exited anyway. This is what happens at
the end of every silence period.

With this CL, the bug should be fixed. The fix is wrapped in an
experiment, to allow verifying the fix and the impact of it with real
world data.

Bug: webrtc:8488
Change-Id: Idfc24df780eb2c55dbf08de840e6644e8557a0af
Reviewed-on: https://webrtc-review.googlesource.com/18181
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20551}
2017-11-02 13:09:07 +00:00
f6515cd0e3 Fix and optimize input buffer filling in HardwareVideoEncoder.
Previously input buffers would be filled incorrectly for sparsely
packed buffers where stride is not equal to the plane width.

Bug: webrtc:8478
Change-Id: I080fa3c354a27982bb996be8c1e41b103384e4bc
Reviewed-on: https://webrtc-review.googlesource.com/17321
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20550}
2017-11-02 12:22:07 +00:00
4f167df8fa Adds new DisableAndEnableAudioRecording integration test to Peerconnection.
Follow-up on https://webrtc-review.googlesource.com/c/src/+/17784.
Adds a new PC integration test using the newly added StartRecording API.

Bug: webrtc:7313
Change-Id: Ibd59910ca5d8f8ac96cfb891f41039759a18b6f6
Reviewed-on: https://webrtc-review.googlesource.com/17940
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20549}
2017-11-02 11:43:17 +00:00
56231d07b3 Reland "Android: Generate JNI code for VideoSink and VideoEncoder"
This is a reland of ba78b5a905bffa05933a135673996df02328f2a4
Original change's description:
> Android: Generate JNI code for VideoSink and VideoEncoder
> 
> This is the first CL to start generating JNI code. It has updated two of
> the most recent classes to use JNI code generation.
> 
> Bug: webrtc:8278
> Change-Id: I1b19ee78c273346ceeaa0401dbdf8696803f16c7
> Reviewed-on: https://webrtc-review.googlesource.com/3820
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#19994}

Bug: webrtc:8278
Change-Id: Id3e6513736eb87d7c234be3b0d13c5d30435201c
Reviewed-on: https://webrtc-review.googlesource.com/4500
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20548}
2017-11-02 10:27:47 +00:00
7797a812aa Roll chromium_revision baae088436..f93b8b19f2 (513340:513366)
Change log: baae088436..f93b8b19f2
Full diff: baae088436..f93b8b19f2

Changed dependencies:
* src/build: 3df1bb82ed..4ef2624fab
* src/testing: e4f4b841a1..a8c077a658
* src/third_party: cb1dbe8401..3bd34f929d
* src/tools: 94121df113..b512b7250b
DEPS diff: baae088436..f93b8b19f2/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: Ic844880c1bdee52422a723b9f0bfc9443a012ab9
Reviewed-on: https://webrtc-review.googlesource.com/18101
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20547}
2017-11-02 02:24:36 +00:00
20f1846bf2 Roll chromium_revision d34d8303ef..baae088436 (513315:513340)
Change log: d34d8303ef..baae088436
Full diff: d34d8303ef..baae088436

Changed dependencies:
* src/ios: f8954511d2..9e4709d134
* src/testing: 0ef235f027..e4f4b841a1
* src/third_party: ea0d6fa708..cb1dbe8401
* src/tools: b22cd3d736..94121df113
DEPS diff: d34d8303ef..baae088436/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I1dd90f105fad0a4d3d4853ea50b7802787709d20
Reviewed-on: https://webrtc-review.googlesource.com/18100
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20546}
2017-11-02 01:25:39 +00:00
7f6af7a36c Use urllib2 in roll_deps, which raises on non-200 HTTP status
This ensures that on service outages we get a clear early error message instead of something cryptic later down the line

Bug: None
Change-Id: Ib637ed97144284e3744aaa948f594f5795fa9c72
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/18040
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20545}
2017-11-02 00:47:46 +00:00
82c7eff42f Roll chromium_revision 4d326c294a..d34d8303ef (513298:513315)
Change log: 4d326c294a..d34d8303ef
Full diff: 4d326c294a..d34d8303ef

Changed dependencies:
* src/base: 6aeed38753..eec763edae
* src/third_party: 90c941f7b3..ea0d6fa708
* src/tools: dc6487cdce..b22cd3d736
DEPS diff: 4d326c294a..d34d8303ef/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I20bbb36f14a8cf1acf33fff36878b6afacf908c7
Reviewed-on: https://webrtc-review.googlesource.com/18082
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20544}
2017-11-01 23:55:16 +00:00
390d010946 Roll chromium_revision 6687bb7994..4d326c294a (513265:513298)
Change log: 6687bb7994..4d326c294a
Full diff: 6687bb7994..4d326c294a

Changed dependencies:
* src/base: 09b8d564d2..6aeed38753
* src/ios: 64f5e340aa..f8954511d2
* src/third_party: 3a59a3ae36..90c941f7b3
* src/tools: e747f4ca1d..dc6487cdce
* src/tools/swarming_client: fe94e7274e..5da404cf35
DEPS diff: 6687bb7994..4d326c294a/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I0233864fbf39b18444fb43066b19630c9cd95f42
Reviewed-on: https://webrtc-review.googlesource.com/18062
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20543}
2017-11-01 22:46:21 +00:00
0d6609df0d Roll chromium_revision f69055b78e..6687bb7994 (513208:513265)
Change log: f69055b78e..6687bb7994
Full diff: f69055b78e..6687bb7994

Changed dependencies:
* src/base: d6bcf16da8..09b8d564d2
* src/build: f2bd45e6e8..3df1bb82ed
* src/ios: 2ba066531a..64f5e340aa
* src/testing: 7986d6d202..0ef235f027
* src/third_party: 77782afb5d..3a59a3ae36
* src/third_party/libvpx/source/libvpx: 401e6d48bf..3ba9a2c8b2
* src/tools: e5d5c39384..e747f4ca1d
DEPS diff: f69055b78e..6687bb7994/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,marpan@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I9af20b4a6d034dcceded6ce4aa603aae2a58ac81
Reviewed-on: https://webrtc-review.googlesource.com/18060
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20542}
2017-11-01 21:35:06 +00:00