21137 Commits

Author SHA1 Message Date
Mirko Bonadei
96a48ef70a Reland "Removing forward headers in modules/audio_coding/codecs.""
This reverts commit 1d0b9d04bd8738d3685c41fe3c224372bb3a6a53.

Reason for revert: Downstream projects have been updated.

Original change's description:
> Revert "Removing forward headers in modules/audio_coding/codecs."
> 
> This reverts commit 2279aec00b54fa6f8b55c40255452f0292adb473.
> 
> Reason for revert: breaks downstream project.
> 
> Original change's description:
> > Removing forward headers in modules/audio_coding/codecs.
> > 
> > Bug: webrtc:5805
> > Change-Id: Ie0b1d1d1ef01039bcadbfe42dd67d770d93983a9
> > Reviewed-on: https://webrtc-review.googlesource.com/47382
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21870}
> 
> TBR=mbonadei@webrtc.org,kwiberg@webrtc.org
> 
> Change-Id: I35dc09ec1988d3d614d8facd5378a5db70942fb4
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:5805
> Reviewed-on: https://webrtc-review.googlesource.com/47520
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21875}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:5805
Change-Id: I044537655012062b2a084559e90ca799286e3994
Reviewed-on: https://webrtc-review.googlesource.com/48400
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21905}
2018-02-06 10:38:19 +00:00
Mirko Bonadei
dca1aee22a Temporarily skipping libyuv from gn check.
It will be re-enabled after [1] is landed.

[1] - https://chromium-review.googlesource.com/c/libyuv/libyuv/+/903843

TBR=phoglund@webrtc.org

Bug: webrtc:8850
Change-Id: If0bd3875d003521fc9aee3105d34616525e9c410
Reviewed-on: https://webrtc-review.googlesource.com/48363
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21904}
2018-02-06 10:29:19 +00:00
Autoroller
885e081f06 Roll chromium_revision e0c329f7fe..f5b70e88bf (534318:534436)
Change log: e0c329f7fe..f5b70e88bf
Full diff: e0c329f7fe..f5b70e88bf

Changed dependencies:
* src/base: ba771d5b2b..29406da0af
* src/build: 508a6cdec6..c02da72816
* src/ios: 81a4f3f85e..241ed56a61
* src/testing: 557328f78b..8f18207b60
* src/third_party: 3c66d64d62..158d4d1e74
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f601e519d1..b1069a4b3a
* src/third_party/depot_tools: 3a998d1b23..3929e9ee94
* src/tools: 40722e4d03..c74aa3f54b
DEPS diff: e0c329f7fe..f5b70e88bf/DEPS

No update to Clang.

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

Change-Id: I58c05a82ea6e51a60f5d666d40456ac5a465a0b1
Reviewed-on: https://webrtc-review.googlesource.com/48160
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21903}
2018-02-06 10:02:10 +00:00
Mirko Bonadei
dbbb33cd00 Stop using public_deps in common_audio.
Bug: webrtc:8603
Change-Id: I315311977f2a75476a7028b8d3eaf3c98caf4178
Reviewed-on: https://webrtc-review.googlesource.com/47920
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21902}
2018-02-06 09:44:20 +00:00
Mirko Bonadei
6114c24384 Stop using public_deps in api.
Bug: webrtc:8603
Change-Id: I5cf947c4cad96416976119078f565b5ee00c78bb
Reviewed-on: https://webrtc-review.googlesource.com/47921
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21901}
2018-02-06 09:40:39 +00:00
Alex Leung
28e710798e Only allow MediaTek H264 HW Codec for O_MR1 or later
Bug: webrtc:8761
Change-Id: I3e5a1d97a5e89cb95bb94c2e892be1f3e63e9383
Reviewed-on: https://webrtc-review.googlesource.com/48200
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21900}
2018-02-06 09:21:50 +00:00
Sebastian Jansson
57daeb7ac7 Reland "Moved congestion controller to task queue."
This is a reland of 0cbcba7ea0dced1a7f353c64d6cf91d46ccb29f9.

Original change's description:
> Moved congestion controller to task queue.
> 
> The goal of this work is to make it easier to experiment with the
> bandwidth estimation implementation. For this reason network control
> functionality is moved from SendSideCongestionController(SSCC),
> PacedSender and BitrateController to the newly created
> GoogCcNetworkController which implements the newly created
> NetworkControllerInterface. This allows the implementation to be
> replaced at runtime in the future.
> 
> This is the first part of a split of a larger CL, see:
> https://webrtc-review.googlesource.com/c/src/+/39788/8
> For further explanations.
> 
> Bug: webrtc:8415
> Change-Id: I770189c04cc31b313bd4e57821acff55fbcb1ad3
> Reviewed-on: https://webrtc-review.googlesource.com/43840
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21868}

Bug: webrtc:8415
Change-Id: I1d1756a30deed5b421b1c91c1918a13b6bb455da
Reviewed-on: https://webrtc-review.googlesource.com/48000
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21899}
2018-02-06 08:38:49 +00:00
Gustaf Ullberg
8e467dfa6d Move EchoControl out of audio_processing.h.
Bug: webrtc:8844
Change-Id: Id05c285e0e377774c79da8552959733f823d8bb4
Reviewed-on: https://webrtc-review.googlesource.com/47900
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21898}
2018-02-06 08:28:29 +00:00
Tommi
1c3509f7d3 Assign names to signaling and worker threads in OrtcFactory.
This can be helpful when debugging or analyzing logcats.

Bug: webrtc:8841
Change-Id: Ic3a18ee68321edbffd92e57ccb84a7b2710e16bd
Reviewed-on: https://webrtc-review.googlesource.com/47881
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21897}
2018-02-06 08:21:50 +00:00
Jonathan Yu
7092368982 Fix race condition in cleanup of old frame records.
VideoEncoderWrapper may be released and reused (Release() followed by
InitEncode()). This often happens back to back when encoders are
reconfigured. Because encoded frames are posted asynchronously to the
encoder queue, they may be processed after the encoder associated with
them has already been released.

In the existing code, if a frame for the new encoder had already been
received, the processing of the frame for the old encoder would clear
out the record for the new encoder's frame. This is now fixed by only
clearing out records that are older than the encoded frame being
processed.

A particularly bad symptom is when the new encoder is used for the same
stream as the old one (but was reconfigured for e.g. a change in
resolution). In that case, the new encoder's initial keyframe gets
dropped, and all subsequent difference frames are based off the last
sent frame from the old encoder. This all renders as garbage until a new
keyframe is sent.

Bug: webrtc:8849
Change-Id: I25094f12b38e03e158dc10ac66e92aa9ebaa5541
Reviewed-on: https://webrtc-review.googlesource.com/47549
Commit-Queue: Jonathan Yu <yujo@chromium.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21896}
2018-02-05 18:44:24 +00:00
Jiawei Ou
eb0df088ca Update SSL call sites to compile with both OpenSSL 1.1.0 and BoringSSL
OpenSSL is making a lot of data structure opaque, so we can no longer directly access internal data structure. Fortunately, API methods are provided for this purpose.

BoringSSL is sharing the same API.

Bug: webrtc:8817
Change-Id: Ia5090200f0e7c352f82e8191720ac4c14fbb5a85
Reviewed-on: https://webrtc-review.googlesource.com/47321
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Justin Uberti <juberti@webrtc.org>
Reviewed-by: Emad Omara <emadomara@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21895}
2018-02-05 16:47:35 +00:00
Edward Lemur
0501e1cd97 Pass chartjson_result_file to gtest_parallel tests.
Translate --isolate-script-test-perf-output to --chartjson_result_file
and pass it to the test.
That way we can use Chromium's recipe code to report results to the
Perf dashboard.

TBR=phoglund@webrtc.org

Bug: chromium:807737
Change-Id: I2d3479fe29431cc1a8faf9a73b054a5f4ec610a4
Reviewed-on: https://webrtc-review.googlesource.com/47121
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21894}
2018-02-05 16:37:01 +00:00
Alex Loiko
0488fcf293 Made modules/audio_processing/vad its own target.
WHAT: made a BUILD.gn with library and tests in the Audio Processing
Module Voice Activity Detector directory. Updated depending
code. Fixed a Clang warning.

WHY: to make it possible for a target to depend on just the VAD and
not the whole APM. There are other benefits:

* Sometimes faster compilation.

* The VAD takes up 28000 bytes of libjingle_peerconnection_so.so. Making
  a peerconnection shared object file without the VAD has to be done in
  steps. The first step is a custom target for the VAD. Hence this Cl.

Change-Id: Iea0207a0b5979db26baaf46b24beaefbb1c431af
BUG: webrtc:5716, webrtc:7494
Reviewed-on: https://webrtc-review.googlesource.com/47521
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21893}
2018-02-05 14:03:40 +00:00
Anders Carlsson
824ef89757 Remove old copies of C++ codec factory wrappers.
These files were copied to Native/src but were kept around for
downstream projects that included them from their old locations.

Downstream projects have been updated so these can now be removed.

Bug: webrtc:8832
Change-Id: Ic28dc13e4b5bfced4b97ee872068683785d04bb3
Reviewed-on: https://webrtc-review.googlesource.com/47860
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21892}
2018-02-05 13:34:16 +00:00
Jonas Oreland
19651c3ef2 Handle lifetime short than 2 minutes for TURN allocations
This patch modifies behaviour when TurnPort gets a lifetime
back from server that is shorter than 2 minutes.

Before the patch such lifetime resulted in TurnPort not scheduling any
refresh, leading to timeout on the turn allocation.

After then patch lifetime shorter then 2 minutes leads to refresh
after half stipulated lifetime.

BUG=webrtc:8826

Change-Id: I80561100f2307bd9a6a91af0924bb2814102ddd3
Reviewed-on: https://webrtc-review.googlesource.com/46741
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21891}
2018-02-05 13:11:36 +00:00
Rasmus Brandt
f105325a55 Move all Android specific stuff to android_codec_factory_helper.
This helps separate concerns, so that the VideoProcessorIntegrationTest
is almost oblivious to the fact that it needs to connect to the JVM
to get the Android HW codecs.

Bug: webrtc:8448
Change-Id: I4359b31f84be48eaf99d83525bcce6e593e874f8
Reviewed-on: https://webrtc-review.googlesource.com/47384
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21890}
2018-02-05 13:08:26 +00:00
Karl Wiberg
80ba333fc5 Move FALLTHROUGH macro to a separate header, and give it an RTC_ prefix
Bug: chromium:805946
Change-Id: Ibb5dce9af27d0e48c9aee6b0a860b6f62b3c76a0
Reviewed-on: https://webrtc-review.googlesource.com/46145
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21889}
2018-02-05 11:24:59 +00:00
Niels Möller
3a36e38521 Delete unused VCMCodecDataBase::SendCodec methods.
Bug: None
Change-Id: Id9f9e67f02e7caabe0b11a01be49df28c7b278f0
Reviewed-on: https://webrtc-review.googlesource.com/46841
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21888}
2018-02-05 08:48:16 +00:00
Autoroller
59e29894dc Roll chromium_revision 306e8326db..e0c329f7fe (534215:534318)
Change log: 306e8326db..e0c329f7fe
Full diff: 306e8326db..e0c329f7fe

Changed dependencies:
* src/base: c56c769c28..ba771d5b2b
* src/build: 616662012e..508a6cdec6
* src/ios: 084efec45c..81a4f3f85e
* src/testing: 40d99d2ad9..557328f78b
* src/third_party: af73a24f33..3c66d64d62
* src/third_party/depot_tools: 5d5f22ce9d..3a998d1b23
* src/tools: 5556f3a372..40722e4d03
DEPS diff: 306e8326db..e0c329f7fe/DEPS

No update to Clang.

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

Change-Id: Iafe4fc2fe7014b7aa4fd28e6fffb4eb503d3104e
Reviewed-on: https://webrtc-review.googlesource.com/47785
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21887}
2018-02-05 04:32:36 +00:00
Zhi Huang
6b375dd68e Clean up the pc/OWNERS file.
Add stevenanton@webrtc.org and zhihuang@webrtc.org to the OWNER list.
Remove jiayl@webrtc.org and sergeyu@chromium.org from the list.

Bug: webrtc:8839
Change-Id: I9e58a85cfef045113fbefc0e0c3ea7b44a2fdf1e
Reviewed-on: https://webrtc-review.googlesource.com/47544
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21886}
2018-02-03 19:28:58 +00:00
Tommi
79a5560e06 Add RTC_UNUSED for call to write() in TaskQueue libevent dtor.
TBR=terelius@webrtc.org

Change-Id: I9ef648299754f6cab30c278d6a803dbc782a2292
Bug: webrtc:8834
Reviewed-on: https://webrtc-review.googlesource.com/47601
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21885}
2018-02-03 13:10:18 +00:00
Qingsi Wang
93a843944a Bind the structured ICE logging with P2PTransportChannel.
This change list passes the instance of RtcEventLog from Peerconnection
down to P2PTransportChannel, and binds the structured ICE logging with
ICE layer objects. Logs of ICE connectivity checks are injected for
candidate pairs.

TBR=terelius@webrtc.org

Bug: None
Change-Id: Ia979dbbac6d31dcf0f8988da1065bdfc3e461821
Reviewed-on: https://webrtc-review.googlesource.com/34660
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21884}
2018-02-03 07:06:49 +00:00
Autoroller
09e86b2f69 Roll chromium_revision a7892a1d2c..306e8326db (534071:534215)
Change log: a7892a1d2c..306e8326db
Full diff: a7892a1d2c..306e8326db

Changed dependencies:
* src/base: d43dc2ccb8..c56c769c28
* src/build: 20aebf8d11..616662012e
* src/ios: 8b29dd3a94..084efec45c
* src/testing: 627b03511e..40d99d2ad9
* src/third_party: 6d4f5030b8..af73a24f33
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/744dac9136..f601e519d1
* src/third_party/depot_tools: 1f067b88df..5d5f22ce9d
* src/third_party/libvpx/source/libvpx: efa786d464..ac54d233b6
* src/tools: 275fd65914..5556f3a372
DEPS diff: a7892a1d2c..306e8326db/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: I40d562687c9c69bc194501d884f775f6921a392b
Reviewed-on: https://webrtc-review.googlesource.com/47620
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21883}
2018-02-03 02:22:08 +00:00
Steve Anton
5b38731f0b Use fake PeerConnection for RTCStatsCollector tests
This removes use of the MockPeerConnection and replaces it with the
FakePeerConnectionForStats testing class.

Bug: webrtc:8764
Change-Id: I78553c5a4e4d68cb6666a83f443f72f7c25488dc
Reviewed-on: https://webrtc-review.googlesource.com/46940
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21882}
2018-02-03 00:47:27 +00:00
Qingsi Wang
8eca1ff510 Reland "Structured ICE logging via RtcEventLog."
This is a reland of eed5aa8904d09179971d3f4e7e10c109d7c62bfc
Original change's description:
> Structured ICE logging via RtcEventLog.
>
> This change list contains the structured logging module for ICE using
> the RtcEventLog infrastructure, and also extension to the log parser
> and analyzer.
>
> Bug: None
> Change-Id: I6539cf282155c2cde4d3161c53500c0746671a02
> Reviewed-on: https://webrtc-review.googlesource.com/34622
> Commit-Queue: Qingsi Wang <qingsi@google.com>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21816}

TBR=pthatcher@webrtc.org,terelius@webrtc.org,deadbeef@webrtc.org

Bug: None
Change-Id: I3df585bf636315ceb0273967146111346a83be86
Reviewed-on: https://webrtc-review.googlesource.com/47545
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21881}
2018-02-02 22:05:27 +00:00
Seth Hampson
cc7125f240 Sets sending status for active RtpRtcp modules.
When a simulcast stream is enabled or disabled, we want this state
change to be reflected properly in the RtpRtcp modules. Each video send
stream can contain multiple rtp_rtcp_modules pertaining to different
simulcast streams. These modules are currently all turned on/off when
the send stream is started and stopped. This change allows for
individual modules to be turned on/off. This means if a module stops
sending it will send a bye message, so the receiving side will not
expect more frames to be sent when the stream is inactive and the
encoder is no longer encoding/sending images.

Bug: webrtc:8653
Change-Id: Ib6d00240f627b4ff1714646e847026f24c7c3aa4
Reviewed-on: https://webrtc-review.googlesource.com/42841
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21880}
2018-02-02 17:52:46 +00:00
Autoroller
d34dbac2ed Roll chromium_revision 9308190400..a7892a1d2c (533967:534071)
Change log: 9308190400..a7892a1d2c
Full diff: 9308190400..a7892a1d2c

Changed dependencies:
* src/base: c472a2a34d..d43dc2ccb8
* src/build: b1b983b6ec..20aebf8d11
* src/ios: 8b5c155036..8b29dd3a94
* src/testing: 6942663d9a..627b03511e
* src/third_party: af5ececea6..6d4f5030b8
* src/third_party/depot_tools: e150d63db9..1f067b88df
* src/tools: b52b7107a2..275fd65914
DEPS diff: 9308190400..a7892a1d2c/DEPS

No update to Clang.

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

Change-Id: Id262a0025553680bf03828491f84a4bb5d3622f3
Reviewed-on: https://webrtc-review.googlesource.com/47540
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21879}
2018-02-02 17:31:26 +00:00
Alex Narest
7ef9a0bb46 Add pcm16b quality test supporting 48khz.
Change-Id: I7abb394c61f6fd260f060ca5c16167ae6b44ef68

Bug: webrtc:8836
Change-Id: I7abb394c61f6fd260f060ca5c16167ae6b44ef68
Reviewed-on: https://webrtc-review.googlesource.com/47400
Commit-Queue: Alex Narest <alexnarest@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21878}
2018-02-02 17:18:06 +00:00
Sebastian Jansson
5a503b05e1 Revert "Moved congestion controller to task queue."
This reverts commit 0cbcba7ea0dced1a7f353c64d6cf91d46ccb29f9.

Reason for revert: Major regressions on perf bots.

Original change's description:
> Moved congestion controller to task queue.
> 
> The goal of this work is to make it easier to experiment with the
> bandwidth estimation implementation. For this reason network control
> functionality is moved from SendSideCongestionController(SSCC),
> PacedSender and BitrateController to the newly created
> GoogCcNetworkController which implements the newly created
> NetworkControllerInterface. This allows the implementation to be
> replaced at runtime in the future.
> 
> This is the first part of a split of a larger CL, see:
> https://webrtc-review.googlesource.com/c/src/+/39788/8
> For further explanations.
> 
> Bug: webrtc:8415
> Change-Id: I770189c04cc31b313bd4e57821acff55fbcb1ad3
> Reviewed-on: https://webrtc-review.googlesource.com/43840
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21868}

TBR=terelius@webrtc.org,stefan@webrtc.org,srte@webrtc.org

Change-Id: Ia8a273eb9e92b7d0d960c49658c228208170962d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8415
Reviewed-on: https://webrtc-review.googlesource.com/47560
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21877}
2018-02-02 16:55:17 +00:00
Sebastian Jansson
c5017136c7 Split end to end tests into more cohesive test sets.
end_to_end_tests.cc was over 5000 lines and covered many different
areas in it's testing. In this change it is separated into multiple
smaller test sets separated by the functionality they are testing. The
reasoning behind this is that the fact that a test is working end to end
should be secondary to what functionality the test is actually testing.

A slight functional change is that for some of the tests the
parametrization over round robin pacing being controlled with a field
trial is removed since they are simple enough that they should not be
affected by the pacing method.

Bug: None
Change-Id: I4b7eba80fc142ecfc8fa642dab9b6f587d914048
Reviewed-on: https://webrtc-review.googlesource.com/46143
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21876}
2018-02-02 16:09:16 +00:00
Mirko Bonadei
1d0b9d04bd Revert "Removing forward headers in modules/audio_coding/codecs."
This reverts commit 2279aec00b54fa6f8b55c40255452f0292adb473.

Reason for revert: breaks downstream project.

Original change's description:
> Removing forward headers in modules/audio_coding/codecs.
> 
> Bug: webrtc:5805
> Change-Id: Ie0b1d1d1ef01039bcadbfe42dd67d770d93983a9
> Reviewed-on: https://webrtc-review.googlesource.com/47382
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21870}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org

Change-Id: I35dc09ec1988d3d614d8facd5378a5db70942fb4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:5805
Reviewed-on: https://webrtc-review.googlesource.com/47520
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21875}
2018-02-02 15:15:37 +00:00
Mirko Bonadei
7272453558 Using fully qualified #include paths in pcm16b code.
WebRTC internal code should always use include paths that start
from the root of the project and that clearly identify the header file.

This allows 'gn check' to actually keep dependencies under control
because 'gn check' cannot enforce anything if the include path
is not fully qualified (starting from the root of the project).

Bug: webrtc:8815
Change-Id: I8a7ab64dfecdb3da4099fdec61e5fc27af4f8ccc
Reviewed-on: https://webrtc-review.googlesource.com/47380
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21874}
2018-02-02 14:15:36 +00:00
Edward Lemur
8e2852d506 Add chartjson_result_file argument to isac_fix_test.
So we can report perf results using JSON and not parsing stdout.

I reordered the way the arguments are parsed, so that options go
at the end, and not at the middle, which is an awkward place to put them.

Regular usage specifying [-I], bottleneck_value, infile and outfile
shouldn't be affected.

Bug: chromium:807737
Change-Id: Ida863846400326c33e443d723f384971b891b6e5
Reviewed-on: https://webrtc-review.googlesource.com/47161
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21873}
2018-02-02 14:08:26 +00:00
Sami Kalliomäki
debbc7801f Use correct presentationTimestampUs for VideoFrames in old encoder.
In MediaCodecVideoEncoder, VideoFrame timestamp was used as a
presentation timestamp. With this change timestamp maintained in C++
code is used instead. This matches the behaviour with old frame
callbacks.

Bug: b/72832862
Change-Id: I1f0543ebe837ccac22c83a81a81f3ea128e2a866
Reviewed-on: https://webrtc-review.googlesource.com/47381
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21872}
2018-02-02 13:37:16 +00:00
Mirko Bonadei
06c2aa9f7b Using fully qualified #include paths in ilbc code.
WebRTC internal code should always use include paths that start
from the root of the project and that clearly identify the header file.

This allows 'gn check' to actually keep dependencies under control
because 'gn check' cannot enforce anything if the include path
is not fully qualified (starting from the root of the project).

Bug: webrtc:8815
Change-Id: I36f01784fa5f5b77eefc02db479b1f7f6ee1a8c3
Reviewed-on: https://webrtc-review.googlesource.com/46263
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21871}
2018-02-02 13:28:13 +00:00
Mirko Bonadei
2279aec00b Removing forward headers in modules/audio_coding/codecs.
Bug: webrtc:5805
Change-Id: Ie0b1d1d1ef01039bcadbfe42dd67d770d93983a9
Reviewed-on: https://webrtc-review.googlesource.com/47382
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21870}
2018-02-02 13:23:40 +00:00
Mirko Bonadei
f2594a48e6 Removing skvlad@ from logging/OWNERS.
No longer active with WebRTC, last commit 2017-03-21.

Bug: None
Change-Id: Iece5c32bc1ca01e945edcd17f4efe64321d965da
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/47460
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21869}
2018-02-02 13:03:29 +00:00
Sebastian Jansson
0cbcba7ea0 Moved congestion controller to task queue.
The goal of this work is to make it easier to experiment with the
bandwidth estimation implementation. For this reason network control
functionality is moved from SendSideCongestionController(SSCC),
PacedSender and BitrateController to the newly created
GoogCcNetworkController which implements the newly created
NetworkControllerInterface. This allows the implementation to be
replaced at runtime in the future.

This is the first part of a split of a larger CL, see:
https://webrtc-review.googlesource.com/c/src/+/39788/8
For further explanations.

Bug: webrtc:8415
Change-Id: I770189c04cc31b313bd4e57821acff55fbcb1ad3
Reviewed-on: https://webrtc-review.googlesource.com/43840
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21868}
2018-02-02 12:55:47 +00:00
Rasmus Brandt
98a867ccd2 Rename VideoCodecTest to VideoCodecUnitTest.
The VideoCodecTest class is a fixture base class for the
libvpx-VP8, libvpx-VP9, and OpenH264 unit tests. It is unrelated
to the VideoProcessor tests, which we colloquially refer to as
the "codec test".

This rename is thus to reduce this confusion. It should have no
functional impact.

Bug: webrtc:8448
Change-Id: If73443bda5df0f29a71ce6ce069ac128795ff0ad
Reviewed-on: https://webrtc-review.googlesource.com/47160
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21867}
2018-02-02 10:27:33 +00:00
Sami Kalliomäki
682dc619f2 Conclude VideoFrame emit fieldtrial.
Concludes VideoFrame emit fieldtrial and start producing VideoFrames
by default. Deprecates old onByteBufferFrameCaptured and
onTextureFrameCaptured methods.

Bug: webrtc:8776
Change-Id: Icc224e9f8d89a30f04cf95dd46a498d69cffe9d0
Reviewed-on: https://webrtc-review.googlesource.com/43022
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21866}
2018-02-02 10:20:22 +00:00
Oleh Prypin
c22d6a8f9b Revert "Reland "Parameterize PeerConnection signaling tests for Unified Plan""
This reverts commit 7b581eb1cab0b2ccd0a2d60163bb2b73c244346a.

Reason for revert: Breaks downstream projects

Original change's description:
> Reland "Parameterize PeerConnection signaling tests for Unified Plan"
> 
> Original change's description:
> > Parameterize PeerConnection signaling tests for Unified Plan
> >
> > This also changes the behavior of CreateAnswer to fail unless
> > the signaling state is kHaveRemoteOffer or kHaveLocalPranswer,
> > as per the WebRTC specification.
> >
> > Bug: webrtc:8765
> > Change-Id: I60ac67cd92b17fcbff964afc14d049481e816a28
> > Reviewed-on: https://webrtc-review.googlesource.com/41042
> > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> > Commit-Queue: Steve Anton <steveanton@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21779}
> 
> Bug: webrtc:8813
> Change-Id: I9f608fcd0b7aca00b4c1092e271dbd9cd710c38a
> Reviewed-on: https://webrtc-review.googlesource.com/46861
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21860}

TBR=steveanton@webrtc.org,deadbeef@webrtc.org,pthatcher@webrtc.org

Change-Id: I15490e4db3290a8ab6056cf82959be7a97e6b1c3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8813
Reviewed-on: https://webrtc-review.googlesource.com/47340
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21865}
2018-02-02 08:44:00 +00:00
Autoroller
7dd9d6f54b Roll chromium_revision b696eeaf6b..9308190400 (533674:533967)
Change log: b696eeaf6b..9308190400
Full diff: b696eeaf6b..9308190400

Changed dependencies:
* src/base: f50734b93c..c472a2a34d
* src/build: 4ce0025630..b1b983b6ec
* src/ios: 2d42d02c3a..8b5c155036
* src/testing: a2cbafc88d..6942663d9a
* src/third_party: 702187d045..af5ececea6
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/76e0bf0877..744dac9136
* src/third_party/depot_tools: b13fba7efb..e150d63db9
* src/tools: b7a9436122..b52b7107a2
DEPS diff: b696eeaf6b..9308190400/DEPS

No update to Clang.

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

Change-Id: I7739de8d0f4cbca1ecf41e6c3157b9802adb49dc
Reviewed-on: https://webrtc-review.googlesource.com/47300
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21864}
2018-02-02 06:37:38 +00:00
Steve Anton
c7b964cd71 Report cipher usage to UMA for all media types on a transport
Previously, the code which reported cipher stats to UMA for all
transports would classify the media type based on the transport name,
which is brittle and misleading with BUNDLE. This corrects the code to
track all media types (audio, video, data) which use the transport and
report once for each.

Bug: None
Change-Id: I8506f64f0011788b744b8386ac58518a21914b52
Reviewed-on: https://webrtc-review.googlesource.com/47247
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21863}
2018-02-02 00:56:44 +00:00
Qingsi Wang
970b088878 Reland "Break up rtc_event_log_api to solve circular dependencies."
This is a reland of 001546da953275c7a39eb220592b440c9b47d756
Original change's description:
> Break up rtc_event_log_api to solve circular dependencies.
>
> The original rtc_event_log_api is refactored to a pure API target plus
> multiple targets coupled with WebRTC implementations.
>
> Bug: None
> Change-Id: Iab9eee3f7bf4228c52d94a5f26fc39bb99b5033f
> Reviewed-on: https://webrtc-review.googlesource.com/43247
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Commit-Queue: Qingsi Wang <qingsi@google.com>
> Cr-Commit-Position: refs/heads/master@{#21811}

TBR=pthatcher@webrtc.org,deadbeef@webrtc.org,terelius@webrtc.org,stefan@webrtc.org

Bug: None
Change-Id: I3e7213733741cbfd5dd0076f32209e6bc42a0647
Reviewed-on: https://webrtc-review.googlesource.com/46900
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21862}
2018-02-01 22:47:52 +00:00
Jiawei Ou
a9c94d5b12 Be explicit about OpenSSL version requriement.
https://chromium-review.googlesource.com/c/external/webrtc/+/575910 pretty much made it a mandate to have OpenSSL 1.1.0 to compile webrtc.

So, let's be explicit about it and cleanup old code for older version support.

Also, generate a compiler error for older OpenSSL versions.

Bug: webrtc:8817
Change-Id: I28590348137b6a04503eabdcc6328297ecf5213e
Reviewed-on: https://webrtc-review.googlesource.com/46502
Reviewed-by: Justin Uberti <juberti@webrtc.org>
Commit-Queue: Jiawei Ou <ouj@fb.com>
Cr-Commit-Position: refs/heads/master@{#21861}
2018-02-01 22:21:12 +00:00
Steve Anton
7b581eb1ca Reland "Parameterize PeerConnection signaling tests for Unified Plan"
Original change's description:
> Parameterize PeerConnection signaling tests for Unified Plan
>
> This also changes the behavior of CreateAnswer to fail unless
> the signaling state is kHaveRemoteOffer or kHaveLocalPranswer,
> as per the WebRTC specification.
>
> Bug: webrtc:8765
> Change-Id: I60ac67cd92b17fcbff964afc14d049481e816a28
> Reviewed-on: https://webrtc-review.googlesource.com/41042
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21779}

Bug: webrtc:8813
Change-Id: I9f608fcd0b7aca00b4c1092e271dbd9cd710c38a
Reviewed-on: https://webrtc-review.googlesource.com/46861
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21860}
2018-02-01 21:28:41 +00:00
Steve Anton
e831b8c94d Add MSID signaling compatibility for Unified Plan endpoints
This is intended to ensure compatibility between Plan B and
Unified Plan endpoints for the single audio - single video case.

If Unified Plan is the offerer, it will add a=msid and a=ssrc MSID
entries to its offer.
If Unified Plan is the answerer, it will use whatever MSID
signaling mechanism was used in the offer (either a=msid or
a=ssrc).

Bug: webrtc:7600
Change-Id: I6192dec19123fbb56f5d04540d2175c7fb30b9b6
Reviewed-on: https://webrtc-review.googlesource.com/44162
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21859}
2018-02-01 21:17:41 +00:00
Edward Lemur
ed7b4ff9e3 Use isolated-script-test-perf-output on low_bandwidth_audio_test.
Instead of chartjson-result-file, since that's the flag passed by the recipe.

TBR=phoglund@webrtc.org

Bug: chromium:807737
Change-Id: I3a679ab7e5c0a446e675d0f4647344cc4194b357
Reviewed-on: https://webrtc-review.googlesource.com/46541
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21858}
2018-02-01 20:35:24 +00:00
Steve Anton
5f94aa2c01 Correct MSID behavior with Unified Plan
This changes the behavior of CreateOffer/CreateAnswer when Unified
Plan is enabled to be in line with that specified in JSEP.

In particular, MSID information is now only included if the
RtpTransceiver is not stopped and either is sending or has ever
sent.

Bug: webrtc:7600
Change-Id: I6400f0583525c7776331eeb0e1bb53973bc02dfb
Reviewed-on: https://webrtc-review.googlesource.com/46400
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21857}
2018-02-01 19:58:31 +00:00
Bjorn Terelius
edab3011fa Remove webrtc::test::InitFieldTrialsFromString(const std::string&).
This is done to solve a problem where a string literal is implicitly cast
to a temporary std::string when calling webrtc::test::InitFieldTrialsFromString
which passes a pointer to the internal representation to
webrtc::field_trial::InitFieldTrialFromString(char*). This pointer is
stored for later use, but the temporary std::string is destroyed as soon
as the function returns.

Using webrtc::field_trial::InitFieldTrialFromString(char*) instead,
avoids the implicit casts (but the caller still needs to ensure that
the char* outlives the program). The validation previously done by
webrtc::test::InitFieldTrialsFromString can now be done by manually
calling webrtc::test::ValidateFieldTrialsStringOrDie(const std::string&).

Add system_wrappers:field_trial_default as a direct dependency to
various targets to allow including the field_trials_default.h header.

Bug: webrtc:8812
Change-Id: Ib5a641ea255b1c16a8f7f35e1fe67f6c38a61da6
Reviewed-on: https://webrtc-review.googlesource.com/46141
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21856}
2018-02-01 19:47:41 +00:00