Commit Graph

27307 Commits

Author SHA1 Message Date
7d6a259baa Adds fake clock unit test.
Also removing unused ScopedRealClock.

Bug: webrtc:10365
Change-Id: I3cd95df894cba9bf4ee703d979f476e2c526bf35
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128860
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27425}
2019-04-02 20:06:44 +00:00
27d5ad074c Fix mouse not being shared with Handgouts on Win10
When setting display scale to 200%, the mouse was shared only
for the top left quarter.

Regressed since https://chromium-review.googlesource.com/641075.
Indeed frame->rect() takes into account scale_factor while the
frame is constructed with a size that does not take this scale
factor into account.

Also make sure to do a float disivison in DesktopFrame::scale_factor()
so that it returns 1.5 instead of 1 when dpi is 144 (i.e. 150%).

Bug: chromium:948362
Change-Id: Ic10f44946c9f1b53181244a44a5b45109c259f9f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130371
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
Cr-Commit-Position: refs/heads/master@{#27424}
2019-04-02 19:10:34 +00:00
9435c61021 Expose TaskQueueFactory for webrtc::Call in peer connection api
making a step for GlobalTaskQueueFactory to be optional way
to provide TaskQueueFactory

Bug: webrtc:10284
Change-Id: Ife838b3691c256820973118bc5b3cb372dea09cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130488
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27423}
2019-04-02 18:46:54 +00:00
13943b7b7f Running FrameBuffer on task queue.
This prepares for running WebRTC in simulated time where event::Wait
based timing doesn't work.

Bug: webrtc:10365
Change-Id: Ia0f9b1cc8e3c8c27a38e45b40487050a4699d8cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129962
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27422}
2019-04-02 18:34:59 +00:00
d98cbd8f91 Moves send side bandwidth estimation bandwidth cap inside class.
Bug: webrtc:9883
Change-Id: I0bcfacccf522de1a7276c5bee07418159c57e514
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130495
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27421}
2019-04-02 18:03:04 +00:00
5b84f67fba Cleaner reading of field trials in GoogCcNetworkController.
Bug: webrtc:9883
Change-Id: Ib871dfdef6221f2a231f6862edec6ed7db684613
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130515
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27420}
2019-04-02 17:58:09 +00:00
7a651c6e58 Add thread safety annotations for some more PeerConnection members (part 10)
Plus all the annotations that were necessary to make things compile
again.

Bug: webrtc:9987
Change-Id: I2b08c7db10dda7b18ad4ba036125f2a56ebf80a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130478
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27419}
2019-04-02 17:40:37 +00:00
62bb47f5f8 Splits network node into link and router.
Bug: webrtc:9883
Change-Id: I5ec5265be0940922cff311d385f2bf190f731422
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130496
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27418}
2019-04-02 17:15:46 +00:00
3c15f468c6 Use SeqNumUnwapper to handle reordering of first packets
Fixed todo by replacing SequenceNumberUnwrapper with updated class
SeqNumUnwrapper that correctly handles reordering of early packets.

Bug: webrtc:10263
Change-Id: Iffd93db924fee132d35752996b8d29acbb315d24
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130498
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27417}
2019-04-02 16:17:32 +00:00
cb755b001c StreamDataCounters::last_packet_received_timestamp_ms added.
This a standard stat:
https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-lastpacketreceivedtimestamp

This is collected by StreamStatisticianImpl. A follow-up CL with plumb
it to the RTCStatsCollector.

Bug: webrtc:10449
Change-Id: I44e7f4735f9df78704ce21198f52e66d11e63740
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130479
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27416}
2019-04-02 14:46:06 +00:00
cf2df2fb97 Bases scenario frame matching on similarity.
Refactoring of quality measurement code, basing frame matching on
frame thumb likeness. This way the code is robust against variations
in timing and frame drops.

Bug: webrtc:9510
Change-Id: Ief7266e01f39ca621a529c0da736e5ed1df8560a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/124401
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27415}
2019-04-02 14:15:49 +00:00
1107cab646 Remove the ability for EchoRemover to override the render vs capture alignment
This change removes the (unused) ability of EchoRemover overriding
the delay of the RenderDelayController. The change is tested for
bit-exactness.

Bug: webrtc:8671
Change-Id: I188ef740f1437de64ffe236d07a7dcd4128192c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130518
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27414}
2019-04-02 14:04:38 +00:00
f537da6c19 Fix threading model of video quality test with audio enabled
Bug: None
Change-Id: Ifb7fc57df54ec4d0a6f8c7f0504f3c06de6ac756
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130514
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27413}
2019-04-02 12:11:58 +00:00
a64f397397 Use the preferred capture format on windows.
The existing windows dshow capture code was ignoring the requested
capture format when enumerating preferred formats. This CL changes
the behavior to move the requested format to the start of the
preferred list. This should fix an issue causing MJPEG to be not
selected on certain devices because other formats were preferred,
resulting in reduced framerates for HD capture (USB 2.0 throughput
isn't high enough to support capturing 30fps 720p I420 data, and many
cameras, even internal, are on the USB 2.0 bus).

Note that Chromium has yet a different implementation, which is if
MJPEG is selected, it claims to *only* support MJPEG and no other
formats. This solution seems more correct; if, for some reason,
MJPEG was listed as supported but isn't asked of the pin, this
code will still produce some output, just possibly at a lower framerate
or resolution.

Bug: None
Change-Id: Id86f345936f6f32e08beec02925e41056c87a544
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130843
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27412}
2019-04-02 11:33:17 +00:00
2cc368fd7a Add thread safety annotations for some more PeerConnection members (part 9)
Plus all the annotations that were necessary to make things compile
again.

Bug: webrtc:9987
Change-Id: Ie958f4d86319e86527567ca1273a0595ccceee17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130490
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27411}
2019-04-02 10:48:16 +00:00
66e7679fb8 Export symbols needed by the Chromium component build (part 8).
This CL uses RTC_EXPORT (defined in rtc_base/system/rtc_export.h)
to mark WebRTC symbols as visible from a shared library, this doesn't
mean these symbols are part of the public API (please continue to refer
to [1] for info about what is considered public WebRTC API).

[1] - https://webrtc.googlesource.com/src/+/HEAD/native-api.md

Bug: webrtc:9419
Change-Id: Ib2c29054b2ae008f5291bd3b762a504b18534326
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130513
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27410}
2019-04-02 10:13:36 +00:00
db6335efce Make sure screenshare_layers produce non-sync TL1 frames after keyframes
This fixes a regression introduces way back in August 2018:
https://webrtc-review.googlesource.com/c/src/+/91863/
For bonus points, also fixing an auxiliary test issue.

Bug: webrtc:10479, webrtc:10260
Change-Id: I4e99fe6e070446d10357d9d1a9d1ffc9dedcf419
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129926
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27409}
2019-04-02 09:16:30 +00:00
ca07360d27 Roll chromium_revision ab376d5029..d5a4101d31 (646569:646704)
Change log: ab376d5029..d5a4101d31
Full diff: ab376d5029..d5a4101d31

Changed dependencies
* src/base: 6304b89da5..9d4388e62e
* src/build: 127e5f5304..ac6645362a
* src/ios: 1ef5026d2f..3c7dc6ae07
* src/testing: 3fd116ad47..91f9ea29b9
* src/third_party: eda2acd6f1..ffd87a131c
* src/third_party/depot_tools: 8d3ba46327..3c830222ae
* src/third_party/googletest/src: a18ac392d8..b617b27718
* src/tools: 3fe7625637..82ccf19769
DEPS diff: ab376d5029..d5a4101d31/DEPS

No update to Clang.

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

Change-Id: I5dc7ae5b542d842d69966873eeb4e9efff725aa3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130921
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@{#27408}
2019-04-02 08:33:34 +00:00
ac1667d128 Reland "RNN VAD: Replace Ooura with PFFFT for the pitch auto correlation."
This reverts commit d38ce9f82402a995289b87e044125847d12eb658.

Reason for revert: land this first, then fix downstream

Original change's description:
> Revert "RNN VAD: Replace Ooura with PFFFT for the pitch auto correlation."
> 
> This reverts commit 8fcd6537f242ffd74154a62dad410e573e2efc4b.
> 
> Reason for revert: broke internal projects.
> 
> Original change's description:
> > RNN VAD: Replace Ooura with PFFFT for the pitch auto correlation.
> > 
> > Bug: webrtc:9577, webrtc:10480
> > Change-Id: I6d58866d48b8eaaa4102551b88d4f55133d1915c
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130482
> > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> > Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#27387}
> 
> TBR=gustaf@webrtc.org,alessiob@webrtc.org
> 
> Change-Id: Ia05057326ebc277f334b13db0bfec9d4442903c2
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9577, webrtc:10480
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130369
> Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
> Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27405}

TBR=gustaf@webrtc.org,alessiob@webrtc.org,qingsi@webrtc.org

Change-Id: I345f00d798fb67d0f02bf1e89319dac7f0287485
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9577, webrtc:10480
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130516
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27407}
2019-04-02 06:58:55 +00:00
4f5975c990 Roll chromium_revision b29b632278..ab376d5029 (646441:646569)
Change log: b29b632278..ab376d5029
Full diff: b29b632278..ab376d5029

Changed dependencies
* src/base: 8f8023cf1f..6304b89da5
* src/build: a660b0b917..127e5f5304
* src/ios: 923a72938c..1ef5026d2f
* src/testing: e9520ad303..3fd116ad47
* src/third_party: e92ab335d2..eda2acd6f1
* src/tools: 7d73442b85..3fe7625637
DEPS diff: b29b632278..ab376d5029/DEPS

No update to Clang.

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

Change-Id: Ib3587c264bc7765acd5c7f27a426b18c661695d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130844
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@{#27406}
2019-04-02 00:42:25 +00:00
d38ce9f824 Revert "RNN VAD: Replace Ooura with PFFFT for the pitch auto correlation."
This reverts commit 8fcd6537f242ffd74154a62dad410e573e2efc4b.

Reason for revert: broke internal projects.

Original change's description:
> RNN VAD: Replace Ooura with PFFFT for the pitch auto correlation.
> 
> Bug: webrtc:9577, webrtc:10480
> Change-Id: I6d58866d48b8eaaa4102551b88d4f55133d1915c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130482
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27387}

TBR=gustaf@webrtc.org,alessiob@webrtc.org

Change-Id: Ia05057326ebc277f334b13db0bfec9d4442903c2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9577, webrtc:10480
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130369
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27405}
2019-04-01 20:31:09 +00:00
e9cda52611 Roll chromium_revision 29ea6db316..b29b632278 (646310:646441)
Change log: 29ea6db316..b29b632278
Full diff: 29ea6db316..b29b632278

Changed dependencies
* src/base: 9ca00116ab..8f8023cf1f
* src/build: 6b14ccdbb0..a660b0b917
* src/ios: e5117557b9..923a72938c
* src/testing: e04295b9fe..e9520ad303
* src/third_party: d442923dc1..e92ab335d2
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1ca62263a6..83131f4f49
* src/tools: 6a26678405..7d73442b85
DEPS diff: 29ea6db316..b29b632278/DEPS

Clang version changed 356356:357316
Details: 29ea6db316..b29b632278/tools/clang/scripts/update.py

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

Change-Id: I593e387ff4db9d0c36894053ef6847baa6c937e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130840
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@{#27404}
2019-04-01 20:03:47 +00:00
af1f8655b2 Revert "Disable DTLS 1.0, TLS 1.0 and TLS 1.1 downgrade in WebRTC."
This reverts commit 7276b974b78ea4f409d8738b1b6f1515f7a8968e.

Reason for revert: Changing to a later Chrome release.

Original change's description:
> Disable DTLS 1.0, TLS 1.0 and TLS 1.1 downgrade in WebRTC.
>
> This change disables DTLS 1.0, TLS 1.0 and TLS 1.1 in WebRTC by default. This
> is part of a larger effort at Google to remove old TLS protocols:
> https://security.googleblog.com/2018/10/modernizing-transport-security.html
>
> For the M74 timeline I have added a disabled by default field trial
> WebRTC-LegacyTlsProtocols which can be enabled to support these cipher suites
> as consumers move away from these legacy cipher protocols but it will be off
> in Chrome.
>
> This is compliant with the webrtc-security-arch specification which states:
>
>    All Implementations MUST implement DTLS 1.2 with the
>    TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 cipher suite and the P-256
>    curve [FIPS186].  Earlier drafts of this specification required DTLS
>    1.0 with the cipher suite TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, and
>    at the time of this writing some implementations do not support DTLS
>    1.2; endpoints which support only DTLS 1.2 might encounter
>    interoperability issues.  The DTLS-SRTP protection profile
>    SRTP_AES128_CM_HMAC_SHA1_80 MUST be supported for SRTP.
>    Implementations MUST favor cipher suites which support (Perfect
>    Forward Secrecy) PFS over non-PFS cipher suites and SHOULD favor AEAD
>    over non-AEAD cipher suites.
>
> Bug: webrtc:10261
> Change-Id: I847c567592911cc437f095376ad67585b4355fc0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125141
> Commit-Queue: Benjamin Wright <benwright@webrtc.org>
> Reviewed-by: David Benjamin <davidben@webrtc.org>
> Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27006}

TBR=steveanton@webrtc.org,davidben@webrtc.org,qingsi@webrtc.org,benwright@webrtc.org

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

Bug: webrtc:10261
Change-Id: I34727e65c069e1fb2ad71838828ad0a22b5fe811
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130367
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27403}
2019-04-01 19:11:07 +00:00
ae4b62318d Reland "Add bindings for simulcast and RIDs in Android SDK."
This is a reland of 177670afd6d4aa414e4aa75983da538b7f350ee8
Fixing failing tests.

TBR=magjed@webrtc.org
Original change's description:
> Add bindings for simulcast and RIDs in Android SDK.
>
> This adds the bindings for rid in RtpParameters.Encoding and bindings
> for send_encodings in RtpTransceiverInit to allow creating a transceiver
> with multiple send encodings.
>
> Bug: webrtc:10464
> Change-Id: I4c205dc0f466768c63b7efcb3c68e93277236da0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128960
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27323}

Bug: webrtc:10464
Change-Id: I95fac3967217c20a9fdddb490aea30eca2061ef0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130362
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27402}
2019-04-01 17:45:46 +00:00
98e9f29ff0 Improve application window picker on Mac that was not listing all apps.
All application with empty title were not listed, for example Photos.
Fallback to owner name in that case while making sure to keep ignoring
the ghost window.
Most of the ghost windows can be filtered with IsWindowOnScreen
or IsWindowFullScreen except a few. For the remaining ghost we check
if there is no other window with the same pid.

Bug: chromium:516230
Test: Hangouts or Rumpus
Change-Id: Ibb9f98887e5aedf822fc0611836b1938b5056d43
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130360
Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27401}
2019-04-01 17:00:41 +00:00
32a5781fa9 Roll chromium_revision e7b7dc611f..29ea6db316 (646176:646310)
Change log: e7b7dc611f..29ea6db316
Full diff: e7b7dc611f..29ea6db316

Changed dependencies
* src/base: 8df75dbe48..9ca00116ab
* src/build: a72af28e1c..6b14ccdbb0
* src/ios: 9f4eaa7cd0..e5117557b9
* src/testing: e55effebbf..e04295b9fe
* src/third_party: 3ed630b24a..d442923dc1
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/5b63b1f34a..1ca62263a6
* src/third_party/harfbuzz-ng/src: ec2a5dc859..f3aca6aa26
* src/tools: bc26bba6c5..6a26678405
DEPS diff: e7b7dc611f..29ea6db316/DEPS

No update to Clang.

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

Change-Id: I7d5d715d92d343da5a1ecb60ab22813b7ede8644
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130800
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@{#27400}
2019-04-01 15:42:31 +00:00
8daf92a809 Adds ScaleVideoFrameBuffer to libyuv.
This will be used for frame matching in a follow up CL.

Bug: webrtc:10365
Change-Id: If29fd59f8fff4c30b4c509104ade0e4ff02b08b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130489
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27399}
2019-04-01 15:39:11 +00:00
8ce89ba820 Adds function to calculate squared error sum to libyuv.
This will be used for frame matching in a follow up CL.

Bug: webrtc:10365
Change-Id: I57bb743dd10a3327a5befceb98b3539e1138448b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130510
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27398}
2019-04-01 15:08:21 +00:00
de83d0c81a Fix params comments in network emulation layer and its usage in scenario framework
Bug: webrtc:10138
Change-Id: I9273410375cf4914abffa69f7443e13d52e77675
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130222
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27397}
2019-04-01 14:51:49 +00:00
612e179a28 Follow up CL to address clang-tidy suggestions minor issues.
Original CL: https://webrtc-review.googlesource.com/c/src/+/130103

Bug: webrtc:10138
Change-Id: I3bd7459442c36fdb97f581e436a0f365126fb6ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130476
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#27396}
2019-04-01 14:40:19 +00:00
bdecb3cdbe Cleanup: rename endpoint_controller_ into endpoint_container_.
Rename endpoint_controller_ into endpoint_container_ in network
emulation layer EmulatedNetworkManager.

Bug: webrtc:10138
Change-Id: If54030f1d2197e2e01b9b9c701e7bbe0dc55b7d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130465
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27395}
2019-04-01 14:33:49 +00:00
5c4d2ee615 RTCDataChannel: Ignore "id" when "negotiated" is false
This updates behavior to be aligned with the WebRTC spec.

Bug: chromium:948055
Change-Id: Id3bbf05b3df084c9b7f7d12598c09187679d60fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130493
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27394}
2019-04-01 14:06:29 +00:00
4124dab7f3 Processing emulated network on task queue.
The has some benefits:
* We no longer need locks to protect the emulated network node state.
* We only process when there are packets in flight.
* It makes Scenario more similar to network emulation manager.

Bug: webrtc:10365
Change-Id: I8bd1ad1edfb54b047e8109dabd9846ae451cef17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127548
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27393}
2019-04-01 13:52:49 +00:00
6c072efe9f Track both "network" and "media" rate in EncoderOvershootDetector
The network rate is based on a strict leaky buck with no underrun.
The media rate has almost the same algorithm, but allows the bufer level
to become negative down to -5 frames worth of data. This allows tracking
the average bitrate over a window and can be used as an alternative
upper bound when the encoder target is not link constrained.

Bug: webrtc:10155
Change-Id: I0d72157f7c0f0799e15572bf4797fa1b5636b22e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129723
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27392}
2019-04-01 13:10:49 +00:00
a9daea4377 Avoid crashing if decodeTimeMs is null.
Bug: webrtc:10248
Change-Id: I58a5f37191d65fd1d7b228a0567a0fa8cb745bc8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130512
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27391}
2019-04-01 12:42:16 +00:00
cc5be54c26 Support for injection of FEC controller in Scenario tests.
Also adding sync group for video streams.

Bug: webrtc:10365
Change-Id: I9ef92de756f06bbbcd7b67524bbf51fe1365fa85
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130508
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27390}
2019-04-01 12:30:54 +00:00
1c4547d1f9 Adds SetForTest method on FieldTrialParameter class.
This is useful in tests as it allows overriding the default after
construction. It's not intended for use in production (as it can
be confusing to readers).

Bug: webrtc:10365
Change-Id: I8ac2541f2626e7fddbb61bdae72e9571ce9d7b97
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130468
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27389}
2019-04-01 12:29:05 +00:00
4e2d015be8 Autoscale Y-axis of echo-likelihood plots
Bug: none
Change-Id: I86d4bc13c58d34d1b96e70c1362a642345201fcc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130494
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27388}
2019-04-01 12:20:43 +00:00
8fcd6537f2 RNN VAD: Replace Ooura with PFFFT for the pitch auto correlation.
Bug: webrtc:9577, webrtc:10480
Change-Id: I6d58866d48b8eaaa4102551b88d4f55133d1915c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130482
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27387}
2019-04-01 10:39:42 +00:00
4cd433ed5f Switch routing from dest endpoint id to dest ip in network emulation layer
Bug: webrtc:10138
Change-Id: I8659777820ec7244c1435d71504b0c01fb438192
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130103
Reviewed-by: Yves Gerey <yvesg@google.com>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27386}
2019-04-01 10:04:41 +00:00
359fe33163 Move TaskQueueFactory from Call::Create parameter to CallConfig
to decouple it from other optional parameters
and with plan to make it mandatory

Bug: webrtc:10284
Change-Id: I71c1d3d9eaf09d00b99b0bc4c811ab173ea5f01f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130473
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27385}
2019-04-01 09:27:44 +00:00
ffb8c8c147 Add PFFFT to generate_license
Bug: webrtc:9577
Change-Id: Id7169db3daf4615c35e7de60481c3d1f9fbb36ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130511
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27384}
2019-04-01 08:55:15 +00:00
c42f1a764d Revert "Move TaskQueueFactory from Call::Create parameter to CallConfig"
This reverts commit 90705cbc414286806a39f715634d90c161ac9bb3.

Reason for revert: failed to compile due to conflict with another recent change

Original change's description:
> Move TaskQueueFactory from Call::Create parameter to CallConfig
> 
> to decouple it from other optional parameters
> and with plan to make it mandatory
> 
> Bug: webrtc:10284
> Change-Id: I1224abd90d8e06e0ee2d2baaa6d0fd54f8caad2b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130470
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27382}

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

Change-Id: Ibe70f191d35f72e0373e49e5300d765b88d02db0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10284
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130472
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27383}
2019-04-01 08:41:03 +00:00
90705cbc41 Move TaskQueueFactory from Call::Create parameter to CallConfig
to decouple it from other optional parameters
and with plan to make it mandatory

Bug: webrtc:10284
Change-Id: I1224abd90d8e06e0ee2d2baaa6d0fd54f8caad2b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130470
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27382}
2019-04-01 08:31:02 +00:00
ef139908ee author_line_count.sh: Move user arguments last
Moving the "$@" last in the invocation of git log enables line stats
restricted to specific files or directories, e.g.,

  ./rtc_tools/author_line_count.sh ... -- modules/foo

Bug: None
Change-Id: I6dc17a10f2b321beae452f5e2cc74bcba2f8aaf3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130491
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27381}
2019-04-01 08:03:05 +00:00
1c41be6e05 Propagate TaskQueueFactory to AudioDeviceBuffer
keep using GlobalTaskQueueFactory in android/ios bindings.
Switch to DefaultTaskQueueFactory in tests.

Bug: webrtc:10284
Change-Id: I034c70542be5eeb830be86527830d51204fb2855
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130223
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27380}
2019-04-01 08:00:49 +00:00
105a10aef0 Using TimeController for Scenario test framework
As part of this change, a task queue is used to handle packet
processing in real time mode. This requires that we also do
most call and media stream related operation on the same task
queue to satisfy thread checkers.

Bug: webrtc:10365
Change-Id: Icdd9d56e4ca14f2c944dc655c91e29392e3765f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127544
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27379}
2019-04-01 07:52:35 +00:00
10aac06886 Delete VCMJitterBuffer::IncomingRateStatistics
Bug: webrtc:7408
Change-Id: I2da20bca053bb757957aec56e1fc7f7f915a0b55
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130102
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27378}
2019-04-01 07:43:28 +00:00
db64d99130 Delete unused constructor arguments from VCMJitterBuffer
The NackSender* and KeyFrameRequestSender* arguments were unused.

Bug: webrtc:7408
Change-Id: Iab3b443373953e88c48867d031cb114b4891ab78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130503
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27377}
2019-04-01 07:42:23 +00:00
9d8eaac4ee Delete unneeded direct includes of common_types.h
And delete corresponding dependencies on :webrtc_common. After this
change, common_types.h is included directly only from code in the
following directories:

api/
api/video/
api/video_codecs/
common_video/libyuv/include/
media/base/
modules/remote_bitrate_estimator/
modules/rtp_rtcp/source/
modules/video_coding/codecs/vp9/

There remains plenty of indirect dependencies on the types declared in
common_types.h, but the fewer direct dependencies should make it
easier to find the proper place for each type.

Bug: webrtc:5876
Change-Id: I93e8f214025ecb613c19fdec2015bd3f96c59aae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130501
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27376}
2019-04-01 07:18:13 +00:00