Commit Graph

26736 Commits

Author SHA1 Message Date
2108cc6780 Added some more debugging logs
Bug: webrtc:10416
Change-Id: I4f599d604753d101cf14f4ca561921ce6b6ffa58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130370
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27504}
2019-04-09 08:08:00 +00:00
b703db9bce Fix and test CreateVideoStreamDecoder
create TaskQueue using provided factory instead of through constructor that uses GlobalTaskQueueFactory
Rename interface to avoid collision with class in video/video_stream_decoder.h
Add simple unittest to avoid future breakages.

Bug: webrtc:10284, webrtc:10521
Change-Id: I647b31cc99a2b6beb79b936f05f482788861f1cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131398
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27503}
2019-04-09 07:57:18 +00:00
25b96122ec Update visibility of java_audio_device_module_jni target
Bug: webrtc:7452
Change-Id: Ic084858f1d9238b3e3a48bbe5fb49eca1f0971d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131399
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27502}
2019-04-09 07:43:08 +00:00
f71362f0cf Wire up RTCOutboundRtpStreamStats.totalEncodeTime.
This is a follow-up to
https://webrtc-review.googlesource.com/c/src/+/130517 that calculated
this metric.

This CL is purely plumbing, exposing
VideoSendStream::total_encode_time_ms in standard getStats() as
RTCOutboundRtpStreamStats.totalEncodeTime (in seconds):
https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-totalencodetime

Bug: webrtc:10448
Change-Id: I715f1ef937e441169dee55b5e8d4fbf98811c5f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131940
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27501}
2019-04-09 07:34:38 +00:00
ea7b4c5c40 Roll chromium_revision afc02859a5..6c8246bc15 (648860:648994)
Change log: afc02859a5..6c8246bc15
Full diff: afc02859a5..6c8246bc15

Changed dependencies
* src/base: b5749d1e9a..f5e6521618
* src/build: 340e3d29a3..2c7bf07f74
* src/ios: 645004db4f..2373cfe648
* src/testing: beb63d8f57..b86c9e52a5
* src/third_party: c222a05a93..8115370c54
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/dc3ad63a09..6145021beb
* src/third_party/depot_tools: 0b62ed79ed..1fb046306b
* src/tools: dc512bb548..cda6a47d27
DEPS diff: afc02859a5..6c8246bc15/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I551608ea5e995f882e37eedd715cb9686bb21e7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132141
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#27500}
2019-04-09 03:21:37 +00:00
07f3279a73 Adding a restriction for legal RID values.
According to the spec, RID values should be constrained to only
alpha-numeric values. This was not enforced in our implementation to
allow for more flexibility.
It has been brought to our attention that some values that we currently
consider legal (such as the '~', '=' ';' characters) might cause confusion
with the simulcast syntax that uses these characters to indicate other
meanings.
What's worse, is that some characters, when used in RIDs (such as
\u{1f937} \u{1f4a9} and \u{1f926}) cause uncontrollable laughter for some
users which might also be a health hazard.
This change resolves these issues by restricting RIDs to alpha-numeric.

Bug: webrtc:10491
Change-Id: I16e262c87525d0289764beacd098e1525a355463
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132061
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27499}
2019-04-08 22:41:24 +00:00
19a94cb81d Roll chromium_revision 827b96d72e..afc02859a5 (648742:648860)
Change log: 827b96d72e..afc02859a5
Full diff: 827b96d72e..afc02859a5

Changed dependencies
* src/build: 064ee6759b..340e3d29a3
* src/ios: 51013f71d7..645004db4f
* src/testing: b39277a1b9..beb63d8f57
* src/third_party: 52f118d5cb..c222a05a93
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/979fc35bbc..dc3ad63a09
* src/tools: 390bf3162c..dc512bb548
DEPS diff: 827b96d72e..afc02859a5/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ibdcc72cb6522177cf9da0c09bb64c87f3e97e0fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132060
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#27498}
2019-04-08 21:44:09 +00:00
642aa81f7d Refactor FrameDecryptorInterface::Decrypt to use new API.
This change refactors the FrameDecryptorInterface to use the new API. The new
API surface simply moves bytes_written to the return type and implements a
simple Status type.

Bug: webrtc:10512
Change-Id: I622c5d344d58e618853c94c2f691cf7c8fb73a36
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131460
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27497}
2019-04-08 20:45:09 +00:00
6fdbba3a03 Roll chromium_revision 7987ebdc29..827b96d72e (648632:648742)
Change log: 7987ebdc29..827b96d72e
Full diff: 7987ebdc29..827b96d72e

Changed dependencies
* src/base: d7aa74b479..b5749d1e9a
* src/build: 8a35cbf302..064ee6759b
* src/ios: 15e721b56a..51013f71d7
* src/testing: a428665e17..b39277a1b9
* src/third_party: 7daeadc33d..52f118d5cb
* src/tools: 96a2fd13fd..390bf3162c
DEPS diff: 7987ebdc29..827b96d72e/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I7f5f5f6c4903cd4ad1ba6954e798b82733d7af6c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132020
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#27496}
2019-04-08 18:43:28 +00:00
7237c157ec Fixing failing ScenarioTest for IOS ARM64 Debug builds.
This CL does two things:

* It ensures that video quality analysis is always finished when a
Scenario test is stopped. This ensures consistency between different
task queue implementations.
* It disables one real time test that is too heavy to run on IOS
ARM64 debug builds.

Bug: webrtc:10515
Change-Id: I34b59ecde6f2b68c399734a43ecdbc7223725b17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131388
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titarenko <artit@google.com>
Cr-Commit-Position: refs/heads/master@{#27495}
2019-04-08 17:04:57 +00:00
c01367db40 Deprecating ThreadChecker specific interface.
All changes outside thread_checker.h are by:
s/CalledOnValidThread/IsCurrent/
s/DetachFromThread/Detach/

Bug: webrtc:9883
Change-Id: Idbb1086bff0817db58e770116acf4c9d60fae8b3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131023
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27494}
2019-04-08 16:58:07 +00:00
e5b94160b5 Decoder for multistream Opus.
See https://webrtc-review.googlesource.com/c/src/+/121764 for the
overall vision.

This CL adds a multistream Opus decoder. It's a new code-path to not
interfere with the standard Opus decoder. We introduce new SDP syntax,
which uses terminology of RFC 7845. We also set up the decoder side to
parse it. The encoder part will come in a later CL.

E.g. this is the new SDP syntax for 6.1 surround sound:
"multiopus/48000/6 channel_mapping=0,4,1,2,3,5 num_streams=4 coupled_streams=2"

Bug: webrtc:8649
Change-Id: Ifbc584cbb6d07aed373f223512a20d6d72cec5ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129768
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27493}
2019-04-08 16:15:37 +00:00
e9d2b4efdd Revert "Remove old audio device implementation."
This reverts commit 0cfa4cba5cae5e942f5d8e0e4e93b94982d0bfc3.

Reason for revert: audio_device_ios_objc target is removed, but still referenced by iPhone Meetins:Meeting_build_test, which now fails to build

Original change's description:
> Remove old audio device implementation.
> 
> The iOS ADM implementation now lives in sdk/objc/native/api/audio_device_module.{h,mm}.
> 
> Bug: webrtc:10514
> Change-Id: Ib0b162027b5680ebc40d621a57f1155f08e7a057
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131326
> Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27488}

TBR=henrika@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org

Change-Id: I5be10b3d17403a79ea30afc255cde01171bc9f5b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10514
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131960
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Commit-Queue: Jeroen de Borst <jeroendb@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27492}
2019-04-08 15:00:10 +00:00
57f2a5485a Revert "Remove TaskQueue constructor that uses GlobalTaskQueueFactory"
This reverts commit 7b7485b796ad77809e3343f3256013488b418235.

Reason for revert: Breaks Chrome autoroll 

video/video_stream_decoder_impl.cc:28:7: error: no matching constructor for initialization of 'rtc::TaskQueue'
      bookkeeping_queue_("video_stream_decoder_bookkeeping_queue"),

Original change's description:
> Remove TaskQueue constructor that uses GlobalTaskQueueFactory
> 
> Bug: webrtc:10284
> Change-Id: I9547fb7110222ce3a3c2323ae2a004024eab911e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130471
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27464}

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

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

Bug: webrtc:10284
Change-Id: I7684f7c7d5501cc910ac9f9daa8ccf6bdb10f8e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131338
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27491}
2019-04-08 14:44:48 +00:00
14d1c9d968 Rename EncoderKeyFrameCallback back to EncoderRtcpFeedback
The name EncoderRtcpFeedback is more appropriate because:
1. "Callback" implies a single function exposed, which is
   not the case.
2. We intend to add OnLossNotification() to the same class.

Bug: webrtc:10501
Change-Id: I75b2e06eb070e85e872eba9fbc354aa4b68c7993
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131289
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27490}
2019-04-08 14:33:19 +00:00
8b60e8bc34 Give VideoSendStreamImpl access to RTP timestamps
When a LossNotification RTCP message is received, the sequence numbers
it refers to must be converted to timestamps before passing the message
down to the encoder. This CL gives VideoSendStreamImpl access to that
information via VideoSendStreamImpl::rtp_video_sender_.

TBR=sprang@webrtc.org

Bug: webrtc:10501
Change-Id: If207f0b6d2fb344da35b525cc104e8ba5cc614ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131323
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27489}
2019-04-08 14:29:38 +00:00
0cfa4cba5c Remove old audio device implementation.
The iOS ADM implementation now lives in sdk/objc/native/api/audio_device_module.{h,mm}.

Bug: webrtc:10514
Change-Id: Ib0b162027b5680ebc40d621a57f1155f08e7a057
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131326
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27488}
2019-04-08 14:08:48 +00:00
4c6ca30019 Update VideoStreamEncoder to use new VideoEncoder::SetRates() method.
This CL wires up the new SetRates() method of the video encoders, and
refactors a few things in the process:

Most notably, the VideoStreamEncoderInterface is update so that the
|target_headroom| parameter is replaced with |link_allocation|, meaning
that instead of indicating bitrate capacity in excess of the target
bitrate, it indicates to total network capacity allocated for the
stream including the target bitrate. This matches the VideoEncoder API.

The VideoEncoder::RateControlParameters struct gets a few new helper
methods.

In VideoStreamEncoder, instead of adding more fields to the
|last_observed_bitrate*| family, uses an optional struct that
inherits from VideoEncoder::RateControlParameters.

Bug: webrtc:10481
Change-Id: Iee3965531142ae9b964ed86c0d51db59b1cdd61c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131123
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27487}
2019-04-08 14:01:28 +00:00
e893bfc336 Roll chromium_revision baccefbc73..7987ebdc29 (648532:648632)
Change log: baccefbc73..7987ebdc29
Full diff: baccefbc73..7987ebdc29

Changed dependencies
* src/base: 7f42cc431e..d7aa74b479
* src/build: 3eaa797fa2..8a35cbf302
* src/ios: d927186141..15e721b56a
* src/third_party: bbcbf51c30..7daeadc33d
* src/tools: d151b62130..96a2fd13fd
DEPS diff: baccefbc73..7987ebdc29/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I7c3e07594de8c9da1e55d1d955f9687b3fea4733
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131921
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#27486}
2019-04-08 13:44:48 +00:00
28d13cb886 Add RtpSequenceNumberMap::InsertFrame()
This will make code using RtpSequenceNumberMap simpler.

Bug: webrtc:10501
Change-Id: I74b11f3562d5962efb42b5bb7662489d7d411388
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131386
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27485}
2019-04-08 12:39:08 +00:00
3fcc5be59d Remove unused members in VCMJitterEstimator.
Bug: none
Change-Id: I0b6649906d4e73ef0819e00884b5a17d317c7619
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131260
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27484}
2019-04-08 12:27:47 +00:00
61e2753500 Delete placeholder code for Windows Media Foundation capturer.
Any new capture implementation for windows should use VideoSourceInterface,
like current capturers for android, mac and ios.

Bug: None
Change-Id: I0dffa9fde5ba069aab6273bfef826d17f03877d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131337
Commit-Queue: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27483}
2019-04-08 12:19:48 +00:00
800a10309d Fix timeout in rtcp_receiver_fuzzer - limit input length
rtcp_receiver_fuzzer was running over inputs of unreasonable
length, leading to timeouts. RTCP typically runs over UDP.
This CL limits the inputs to a bit over the max UDP payload length.

Bug: chromium:948469
Change-Id: I669a5b24c265bb3b6da2503da109efed32c25182
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131393
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27482}
2019-04-08 11:50:37 +00:00
f59666b3b2 Fix potential bug due to malformed input
A reasonable amount of incoming packets could generate feedback
for millions of packets.

Bug: chromium:949020
Change-Id: I7f3e6b75b683af5b2732c472cc92c6788540486b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131333
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27481}
2019-04-08 11:46:47 +00:00
1e2d436cbf Change PlayoutLatency setLatency zero-threshold value.
This is needed to match behaviour described in this spec:
https://github.com/henbos/webrtc-timing/pull/2

Bug: webrtc:10287
Change-Id: Idce9af2ec63705dfbfb500b7dbbf755ed3eab571
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131336
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ruslan Burakov <kuddai@google.com>
Cr-Commit-Position: refs/heads/master@{#27480}
2019-04-08 10:27:06 +00:00
8b9f51132a Add stream labels into PeerConnection level smoke test.
Bug: webrtc:10138
Change-Id: I779a8eb0516471273ddb313df3c2a34e66dff869
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131396
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27479}
2019-04-08 09:58:51 +00:00
e0b9355aa8 Move enum VideoType out of common_types.h
New location is common_video/libyuv/include/webrtc_libyuv.h.

Bug: webrtc:5876
Change-Id: Ied439a83417008a086bd496a8d13042398ff1e99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131330
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27478}
2019-04-08 09:47:54 +00:00
0d32a737dc Fix naming in NetworkEmulationManager: endpoint_controller -> endpoint_container
Bug: webrtc:10138
Change-Id: If5d6a9e6b25619278d32477e6c44c8fd5ad0faf2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131331
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27477}
2019-04-08 09:35:39 +00:00
5a0665bea4 Make UDP receive buffer size configurable via field trial
Bug: chromium:939340
Change-Id: I2ab18554d12a1e9c62f5d3d8f8237cc4d0a1a78c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131395
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27476}
2019-04-08 09:31:39 +00:00
d1c6085cb3 Added FrameDecryptorInterface::Result constructor and IsOk() member function.
Bug: webrtc:10512
Change-Id: I48bdaad57739382b5c1040d94f4e3657e2054e4b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131364
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27475}
2019-04-08 07:04:07 +00:00
f948eb66aa Implement DefaultAudioQualityAnalyzer.
The DefaultAudioQualityAnalyzer will read stats reports (temporarily
using the old PeerConnectionInterface::GetStats) and for each audio
stream it will collect some NetEq related stats.

When DefaultAudioQualityAnalyzer::Stop is invoked by the framework,
it will report the following metrics:
- expand_rate
- accelerate_rate
- preemptive_rate
- speech_expand_rate
- preferred_buffer_size_ms

Bug: webrtc:10138
Change-Id: Ie493456fcb9ed86455b12dabdab98a317387ef46
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125980
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27474}
2019-04-07 14:32:33 +00:00
0b2bf9590f Roll chromium_revision 58ec016f06..baccefbc73 (648432:648532)
Change log: 58ec016f06..baccefbc73
Full diff: 58ec016f06..baccefbc73

Changed dependencies
* src/base: f41d59faf0..7f42cc431e
* src/build: 25794eb5ee..3eaa797fa2
* src/ios: be52df3518..d927186141
* src/third_party: f26e86be04..bbcbf51c30
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/bf0179e27c..979fc35bbc
* src/third_party/depot_tools: 9198ef8ede..0b62ed79ed
* src/tools: 1920aa9d40..d151b62130
DEPS diff: 58ec016f06..baccefbc73/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I6a55b450a2e8b153a647ddb7bf494e7d51eafb3f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131600
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#27473}
2019-04-07 09:16:49 +00:00
a5b8220f2e Roll chromium_revision 0a611f37b8..58ec016f06 (648329:648432)
Change log: 0a611f37b8..58ec016f06
Full diff: 0a611f37b8..58ec016f06

Changed dependencies
* src/base: 1d63e15e13..f41d59faf0
* src/build: 23a5e22ba7..25794eb5ee
* src/ios: 1b45cc0d32..be52df3518
* src/testing: 8a96030944..a428665e17
* src/third_party: 5c95ab592b..f26e86be04
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/27980609ac..bf0179e27c
* src/third_party/depot_tools: dbc721d65f..9198ef8ede
* src/tools: f63001b39e..1920aa9d40
DEPS diff: 0a611f37b8..58ec016f06/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Iacdbe2c09deb55f99f1eae1e57c1f65afe6fbcba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131500
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#27472}
2019-04-06 01:29:38 +00:00
0694d1fce5 Roll chromium_revision 37663bcca7..0a611f37b8 (648215:648329)
Change log: 37663bcca7..0a611f37b8
Full diff: 37663bcca7..0a611f37b8

Changed dependencies
* src/base: 9ddc023f80..1d63e15e13
* src/ios: fe51fcc2c1..1b45cc0d32
* src/testing: 8b5edd181c..8a96030944
* src/third_party: a5a1eb9b53..5c95ab592b
* src/third_party/android_deps/libs/com_google_ar_core: version:1.6.0-cr0..version:1.8.0-cr0
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/9057b413d4..27980609ac
* src/tools: d6f4e3aa56..f63001b39e
DEPS diff: 37663bcca7..0a611f37b8/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I4d66339337e19d7827f26c19bab96d4f52ec85ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131442
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#27471}
2019-04-05 22:14:43 +00:00
72e977135c Add Result FrameDecryptorInterface::Decrypt
This change adds FrameDecryptorInterface::Result to the FrameDecryptorInterface
API. Result contains a Status and bytes_written. This removes requiring out
parameters from the API and provides a simpler status return code for the
function. This is in response to comments suggested here:
https://webrtc-review.googlesource.com/c/src/+/131358

int FrameDecryptorInterface::Decrypt() will be removed in a follow up CL.

Bug: webrtc:10512
Change-Id: I47f19f154d1d8430acd6e4a6f433ab24c455fd51
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131362
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27470}
2019-04-05 21:07:16 +00:00
2a3cf05af7 Roll chromium_revision f91f825874..37663bcca7 (648096:648215)
Change log: f91f825874..37663bcca7
Full diff: f91f825874..37663bcca7

Changed dependencies
* src/base: fb54341f11..9ddc023f80
* src/build: e4948d79f2..23a5e22ba7
* src/ios: 8e699376f3..fe51fcc2c1
* src/testing: c562c291be..8b5edd181c
* src/third_party: af977ed4ee..a5a1eb9b53
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/810aaa1e18..9057b413d4
* src/tools: 973c47f044..d6f4e3aa56
DEPS diff: f91f825874..37663bcca7/DEPS

Clang version changed 356356:357692
Details: f91f825874..37663bcca7/tools/clang/scripts/update.py

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ia2871f209fe49c1ca016cc3391121ecbbaaa465a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131421
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#27469}
2019-04-05 17:32:37 +00:00
ebd94f6df1 Using simulated time for GoogCC tests.
Bug: webrtc:10365
Change-Id: I482e544f1585fdb54dc49740ba81870104dd58a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130509
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27468}
2019-04-05 15:58:29 +00:00
8f32b6c18c AEC3: Enable usage of external delay estimator
This change makes it possible to disable AEC3's render delay
controller and delay estimator, and instead rely on an external
delay estimator. The delay is communicated via SetAudioBufferDelay.

When the feature is enabled, no echo removal will be performed
until the first delay is provided.

The delay is

Bug: b/130016532
Change-Id: I16643109d78d770ff1d2713cf247b0b9cce1bc1c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131327
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27467}
2019-04-05 15:34:39 +00:00
a553c72659 Tune VideoCodecTestLibvpx.TemporalLayersVP8 thresholds.
After https://webrtc-review.googlesource.com/c/src/+/131141 there are some minor
changes to the encoding performance, hence the updated values.

Bug: none
Change-Id: I070a62ce725b0a79e5cb5c4679ab643de50c46c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131334
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27466}
2019-04-05 14:43:40 +00:00
363fb7e050 Running scenario quality unit tests in simulated time.
This is to avoid inconsistent/flaky behavior on mobile bots.

Bug: webrtc:10365
Change-Id: I52ab4f9ef92b10329c1eac502adfcf2886058114
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131329
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27465}
2019-04-05 14:35:40 +00:00
7b7485b796 Remove TaskQueue constructor that uses GlobalTaskQueueFactory
Bug: webrtc:10284
Change-Id: I9547fb7110222ce3a3c2323ae2a004024eab911e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130471
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27464}
2019-04-05 13:34:26 +00:00
59e875ce18 Tune VideoCodecTestLibvpx.MultiresVP8 thresholds.
After https://webrtc-review.googlesource.com/c/src/+/131141 there are some minor
changes to the encoding performance, hence the updated values.

Bug: none
Change-Id: Ifa661eea15a0d52f4760f4aac9294074faab757f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131382
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27463}
2019-04-05 13:15:34 +00:00
c46a999342 Reduce flakiness of repeating task test.
Bug: webrtc:9883
Change-Id: I9027de52dc6e3e20bbd7b5b977116b3be9077941
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131324
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27462}
2019-04-05 12:58:04 +00:00
ae2213b38d Delete compatibility alias webrtc::kI420
Bug: webrtc:7385, webrtc:10198
Change-Id: Ib18b6fc45f1bac7f4145d4fca384978a85b6c85e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130481
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27461}
2019-04-05 11:47:38 +00:00
ff39312958 Add ability to have multiple connected remote endpoints
Bug: webrtc:10138
Change-Id: Ic305c2f247588d75b6ced17052ba12d937d1a056
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128864
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27460}
2019-04-05 10:27:14 +00:00
5684af5d63 VideoSendStream::Stats::total_encode_time_ms added.
This is a standard stat:
https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-totalencodetime

This is collected by SendStatisticsProxy. A follow-up CL will plumb
this to the RTCStatsCollector.

Bug: webrtc:10448
Change-Id: I236afa5576edc26afd54bd166f7faaf7e38e7c7f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130517
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27459}
2019-04-05 10:16:14 +00:00
a556448138 Don't recreate the VideoReceiveStream on SetFrameDecryptor in the MediaEngine.
This change introduces new logic to allow the injection of the FrameDecryptor
into an arbitrary already running VideoReceiveStream without resetting it. It
does this by taking advantage of the BufferedFrameDecryptor which will
forcefully be created regardless of whether a FrameDecryptor is passed in
during construction of the VideoReceiver if the
crypto_option.require_frame_encryption is true. By allowing the
BufferedFrameDecryptor to swap out which FrameDecryptor it uses this allows the
Receiver to switch decryptors without resetting the stream.

This is intended to mostly be used when you set your FrameDecryptor at a point
post creation for the first time.

Bug: webrtc:10416
Change-Id: If656b2acc447e2e77537cfa394729e5c3a8b660a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130361
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27458}
2019-04-05 07:58:05 +00:00
144575b65a Roll chromium_revision e05071635b..f91f825874 (647992:648096)
Change log: e05071635b..f91f825874
Full diff: e05071635b..f91f825874

Changed dependencies
* src/base: 6a69ac92e1..fb54341f11
* src/build: 372b912a6d..e4948d79f2
* src/ios: a101508a26..8e699376f3
* src/testing: 2c43c44509..c562c291be
* src/third_party: 76e8ba9855..af977ed4ee
* src/third_party/depot_tools: 9f74913e51..dbc721d65f
* src/tools: 7fbfd73192..973c47f044
DEPS diff: e05071635b..f91f825874/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I03b78a15943c3a4f92de2f9fe484fc39cd60778a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131361
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#27457}
2019-04-05 07:18:44 +00:00
4e95e17a66 Roll chromium_revision b95224d1f4..e05071635b (647872:647992)
Change log: b95224d1f4..e05071635b
Full diff: b95224d1f4..e05071635b

Changed dependencies
* src/base: a90642899f..6a69ac92e1
* src/build: 089a33ed0f..372b912a6d
* src/ios: 07a8f68d15..a101508a26
* src/third_party: 57a96905da..76e8ba9855
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/144122958b..810aaa1e18
* src/third_party/icu: b10cc9f714..69c72a6dfe
* src/tools: 8491393d76..7fbfd73192
DEPS diff: b95224d1f4..e05071635b/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I4066fa5c905d60e9254637812bdb3295d90c7fdd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131350
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#27456}
2019-04-05 01:02:21 +00:00
0ae222a62f Roll chromium_revision 4aff3b8e0f..b95224d1f4 (647765:647872)
Change log: 4aff3b8e0f..b95224d1f4
Full diff: 4aff3b8e0f..b95224d1f4

Changed dependencies
* src/base: 178202a54c..a90642899f
* src/build: 96d2ee3e71..089a33ed0f
* src/ios: cfa6ed29d0..07a8f68d15
* src/testing: cac71cb59f..2c43c44509
* src/third_party: 68b93d0ceb..57a96905da
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/63e0762df0..144122958b
* src/third_party/depot_tools: b8268cad11..9f74913e51
* src/third_party/libvpx/source/libvpx: ecae7f8f81..4117995a8e
* src/tools: 9ef99fc9b2..8491393d76
DEPS diff: 4aff3b8e0f..b95224d1f4/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,marpan@webrtc.org, jianj@chromium.org,
BUG=None

Change-Id: Ic33bab3541a2c0ea590e545e7590cae440f73d04
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131347
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#27455}
2019-04-04 20:46:15 +00:00