20238 Commits

Author SHA1 Message Date
Niels Möller
bb5ca2ef41 Delete obsolete tsan suppressions.
The WEBRTC_TRACE facility and GetStaticInstance were deleted a while
ago, but corresponding tsan supressions were left around.

Bug: webrtc:5118
Change-Id: I00f04f0e4f20c17120df80cb43475f71c9d4a6ad
Reviewed-on: https://webrtc-review.googlesource.com/25240
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20856}
2017-11-24 07:51:18 +00:00
Fredrik Solenberg
55900fd416 Move APM initialization into WebRtcVoiceEngine
TBR=kwiberg@webrtc.org

Bug: webrtc:4690
Change-Id: Icd8590d3f7476c1a841c7e2425d1134d224b1a53
Reviewed-on: https://webrtc-review.googlesource.com/23480
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20855}
2017-11-23 21:20:18 +00:00
Henrik Boström
316386747a Reland "SetRemoteDescriptionObserverInterface added."
Description for changes from the original CL:

Calling legacy SRD, implemented using
SetRemoteDescriptionObserverAdapter wrapping the old observer, was
meant to have the exact same behavior as the legacy SRD implementation
which invokes the callbacks in a Post.

However, in the CL that landed and got reverted (PS1), the Adapter had
its own message handler, and callbacks would be invoked even if the PC
was destroyed.

In PS2 I've changed the Adapter to use the PeerConnection's message
handler. If the PC is destroyed, the callback will not be invoked.
This gives identical behavior to before this CL, and the legacy
behavior is covered by a new unittest.

I changed the adapter to be an implementation detail of
peerconnection.cc, therefor some stuff was moved, and the only tests
covering this is now in peerconnection_rtp_unittest.cc.

This is a reland of 6c7ec32bd63ab2b45d4d83ae1de817ee946b4d72
Original change's description:
> SetRemoteDescriptionObserverInterface added.
>
> The new observer replaced SetSessionDescriptionObserver for
> SetRemoteDescription. Unlike SetSessionDescriptionObserver,
> SetRemoteDescriptionObserverInterface is invoked synchronously so
> that the you can rely on the state of the PeerConnection to represent
> the result of the SetRemoteDescription call in the callback.
>
> The new observer succeeds or fails with an RTCError.
>
> This deprecates the need for PeerConnectionObserver::OnAdd/RemoveTrack
> and SetSessionDescriptionObserver, with the benefit that all media
> object changes can be processed in a single callback by the application
> in a synchronous callback. This will help Chromium keep objects in-sync
> across layers and threads in a non-racy and straight-forward way, see
> design doc (Proposal 2):
> https://docs.google.com/a/google.com/document/d/1-cDDC82mgU5zrHacfFz720p3xwRtuBkOPSRchh07Ho0/edit?usp=sharing
>
> An adapter for SetSessionDescriptionObserver is added to allow calling
> the old SetRemoteDescription signature and get the old behavior
> (OnSuccess/OnFailure callback in a Post) until third parties switch.
>
> Bug: webrtc:8473
> Change-Id: I3d4eb60da6dd34615f2c9f384aeaf4634e648c99
> Reviewed-on: https://webrtc-review.googlesource.com/17523
> Commit-Queue: Henrik Boström <hbos@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20841}

TBR=pthatcher@webrtc.org

Bug: webrtc:8473
Change-Id: If2b1a1929663b0e77fcc9c2ebeef043e6f73adf5
Reviewed-on: https://webrtc-review.googlesource.com/25640
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20854}
2017-11-23 19:59:48 +00:00
Magnus Jedvert
523589dbd8 Create common helper method for comparing video formats
Unfortunately, H264 makes it non-trivial to compare video formats for
equality. For every video format besides H264 it's enough to look at the
name, but for H264, we need to dig into the parameters. This logic is
currently in several places, and this CL unifies it to one place.

Bug: webrtc:7925
Change-Id: I83a516b108d6b4d6792fd0bf1d24296916d9f7fa
Reviewed-on: https://webrtc-review.googlesource.com/25120
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20853}
2017-11-23 15:41:38 +00:00
erikvarga@webrtc.org
01f2ec35a6 Add a new function to BitrateAllocation: HasBitrate.
This can be used to determine whether the bitrate of a given spatial and temporal layer has been set in the allocation, even if the value it's set to is zero.
GetBitrate still returns 0 if the queried layer does not have the bitrate set.

Bug: webrtc:8479
Change-Id: I1d982e211da9b052fcccdbf588b67da1a4550c60
Reviewed-on: https://webrtc-review.googlesource.com/17440
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Varga <erikvarga@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20852}
2017-11-23 15:00:08 +00:00
Stefan Holmer
d7e251378b Fix potential overflow in congestion controller fuzzer.
Bug: chromium:787753
Change-Id: I43d765379216db35f3df748b16599b34bffd388f
Reviewed-on: https://webrtc-review.googlesource.com/25480
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20851}
2017-11-23 14:18:38 +00:00
Henrik Boström
a4ecf5571e Revert "SetRemoteDescriptionObserverInterface added."
This reverts commit 6c7ec32bd63ab2b45d4d83ae1de817ee946b4d72.

Reason for revert: Third party project breaks due to use-after-free
in the callback. I suspect this is because the adapter is processing
the async callback instead of the pc, i.e. callback is called from
SetRemoteDescriptionObserverAdapter::OnMessage instead of from
PeerConnection::OnMessage. This makes it possible for the callback to
be invoked after the PC is destroyed.

I argue this is how it should be done, and that if you're using a raw
pointer in an async callback you're doing it wrong, but I will reland
this CL with the callback processed in PeerConnection::OnMessage
instead as to not change the behavior of the old SRD signature.

Original change's description:
> SetRemoteDescriptionObserverInterface added.
> 
> The new observer replaced SetSessionDescriptionObserver for
> SetRemoteDescription. Unlike SetSessionDescriptionObserver,
> SetRemoteDescriptionObserverInterface is invoked synchronously so
> that the you can rely on the state of the PeerConnection to represent
> the result of the SetRemoteDescription call in the callback.
> 
> The new observer succeeds or fails with an RTCError.
> 
> This deprecates the need for PeerConnectionObserver::OnAdd/RemoveTrack
> and SetSessionDescriptionObserver, with the benefit that all media
> object changes can be processed in a single callback by the application
> in a synchronous callback. This will help Chromium keep objects in-sync
> across layers and threads in a non-racy and straight-forward way, see
> design doc (Proposal 2):
> https://docs.google.com/a/google.com/document/d/1-cDDC82mgU5zrHacfFz720p3xwRtuBkOPSRchh07Ho0/edit?usp=sharing
> 
> An adapter for SetSessionDescriptionObserver is added to allow calling
> the old SetRemoteDescription signature and get the old behavior
> (OnSuccess/OnFailure callback in a Post) until third parties switch.
> 
> Bug: webrtc:8473
> Change-Id: I3d4eb60da6dd34615f2c9f384aeaf4634e648c99
> Reviewed-on: https://webrtc-review.googlesource.com/17523
> Commit-Queue: Henrik Boström <hbos@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20841}

TBR=hbos@webrtc.org,hta@webrtc.org,pthatcher@webrtc.org,guidou@webrtc.org

Change-Id: I715555e084d9aae49ee2a8831c70dc006dbdb74c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8473
Reviewed-on: https://webrtc-review.googlesource.com/25580
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20850}
2017-11-23 14:17:19 +00:00
Sami Kalliomäki
7bc55b8e84 Update AAR-generation to use non-preprocessed jar files.
Previously Java 8 bytecode was transpiled into Java 7 bytecode for AAR.
With this change we instead include Java 8 bytecode in the AAR.

This drops support for Java 7 but allows using Java 8 features such as
static methods in interfaces and default methods.

Bug: webrtc:8084, chromium:762967
Change-Id: I3c6ec9332c5612b7ed811a81957f25c94c80da70
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/21222
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20849}
2017-11-23 13:25:58 +00:00
Edward Lemur
6a82207e4e Make PrintResult receive a double instead of a string.
It will be easier to make perf results output to JSON if the PrintResult*
functions receive doubles instead of strings.

I'll make follow-up CLs for PrintResultMeanAndError and PrintResultList.

Bug: webrtc:8566
Change-Id: I198e422a7bb8cd237c6364af98d2f67f0858452e
Reviewed-on: https://webrtc-review.googlesource.com/25300
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20848}
2017-11-23 12:30:08 +00:00
Sami Kalliomäki
2af5fff6d5 Android: Shorten HardwareVideoCodec implementation names.
The current names are too long and make the stats screen in
AppRTCMobile unusable.

Bug: None
Change-Id: I5c4d0526e478ff45392f80a8bb22c2d97f63de17
Reviewed-on: https://webrtc-review.googlesource.com/25481
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20847}
2017-11-23 11:38:27 +00:00
Oskar Sundbom
3419cf909e Optional: Use nullopt and implicit construction in /modules/rtp_rtcp
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=danilchap@webrtc.org

Bug: None
Change-Id: Ib4694d183f04d675f2ea66d39661fdffb2a984f1
Reviewed-on: https://webrtc-review.googlesource.com/23604
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20846}
2017-11-23 11:36:08 +00:00
Oskar Sundbom
057ce1de45 Optional: Use nullopt and implicit construction in /sdk/android/src/jni/androidvideotracksource.h
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=sakal@webrtc.org

Bug: None
Change-Id: Ib01eb9ef7b3b76c0f55890d7ea1b8dfcd30f0617
Reviewed-on: https://webrtc-review.googlesource.com/23607
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20845}
2017-11-23 11:23:58 +00:00
Alex Loiko
02d71fde8d Generate APM-QA annotations for noise mixes.
The APM-QA tool produces clean-speech + noise + echo mixes with the
--additive_noise_tracks_path, --test_data_generators,
--echo_path_simulator flags. From this CL, it automatically produces
compressed Numpy annotations for the mixes. Annotations are placed in
the same  folder as the mixes with name '${basename}-annotations.npz'.

TBR=alessiob@webrtc.org
NOTRY=True

Bug: webrtc:7494
Change-Id: I71941a4283594ef813de3ed65be31623bce5d7de
Reviewed-on: https://webrtc-review.googlesource.com/24960
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20844}
2017-11-23 10:16:29 +00:00
Zhi Huang
6f36747fb1 Use local codec parameters in the answer.
Previously when creating an answer, we used the codecs from the remote list
to get correctly mapped codec id, but the side effect is that we also used
the remote codec parameters which is wrong.

With this change, we use the local codecs with local parameters and the
|NegotiateCodecs| method will take care of the codec id mapping.

Bug: webrtc:8550
Change-Id: Ib7b2fe5f6ed3a72c58cf5df8bf2c1d00476c141c
Reviewed-on: https://webrtc-review.googlesource.com/25285
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20843}
2017-11-22 23:46:34 +00:00
Autoroller
760b2b158e Roll chromium_revision 1b4899457a..5df4e1bfe7 (518587:518692)
Change log: 1b4899457a..5df4e1bfe7
Full diff: 1b4899457a..5df4e1bfe7

Changed dependencies:
* src/base: ce43a92e79..4843599735
* src/build: 9c1e28b9fd..99653454ee
* src/ios: 9752a6f0ae..7287c9baeb
* src/testing: b4ccc7337b..60c665fffe
* src/third_party: 32aced3ac0..6a94dad699
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/37921f135d..2ffb57b102
* src/tools: 1508c9c638..4e917ad6ac
DEPS diff: 1b4899457a..5df4e1bfe7/DEPS

No update to Clang.

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

Change-Id: I4c0bb9cb500e6bcbad7a0633e81ed0bd3b5db27c
Reviewed-on: https://webrtc-review.googlesource.com/25283
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20842}
2017-11-22 19:34:34 +00:00
Henrik Boström
6c7ec32bd6 SetRemoteDescriptionObserverInterface added.
The new observer replaced SetSessionDescriptionObserver for
SetRemoteDescription. Unlike SetSessionDescriptionObserver,
SetRemoteDescriptionObserverInterface is invoked synchronously so
that the you can rely on the state of the PeerConnection to represent
the result of the SetRemoteDescription call in the callback.

The new observer succeeds or fails with an RTCError.

This deprecates the need for PeerConnectionObserver::OnAdd/RemoveTrack
and SetSessionDescriptionObserver, with the benefit that all media
object changes can be processed in a single callback by the application
in a synchronous callback. This will help Chromium keep objects in-sync
across layers and threads in a non-racy and straight-forward way, see
design doc (Proposal 2):
https://docs.google.com/a/google.com/document/d/1-cDDC82mgU5zrHacfFz720p3xwRtuBkOPSRchh07Ho0/edit?usp=sharing

An adapter for SetSessionDescriptionObserver is added to allow calling
the old SetRemoteDescription signature and get the old behavior
(OnSuccess/OnFailure callback in a Post) until third parties switch.

Bug: webrtc:8473
Change-Id: I3d4eb60da6dd34615f2c9f384aeaf4634e648c99
Reviewed-on: https://webrtc-review.googlesource.com/17523
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20841}
2017-11-22 19:30:34 +00:00
Zhi Huang
2efe87f8f6 Revert "Removes deprecated ADM APIs."
This reverts commit 1882d8509a138468c6dd8437506973d236c80e62.

Reason for revert: Broke the internal projects.

Original change's description:
> Removes deprecated ADM APIs.
> 
> Final stage since these APIs are no longer used in Chrome.
> 
> Bug: webrtc:7306
> Change-Id: Ia116671bc888daa75c4105ad1ebeb21833f5d090
> Reviewed-on: https://webrtc-review.googlesource.com/25220
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20836}

TBR=solenberg@webrtc.org,henrika@webrtc.org

Change-Id: If8dd4212fb3e8c6944643d3794f673837977bf4e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7306
Reviewed-on: https://webrtc-review.googlesource.com/25320
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20840}
2017-11-22 18:40:10 +00:00
henrika
f68d15cba3 Removes check of RECORD_AUDIO in native audio layer on Android.
This type of check should instead be performed by the application/client.
If the app does not have mic permissions, construction of the AudioRecord
object will fail and the user will receive an error callback anyhow.

Bug: b/69434512
Change-Id: If1d7eff488f7c693697e048a567c17ed0c51f040
Reviewed-on: https://webrtc-review.googlesource.com/25261
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20839}
2017-11-22 18:01:27 +00:00
Edward Lemur
f7ff3e8b3a Remove AppendResult* and SystemCommit* functions from perf_test.
They are unused.

Bug: webrtc:8566
Change-Id: Iabc8b30c99f2fddc036f08dc70441db494cc5118
Reviewed-on: https://webrtc-review.googlesource.com/25180
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20838}
2017-11-22 17:59:07 +00:00
Sami Kalliomäki
ce86e2965c Android: Use RTP timestamp instead of capture_time_ms_ in VideoDecoderWrapper.
capture_time_ms_ is always 0 for frames received from the network. This
caused a bug because it was used as an unique identified.

Bug: b/68271454
Change-Id: Ic4417a52e61cf2b0cd796a89207a90b603a16590
Reviewed-on: https://webrtc-review.googlesource.com/24940
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20837}
2017-11-22 16:10:27 +00:00
henrika
1882d8509a Removes deprecated ADM APIs.
Final stage since these APIs are no longer used in Chrome.

Bug: webrtc:7306
Change-Id: Ia116671bc888daa75c4105ad1ebeb21833f5d090
Reviewed-on: https://webrtc-review.googlesource.com/25220
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20836}
2017-11-22 16:05:27 +00:00
Gustaf Ullberg
332150d7df APM reports ERL and ERLE metrics for AEC3.
The audio processing module reports the metrics 'echo return loss'
and 'echo return loss enhancement' for AEC3.

Bug: webrtc:8533
Change-Id: I166c504adf013d6cb5d6d3c9717d0622c3454bb7
Reviewed-on: https://webrtc-review.googlesource.com/24880
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20835}
2017-11-22 15:01:47 +00:00
Oskar Sundbom
63e232a2cf Optional: Use nullopt and implicit construction in /pc/peerconnectionendtoend_unittest.cc
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=hbos@webrtc.org

Bug: None
Change-Id: I2fc923e788b744fc167f02f9fecd19bea512af81
Reviewed-on: https://webrtc-review.googlesource.com/23613
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20834}
2017-11-22 14:21:57 +00:00
Danil Chapovalov
2ddf98d894 Add RequestKeyFrame with Fir to RtcpTransceiver
Bug: webrtc:8239
Change-Id: If094d434a7be20cdff5c80447322d68a4a7a4580
Reviewed-on: https://webrtc-review.googlesource.com/22961
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20833}
2017-11-22 14:00:57 +00:00
Karl Wiberg
65c392265f Move some more numeric utility code from rtc_base/ to rtc_base/numerics/
Specifically, I'm moving

  histogram_percentile_counter.h
  mathutils.h
  mod_ops.h
  moving_max_counter.h

They shouldn't be part of the API, and moving them to an appropriate
subdirectory of rtc_base/ is a good way to keep track of that.

BUG=webrtc:8445

Change-Id: I78a999984a27ef935be2d7c3136475d5f209adda
Reviewed-on: https://webrtc-review.googlesource.com/20870
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20832}
2017-11-22 12:39:39 +00:00
Autoroller
6196857826 Roll chromium_revision 3d1e7a12b7..1b4899457a (517813:518587)
Change log: 3d1e7a12b7..1b4899457a
Full diff: 3d1e7a12b7..1b4899457a

Changed dependencies:
* src/base: 4c3d6272f8..ce43a92e79
* src/build: 571871636f..9c1e28b9fd
* src/buildtools: 461b345a81..505de88083
* src/ios: 865de15eaf..9752a6f0ae
* src/testing: 14acaa118c..b4ccc7337b
* src/third_party: d43ee09615..32aced3ac0
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/6cc352e216..8793942c5c
* src/third_party/depot_tools: ddfead3483..7d9d9233cb
* src/third_party/ffmpeg: 252244150a..abead8cbcf
* src/tools: bce4039f1c..1508c9c638
DEPS diff: 3d1e7a12b7..1b4899457a/DEPS

Clang version changed 317263:318667
Details: 3d1e7a12b7..1b4899457a/tools/clang/scripts/update.py

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

Change-Id: I5a359127771427343dd8010d60f78d8e09ae3485
Reviewed-on: https://webrtc-review.googlesource.com/25100
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20831}
2017-11-22 11:40:12 +00:00
Oskar Sundbom
b95fd2ce0b Optional: Use nullopt and implicit construction in /pc/peerconnectioninterface_unittest.cc
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=hbos@webrtc.org

Bug: None
Change-Id: I8f22aef3ad016c5714bc09351135ec4c65ff0cbd
Reviewed-on: https://webrtc-review.googlesource.com/23577
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20830}
2017-11-22 11:39:07 +00:00
Karl Wiberg
e40468ba3d Move some numeric utility code from rtc_base/ to rtc_base/numerics/
Specifically, I'm moving

  safe_compare.h
  safe_conversions.h
  safe_minmax.h

They shouldn't be part of the API, and moving them to an appropriate
subdirectory of rtc_base/ is a good way to keep track of that.

BUG=webrtc:8445

Change-Id: I458531aeb30bcf4291c4bec3bf22a2fffbf054ff
Reviewed-on: https://webrtc-review.googlesource.com/20860
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20829}
2017-11-22 11:21:47 +00:00
mallikarjun82
9deda4828d Move const variables initialization to constants.cc
Bug: None
Change-Id: I73f0d343e242e959879c5396852270c78c17fc87
Reviewed-on: https://webrtc-review.googlesource.com/22420
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20828}
2017-11-22 11:14:37 +00:00
Oskar Sundbom
9b28a03b95 Optional: Use nullopt and implicit construction in /pc/peerconnection.cc
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=hbos@webrtc.org

Bug: None
Change-Id: I57a1ac8c2a05de403ff87b319c7a50fad17c1c96
Reviewed-on: https://webrtc-review.googlesource.com/23571
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20827}
2017-11-22 11:05:27 +00:00
Mirko Bonadei
34afa0b1f7 Adding win_asan to CQ.
The Chromium Roll https://webrtc-review.googlesource.com/24760
introduced a breakage on win_asan. In order to re-enable the roll
we have to be protected against these kind of failures.

Bug: webrtc:8562
Change-Id: I8de6268eb1d3f87cba53889f1ae2397b3dbf491e
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/25080
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20826}
2017-11-22 09:12:18 +00:00
Henrik Boström
9e6fd2bd47 Add streams() to RtpReceiverInterface and implementations.
This makes the receiver know about its associated set of streams, the
equivalent of the [[AssociatedRemoteMediaStreams]] slot in the spec,
https://w3c.github.io/webrtc-pc/#dfn-x%5B%5Bassociatedremotemediastreams%5D%5D

This does not change layers below peerconnection.cc. The streams are set
upon the receiver's construction and is not modified for the duration of
its lifetime.

When we support modifying the associated set of streams of a receiver
the receiver needs to know about it. The receiver's streams() should be
used in all places where a receiver's streams need to be known.

Bug: webrtc:8473
Change-Id: I31202973aed98e61fa9b6a78b52e815227b6c17d
Reviewed-on: https://webrtc-review.googlesource.com/22922
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20825}
2017-11-22 09:04:17 +00:00
Mirko Bonadei
dd41194ca4 Removing assert in rtc_test template.
The assert causes a error when package default visibility is used.

Bug: None
Change-Id: I0d9006da8d838bd7113856bbf33fa2060c118f67
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/24900
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20824}
2017-11-22 08:26:37 +00:00
Fredrik Solenberg
d319534143 Move ADM initialization into WebRtcVoiceEngine
Bug: webrtc:4690
Change-Id: I3b8950fdb13835964c5bf41162731eff5048bf1a
Reviewed-on: https://webrtc-review.googlesource.com/23820
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20823}
2017-11-21 20:48:07 +00:00
Gary Liu
37e489c985 Add network_type to local RTCIceCandidateStats
Details:
  * Add RTCNetworkType enum
  * Add network_type to local ice candidate stats

Bug: webrtc:8435
Change-Id: Idb872849c09ad49c8f759d02afdc825e397afa07
Reviewed-on: https://webrtc-review.googlesource.com/14680
Commit-Queue: Gary Liu <qinghualiu@google.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20822}
2017-11-21 19:58:37 +00:00
Magnus Jedvert
09d584457a Fix some uninitialized variables in convert_legacy_video_factory
This is causing compilation failure on Chrome on Windows using MSVC
64bits.

TBR=andersc@webrtc.org

Bug: chromium:787192
Change-Id: If82290a9d7373385de4820b34f2c7dc9225c3d95
Reviewed-on: https://webrtc-review.googlesource.com/24981
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20821}
2017-11-21 19:09:58 +00:00
Oskar Sundbom
36f8f3eaab Optional: Use nullopt and implicit construction in /pc
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

TBR=pthatcher@webrtc.org

Bug: None
Change-Id: If41c462dc3ddff664d0b70d249d760e2ca4c8ab3
Reviewed-on: https://webrtc-review.googlesource.com/23576
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20820}
2017-11-21 17:53:37 +00:00
Alex Loiko
10dd7ed81a Support for external VAD program in APM-QA
There is now an 'ExternalVad' class in the AnnotationsExtractor. The
Extractor takes an extra list of these in addition to the other
VADs. The external VAD runs an external program to generate the
annotations. Annotations are loaded and saved to a compressed Numpy format.

Also made a small fix to name a mixed file in a way so that files will not
be overwritten.

Also did some minor changes to the unittests.
TBR=alessiob@webrtc.org

Bug: webrtc:7494
Change-Id: I7816b04466be16cd635ac6ceab18cd7aad5325a4
Reviewed-on: https://webrtc-review.googlesource.com/23623
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20819}
2017-11-21 16:44:19 +00:00
Mirko Bonadei
c61ce0d0cd Fixing some clang-tidy findings.
Bug: None
Change-Id: I949c1ff35284ce79c99e8f76148f63b8bba965a9
Reviewed-on: https://webrtc-review.googlesource.com/24041
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20818}
2017-11-21 16:43:07 +00:00
Oskar Sundbom
89e712649d Optional: Use nullopt and implicit construction in /pc/rtcstatscollector.cc
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=hbos@webrtc.org

Bug: None
Change-Id: I435258d0b16660bcc58c236158c19507ef60f57b
Reviewed-on: https://webrtc-review.googlesource.com/23609
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20817}
2017-11-21 15:04:17 +00:00
Oskar Sundbom
7880758b90 Optional: Use nullopt and implicit construction in /media
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

TBR=pthatcher@webrtc.org

Bug: None
Change-Id: I6dd8677a65f897877fc848aefa7ab37d844e70ed
Reviewed-on: https://webrtc-review.googlesource.com/23573
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20816}
2017-11-21 14:46:37 +00:00
Edward Lemur
872cf38c4d Fix some dependencies for peerconnection_and_implicit_call_api.
Some targets depend on "api/peerconnectioninterface.h" which is part of
//api:peerconnection_and_implicit_call_api.
Furthermore, peerconnection_and_implicit_call_api depends among other
things of headers in //media:rtc_media_base, so we should add it as a
dependency as well.

Bug: webrtc:7504
Change-Id: Ifab69253d52532876509b3507917b1c93d99a2ac
Reviewed-on: https://webrtc-review.googlesource.com/24660
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20815}
2017-11-21 13:59:27 +00:00
Sami Kalliomäki
ed1023db0e Android: Disable internal tracer by default.
This is a debug feature and should be disabled by default. Any client
that needs this functionality should call setEnableInternalTracer.

Bug: webrtc:8553
Change-Id: I78d718ebb95fc5cb8c464327b5b36e385ccfa9c0
Reviewed-on: https://webrtc-review.googlesource.com/24540
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20814}
2017-11-21 11:53:57 +00:00
Mirko Bonadei
215588132c rtc_test visibility must only be public.
"rtc_test" expands to "test" which is another template. The "test"
template overrides the visibility to public when targeting Android.

WebRTC wants to avoid this kind of situations and since a test should
be considered like an executable it is ok to force to public.

Bug: None
Change-Id: Iaf382721c60bb7345d4599a0279f94a4653247ec
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/24560
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20813}
2017-11-21 11:50:57 +00:00
Danil Chapovalov
a7e418cd5f Add RequestKeyFrame with Pli to RtcpTransceiver
Add support for reduced size mode.

Bug: webrtc:8239
Change-Id: I1d646f0d7848af6632c9204ce5b96ae24cfc0ad3
Reviewed-on: https://webrtc-review.googlesource.com/23681
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20812}
2017-11-21 11:19:07 +00:00
Bjorn Terelius
de939432dc Revert "Revert "Encode log events periodically instead of for every event.""
This reverts commit 33c5c7f5e4f018a5103770021328fc530d451d75.

Reason for revert: Fix broken API change.

TBR=sprang@webrtc.org,solenberg@webrtc.org
TBRing because only pc/ and api/ have changed since last LGTMed version.

Original change's description:
> Revert "Encode log events periodically instead of for every event."
>
> This reverts commit b154c27e72fddb6c0d7cac69a9c68fff22154519.
>
> Reason for revert: Broke the internal project.
>
> Original change's description:
> > Encode log events periodically instead of for every event.
> >
> > Updated unit test to take output_period and random seed as parameters.
> > Updated the peerconnection interface to allow passing in an output_period.
> >
> > This is in preparation of some upcoming CLs that will change the format
> > to store batches of delta-encoded values.
> >
> >
> > Bug: webrtc:8111
> > Change-Id: Id5d9844dfad8d8edad346cd7cbebc7eadaaa5416
> > Reviewed-on: https://webrtc-review.googlesource.com/22600
> > Commit-Queue: Björn Terelius <terelius@webrtc.org>
> > Reviewed-by: Elad Alon <eladalon@webrtc.org>
> > Reviewed-by: Tommi <tommi@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20736}
>
> Change-Id: I2257c46c014adb8c7c4fb28538635cabed1f2229
> Bug: webrtc:8111
> Reviewed-on: https://webrtc-review.googlesource.com/24160
> Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
> Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20738}

Bug: webrtc:8111
Change-Id: Ie69862cd52d11c1e15adeb6e2caacafe16863c80
Reviewed-on: https://webrtc-review.googlesource.com/24620
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20811}
2017-11-21 10:58:57 +00:00
Fredrik Solenberg
63e6072a43 Add AudioState::audio_transport() to prepare clients for moving ADM initialization out of VoiceEngine.
(See: https://webrtc-review.googlesource.com/c/src/+/23820)

Bug: webrtc:4690
Change-Id: I474a327303aa0c9b5b34c2055ae3a35e466a7d9f
Reviewed-on: https://webrtc-review.googlesource.com/24720
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20810}
2017-11-21 10:51:02 +00:00
Adam Fedor
d6c98c020a Add check to see if output device has HogMode property (Mac OS X)
Bug: webrtc:8549
Change-Id: I952db26de02ccce8155762531cbae9411abafb28
Reviewed-on: https://webrtc-review.googlesource.com/24125
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20809}
2017-11-21 10:49:57 +00:00
Mirko Bonadei
212ad82494 Revert "Roll chromium_revision 3d1e7a12b7..8b6898fe4e (517813:518117)"
This reverts commit 12325c5b83d46e5114ce27c7db97ab5e8ab08ff9.

Reason for revert: It breaks win32_asan.

Original change's description:
> Roll chromium_revision 3d1e7a12b7..8b6898fe4e (517813:518117)
> 
> Change log: 3d1e7a12b7..8b6898fe4e
> Full diff: 3d1e7a12b7..8b6898fe4e
> 
> Changed dependencies:
> * src/base: 4c3d6272f8..b2b46604dd
> * src/build: 571871636f..6167734e03
> * src/ios: 865de15eaf..d6ba2ebe6e
> * src/testing: 14acaa118c..c5ed5cc935
> * src/third_party: d43ee09615..de6ce59aae
> * src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/6cc352e216..8793942c5c
> * src/third_party/depot_tools: ddfead3483..7227d2175a
> * src/third_party/ffmpeg: 252244150a..168dfaa19b
> * src/tools: bce4039f1c..2c0f60c1ad
> DEPS diff: 3d1e7a12b7..8b6898fe4e/DEPS
> 
> No update to Clang.
> 
> TBR=buildbot@webrtc.org,
> BUG=None
> CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal
> 
> Change-Id: I7115e7c9e4bc14b1fbe46554413d9f45954a590c
> Reviewed-on: https://webrtc-review.googlesource.com/24760
> Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
> Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20807}

TBR=buildbot@webrtc.org

Change-Id: I143941a4977c177ad1819ed8d2c12d05fe3c37d5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Cq-Include-Trybots: master.internal.tryserver.corp.webrtc:linux_internal
Reviewed-on: https://webrtc-review.googlesource.com/24840
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20808}
2017-11-21 10:40:48 +00:00
Autoroller
12325c5b83 Roll chromium_revision 3d1e7a12b7..8b6898fe4e (517813:518117)
Change log: 3d1e7a12b7..8b6898fe4e
Full diff: 3d1e7a12b7..8b6898fe4e

Changed dependencies:
* src/base: 4c3d6272f8..b2b46604dd
* src/build: 571871636f..6167734e03
* src/ios: 865de15eaf..d6ba2ebe6e
* src/testing: 14acaa118c..c5ed5cc935
* src/third_party: d43ee09615..de6ce59aae
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/6cc352e216..8793942c5c
* src/third_party/depot_tools: ddfead3483..7227d2175a
* src/third_party/ffmpeg: 252244150a..168dfaa19b
* src/tools: bce4039f1c..2c0f60c1ad
DEPS diff: 3d1e7a12b7..8b6898fe4e/DEPS

No update to Clang.

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

Change-Id: I7115e7c9e4bc14b1fbe46554413d9f45954a590c
Reviewed-on: https://webrtc-review.googlesource.com/24760
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20807}
2017-11-21 06:13:34 +00:00