Commit graph

26932 commits

Author SHA1 Message Date
Niels Möller
bcb7c209d4 Delete vcm::VideoReceiver methods Delay and SetRenderDelay.
They are called only from VideoReceiveStream, which can access
VCMTiming directly.

Bug: webrtc:7408
Change-Id: Ibf5799b1441c00b41143342ca1d99024cb68ba17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133569
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27700}
2019-04-23 09:38:54 +00:00
Sam Zackrisson
37242cbc41 Remove logging of metrics no longer relevant for AEC2 usage (UMA).
The acoustic echo canceler AEC2 is being deprecated. The routing for reporting these metrics as UMA stats has outlived the metrics'usefulness.

Bug: webrtc:10563
Change-Id: Ib96693dfc43e25a0cfecad7d5d2043116ca7e6b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133573
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27699}
2019-04-23 09:14:15 +00:00
Harald Alvestrand
26bf7c4682 Reland "Refactoring DataContentDescription class"
This reverts commit 1859dc04fd.

Reason for revert: Issue likely unrelated to this CL.

Original change's description:
> Revert "Refactoring DataContentDescription class"
>
> This reverts commit 8a9193c217.
>
> Reason for revert: Breaks downstreams
>
> Original change's description:
> > Refactoring DataContentDescription class
> >
> > This CL splits the cricket::DataContentDescription class into
> > two classes: cricket::DataContentDescription (used for RTP data) and
> > cricket::SctpDataContentDescription (used for SCTP only).
> >
> > SctpDataContentDescription no longer inherits from
> > MediaContentDescriptionImpl, and no longer contains "codecs".
> >
> > Design document:
> > https://docs.google.com/document/d/1H5LfQxJA2ikMWTQ8FZ3_GAmaXM7knfVQWiSz6ph8VQ0/edit#
> >
> > Bug: webrtc:10358
> > Change-Id: Ie7160610506aeef56d1f821b5fdb5d9492201f43
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132700
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#27651}
>
> TBR=steveanton@webrtc.org,kwiberg@webrtc.org,hbos@webrtc.org,hta@webrtc.org
>
> Change-Id: I3b8a68cd481c41ce30eeb5ffbc5da735a9659019
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10358
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133360
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Commit-Queue: Seth Hampson <shampson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27652}

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

Bug: webrtc:10358
Change-Id: Ie58f862f8c55d2a994eaee1caa107ef701b0770f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133624
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27698}
2019-04-23 09:08:07 +00:00
Julien Isorce
62acb5a8c0 Add ICC profile to DesktopFrame
And fill-in icc profile from the various window and screen capturers.
Done on WindowCapturerMac, ScreenCapturerMac, WindowCapturerX11
and ScreenCapturerX11. Follow-up CLs will do it on ScreenCapturerWinDirectx
and ScreenCapturerPipeWire.

Useful to build the gfx::ColorSpace in chromium, especially
from src/content/browser/media/capture/desktop_capture_device.cc.

We do not build the color space directly here to avoid duplicating
ui/gfx/icc_profile.h,cc code from chromium, which one implements
icc profile caching.

Bug: chromium:945468
Change-Id: Id6e3920233771e035f7578847406bf1f519dcd49
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133580
Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#27697}
2019-04-19 22:57:09 +00:00
Julien Isorce
5665572f47 Avoid a frame copy in WindowCapturerMac
By wraping the cg_data instead of copying it. We had the infrastructure
for it since the work around iosurface, we were just not using it.

Also having a centralized DesktopFrameCGImage::CreateFromCGImage helper
will be useful to parse the ICC Profile at only one place.

Bug: chromium:945468
Change-Id: I69f179064fd9045d992a7baea35820c38e24dacc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133640
Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#27696}
2019-04-19 05:05:50 +00:00
Danil Chapovalov
aec09a2d18 Use explicit TaskQueueFactory for FrameGeneratorCapturer in FrameGeneratorCapturerVideoTrackSource
This replaces the implicit usage of GlobalTaskQueueFactory with an explicitly provided DefaultTaskQueueFactory instance.

Bug: webrtc:10284
Change-Id: I40cbaa16181ab4b5a3528871cb068b09fe06b599
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133574
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27695}
2019-04-18 20:22:51 +00:00
Qingsi Wang
c129c359d7 Reland "Surface ICE candidates that match an updated candidate filter."
This is a reland of cd8d1cf68e

Original change's description:
> Surface ICE candidates that match an updated candidate filter.
> 
> After this change an ICE agent can surface candidates that do not match
> the previous filter but are allowed by the updated one. The candidate
> filter, as part of the internal implementation in the ICE transport,
> manifests the RTCIceTransportPolicy field in RTCConfiguration.
> 
> This new feature would allow an ICE agent to gather new candidates when
> the transport policy changes from e.g. 'relay' to 'all' without an ICE
> restart.
> 
> A caveat in the current implementation remains, and a candidate can
> surface multiple times if the transport policy, or the candidate filter
> directly, performs multiple transitions from a value that disallows to
> one that allows the underlying candidate type. For example, if the
> transport policy is updated by 'all' -> 'relay' -> 'all', the same host
> candidate can surface after the second update.
> 
> 
> Bug: webrtc:8939
> Change-Id: I92c2e07dafab225c702c5de28f47958a0d3270cc
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132282
> Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
> Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27674}

Bug: webrtc:8939
Change-Id: I9c32b1ea05028ecd937ab4912779dd958faf734f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133582
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27694}
2019-04-18 19:33:41 +00:00
chromium-webrtc-autoroll
3ba187226e Roll chromium_revision f2865fd3af..cd9b5ac293 (652050:652221)
Change log: f2865fd3af..cd9b5ac293
Full diff: f2865fd3af..cd9b5ac293

Changed dependencies
* src/base: e56ffbf17e..1ea5ea3206
* src/build: cc63a886b8..2c6f5922db
* src/ios: 6137480bc5..02c67f4a06
* src/testing: d04fa3a290..5deb6d59f2
* src/third_party: 5f2cde46fd..5f3d1cf733
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4e967e7e44..f76561176b
* src/third_party/r8: BReCwfbVwCNM2Ry4QpnrwlE3Y5gPJ2rRoyMbxFS0-4UC..SlcbUnEufAQ-iuOwGOl8yYQuctmpf7bMqh59kBfpil0C
* src/tools: af8e65c738..d85eb879da
DEPS diff: f2865fd3af..cd9b5ac293/DEPS

No update to Clang.

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

Change-Id: I089f4b3e6a29bc1ca0bbea4fe95cec0f20f71bea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133606
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@{#27693}
2019-04-18 19:21:51 +00:00
Ruslan Burakov
428dcb2517 Remove SetLatency/GetLatency from MediaSourceInterface API level
Bug: webrtc:10287
Change-Id: I74fad31db98b75791085688438064f9510b0b6fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133165
Commit-Queue: Ruslan Burakov <kuddai@google.com>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27692}
2019-04-18 19:11:31 +00:00
Danil Chapovalov
81687b370f Use explicit TaskQueueFactory for FrameGeneratorCapturer in BitrateEstimatorTest.
This replaces the implicit usage of GlobalTaskQueueFactory

Bug: webrtc:10284
Change-Id: Iebfcda2bd3ccf25c517c668e96e424e7665b13da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133578
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27691}
2019-04-18 14:17:12 +00:00
Danil Chapovalov
908e22e553 Use explicit TaskQueueFactory for FrameGeneratorCapturer in video/ tests
This replaces the implicit usage of GlobalTaskQueueFactory

Bug: webrtc:10284
Change-Id: Ic53254ee6d9a421be18bf2df62f1742c46812701
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133576
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27690}
2019-04-18 13:41:12 +00:00
Erik Språng
d50947ab51 Ignore duplicate sent packets in TransportFeedbackAdapter
Bug: webrtc:10564
Change-Id: I617b58ef8cf5858d7a81aaa39884c5cc1ac2af6e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133564
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27689}
2019-04-18 13:29:22 +00:00
Sergey Silkin
f689623417 Fix compilation of video_replay.
Delete CodecSpecificInfo argument from Decode() override.

Bug: webrtc:10379
Change-Id: I6c2a759d476199508e6fa1e3abfa09ca1ffc8063
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133575
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27688}
2019-04-18 12:51:51 +00:00
Danil Chapovalov
a92e6249c7 Use explicit TaskQueueFactory for FrameGeneratorCapturer in CallTest.
This replaces the implicit usage of GlobalTaskQueueFactory with an explicitly provided DefaultTaskQueueFactory instance.

Bug: webrtc:10284
Change-Id: I4a97724ca69829c245c3d1c5e69bedf8755ce5f5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133486
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27687}
2019-04-18 12:45:20 +00:00
Sebastian Jansson
ad60afbd0f Allow injection of network controller factory in Java.
Bug: webrtc:9155
Change-Id: I3303a5a9d13a2b7028c24ceede4565b0f4350d7d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133570
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27686}
2019-04-18 12:08:46 +00:00
Artem Titov
76723ae836 Add API to get raw stats value from DefaultAudioQualityAnalyzer
Bug: webrtc:10138
Change-Id: I60601a47c8dd8f669297d91825fe057f2b3da634
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133565
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27685}
2019-04-18 12:04:06 +00:00
Niels Möller
d3e761e822 Delete left-over call to RegisterPacketRequestCallback
The unregister call was overlooked in
https://webrtc-review.googlesource.com/c/src/+/133189

Bug: webrtc:7408
Change-Id: Ida4702187a1cdf08cf3326b57da5e8dc7a5c5aed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133563
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27684}
2019-04-18 10:35:59 +00:00
Niels Möller
58fa716e44 Add frame_type getter and setter to RtpDepacketizer::ParsedPayload
Preparation for landing
https://webrtc-review.googlesource.com/c/src/+/133024

Bug: webrtc:10397
Change-Id: I5edf13f9059cd066d2d9b7e52e35c13cc3c794d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133567
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27683}
2019-04-18 09:38:19 +00:00
Sebastian Jansson
f6e6435ab8 Cleanup in NetworkEmulationManager
This prepares for an upcoming CL removing cross traffic processing
when it's not used.

Bug: webrtc:10365
Change-Id: I7f1f3998f7f38c2a627b888c3db6b0c459d8271d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133485
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27682}
2019-04-18 08:25:50 +00:00
Ying Wang
cab77fd1be Inject network state predictor into video quality test.
Bug: webrtc:10492
Change-Id: Ia2ae5de1019ac4ab89e54e261b1d94a482334ee9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133161
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27681}
2019-04-18 08:19:10 +00:00
Niels Möller
2317c5ee0a Delete method DecodedImageCallback::ReceivedDecodedReferenceFrame
The code invoking it was deleted in
https://codereview.webrtc.org/2753783002

Tbr: kwiberg@webrtc.org # Change to mock class in api/test
Bug: webrtc:7408
Change-Id: I576d7aacd7dc60e42a05d2ea837fddf16594e685
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133348
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27680}
2019-04-18 08:14:40 +00:00
chromium-webrtc-autoroll
fc3cfc599c Roll chromium_revision 14d9f48eb3..f2865fd3af (651940:652050)
Change log: 14d9f48eb3..f2865fd3af
Full diff: 14d9f48eb3..f2865fd3af

Changed dependencies
* src/build: 33e3a26c2d..cc63a886b8
* src/ios: b42d077bd9..6137480bc5
* src/testing: 80417f3366..d04fa3a290
* src/third_party: 096dc92b01..5f2cde46fd
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/acbf095c15..4e967e7e44
* src/third_party/googletest/src: b617b27718..9f893b9959
* src/tools: 1892917dac..af8e65c738
DEPS diff: 14d9f48eb3..f2865fd3af/DEPS

No update to Clang.

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

Change-Id: I37758f4e5027b56d1badc5761ae270f932c90893
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133536
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@{#27679}
2019-04-18 06:20:09 +00:00
chromium-webrtc-autoroll
852bffb606 Roll chromium_revision adf8e94df9..14d9f48eb3 (651832:651940)
Change log: adf8e94df9..14d9f48eb3
Full diff: adf8e94df9..14d9f48eb3

Changed dependencies
* src/base: 5212b3f42b..e56ffbf17e
* src/build: 2a714762d2..33e3a26c2d
* src/ios: 3ca8279058..b42d077bd9
* src/testing: ab97ced129..80417f3366
* src/third_party: 3aea15dd12..096dc92b01
* src/tools: 34fc18d77d..1892917dac
DEPS diff: adf8e94df9..14d9f48eb3/DEPS

No update to Clang.

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

Change-Id: I2fde8dc05669f62042474f682ea4e8e57123ef58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133528
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@{#27678}
2019-04-17 23:24:48 +00:00
Qingsi Wang
797ede8e71 Revert "Surface ICE candidates that match an updated candidate filter."
This reverts commit cd8d1cf68e.

Reason for revert: breaks an internal project

Original change's description:
> Surface ICE candidates that match an updated candidate filter.
> 
> After this change an ICE agent can surface candidates that do not match
> the previous filter but are allowed by the updated one. The candidate
> filter, as part of the internal implementation in the ICE transport,
> manifests the RTCIceTransportPolicy field in RTCConfiguration.
> 
> This new feature would allow an ICE agent to gather new candidates when
> the transport policy changes from e.g. 'relay' to 'all' without an ICE
> restart.
> 
> A caveat in the current implementation remains, and a candidate can
> surface multiple times if the transport policy, or the candidate filter
> directly, performs multiple transitions from a value that disallows to
> one that allows the underlying candidate type. For example, if the
> transport policy is updated by 'all' -> 'relay' -> 'all', the same host
> candidate can surface after the second update.
> 
> 
> Bug: webrtc:8939
> Change-Id: I92c2e07dafab225c702c5de28f47958a0d3270cc
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132282
> Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
> Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27674}

TBR=shampson@webrtc.org,qingsi@webrtc.org,jeroendb@webrtc.org,sukhanov@webrtc.org

Change-Id: Idd51a640e55a612b42fe8b69e05dff57a22d021a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8939
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133581
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27677}
2019-04-17 21:22:06 +00:00
Steve Anton
e0ab81c8c6 Change steveanton watchlist email
Bug: None
Change-Id: Iba8b50ddfc278e9d7c74681f1b02743a032b4a06
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133524
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27676}
2019-04-17 19:46:07 +00:00
chromium-webrtc-autoroll
060f5951f0 Roll chromium_revision 14c052d7be..adf8e94df9 (651715:651832)
Change log: 14c052d7be..adf8e94df9
Full diff: 14c052d7be..adf8e94df9

Changed dependencies
* src/base: 9f11811ffe..5212b3f42b
* src/build: 1840a3c7e4..2a714762d2
* src/ios: bd0a450991..3ca8279058
* src/testing: fac08fe808..ab97ced129
* src/third_party: 80de4cb2ff..3aea15dd12
* src/third_party/depot_tools: e72279d25f..1e2cb1573b
* src/tools: bc2401b292..34fc18d77d
DEPS diff: 14c052d7be..adf8e94df9/DEPS

No update to Clang.

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

Change-Id: Icdbec33eedd25808c742fbe1876ef05d5b649422
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133523
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@{#27675}
2019-04-17 19:37:01 +00:00
Qingsi Wang
cd8d1cf68e Surface ICE candidates that match an updated candidate filter.
After this change an ICE agent can surface candidates that do not match
the previous filter but are allowed by the updated one. The candidate
filter, as part of the internal implementation in the ICE transport,
manifests the RTCIceTransportPolicy field in RTCConfiguration.

This new feature would allow an ICE agent to gather new candidates when
the transport policy changes from e.g. 'relay' to 'all' without an ICE
restart.

A caveat in the current implementation remains, and a candidate can
surface multiple times if the transport policy, or the candidate filter
directly, performs multiple transitions from a value that disallows to
one that allows the underlying candidate type. For example, if the
transport policy is updated by 'all' -> 'relay' -> 'all', the same host
candidate can surface after the second update.


Bug: webrtc:8939
Change-Id: I92c2e07dafab225c702c5de28f47958a0d3270cc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132282
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27674}
2019-04-17 19:29:31 +00:00
Sebastian Jansson
011d3a125e Revert "Cleanup in NetworkEmulationManagerImpl."
This reverts commit aa274d0287.

Reason for revert: Depends on reverted CL.

Original change's description:
> Cleanup in NetworkEmulationManagerImpl.
> 
> Bug: webrtc:9883
> Change-Id: I845ecd66ceda9eb8c144e4c10ff374c050413a04
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133344
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27664}

TBR=srte@webrtc.org,titovartem@webrtc.org

Change-Id: Ib62f19e382ee0a43f5892fcc694395adb410c36f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9883
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133484
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27673}
2019-04-17 15:57:01 +00:00
Danil Chapovalov
28de7cfd64 Use DefaultTaskQueueFactory instead of Global in test RealTimeController
Bug: webrtc:10284
Change-Id: I1c285078a9aae42ca811144f42066980a7b155fd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132782
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27672}
2019-04-17 15:52:28 +00:00
chromium-webrtc-autoroll
899280c485 Roll chromium_revision 3904a4338b..14c052d7be (651612:651715)
Change log: 3904a4338b..14c052d7be
Full diff: 3904a4338b..14c052d7be

Changed dependencies
* src/base: 8b6a1456f6..9f11811ffe
* src/build: a0b2e3b270..1840a3c7e4
* src/ios: b25ad32c5a..bd0a450991
* src/testing: e005720bc1..fac08fe808
* src/third_party: a5fa03ace1..80de4cb2ff
* src/third_party/depot_tools: 7e7523be4e..e72279d25f
* src/tools: ba9616c509..bc2401b292
DEPS diff: 3904a4338b..14c052d7be/DEPS

No update to Clang.

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

Change-Id: I28b58be0971afce55119b5e657a4c3e4349782e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133520
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@{#27671}
2019-04-17 15:48:03 +00:00
Daniel Lee
63658d06ec Revert "Ensure that we always set values for min and max audio bitrate."
This reverts commit e47aee3b86.

Reason for revert: Breaks downstream project

Original change's description:
> Ensure that we always set values for min and max audio bitrate.
> 
> Use (in order from lowest to highest precedence):
> -- fixed 32000bps
> -- fixed target bitrate from codec
> -- explicit values from the rtp encoding parameters
> -- Final precedence is given to field trial values from
>    WebRTC-Audio-Allocation
> 
> Bug: webrtc:10487
> Change-Id: I7e289f209a927785572058b6fbfdf60fa14edf05
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126229
> Reviewed-by: Minyue Li <minyue@google.com>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Daniel Lee <dklee@google.com>
> Cr-Commit-Position: refs/heads/master@{#27667}

TBR=solenberg@webrtc.org,stefan@webrtc.org,srte@webrtc.org,crodbro@webrtc.org,minyue@webrtc.org,minyue@google.com,dklee@google.com

Change-Id: Ie975cf40e65105d1e4cfab417b220b6bfc34592b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10487
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133481
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Daniel Lee <dklee@google.com>
Cr-Commit-Position: refs/heads/master@{#27670}
2019-04-17 15:47:00 +00:00
Artem Titarenko
b4b53bd8cc Revert "Only process cross traffic simulation if added."
This reverts commit 491d29448e.

Reason for revert: Breaks internal iOS waterfall

Original change's description:
> Only process cross traffic simulation if added.
> 
> This avoids extra processing overhead when there's no cross traffic
> simulation active. To allow the use of SendTask, GlobalTimeController
> is adjusted so it always overrides yield behavior.
> 
> Also adding sequence checkers to protect against races on
> read access.
> 
> Bug: webrtc:10365
> Change-Id: I55c6ceb22f36ec19a4fca48cff500905192d1a16
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133167
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27658}

TBR=nisse@webrtc.org,srte@webrtc.org,titovartem@webrtc.org

Change-Id: I3b176b0ec202a047c4436e3c2136e8170faea41e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10365
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133482
Reviewed-by: Artem Titarenko <artit@google.com>
Commit-Queue: Artem Titarenko <artit@google.com>
Cr-Commit-Position: refs/heads/master@{#27669}
2019-04-17 15:39:10 +00:00
Sebastian Jansson
40889f35fc Removes TimeMicros interface from ThreadProcessingFakeClock.
Bug: webrtc:9883
Change-Id: Ib48872f81f734b09e3ffa4d9d26da79177b02303
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133341
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27668}
2019-04-17 15:37:48 +00:00
Daniel Lee
e47aee3b86 Ensure that we always set values for min and max audio bitrate.
Use (in order from lowest to highest precedence):
-- fixed 32000bps
-- fixed target bitrate from codec
-- explicit values from the rtp encoding parameters
-- Final precedence is given to field trial values from
   WebRTC-Audio-Allocation

Bug: webrtc:10487
Change-Id: I7e289f209a927785572058b6fbfdf60fa14edf05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126229
Reviewed-by: Minyue Li <minyue@google.com>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Daniel Lee <dklee@google.com>
Cr-Commit-Position: refs/heads/master@{#27667}
2019-04-17 14:40:23 +00:00
Sebastian Jansson
d624c3903c Make MessageQueue processing an optional feature of FakeClock
This is used to avoid thread processing in simulated time
controller. This saves up to 30% execution time in debug builds.

Bug: webrtc:10365
Change-Id: Ie83dfb2468d371e4687d28c776acf7e23eb411d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133173
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27666}
2019-04-17 14:10:16 +00:00
Mirta Dvornicic
8a7dcb163e Prepare to move SPS VUI rewriting out of H.264 packetizer.
- add ParseOutgoingBitstreamAndRewriteSps to SpsVuiRewriter
  which takes encoded H.264 bitstream and NAL unit boundaries,
  rewrites SPS if needed and updates the NAL unit boundaries
  accordingly
- move SPS rewriting stats updates to SpsVuiRewriter

Bug: webrtc:10559
Change-Id: I7ca21756628ee6d6abbcbd501bdb4f3df024168b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133174
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27665}
2019-04-17 13:21:30 +00:00
Sebastian Jansson
aa274d0287 Cleanup in NetworkEmulationManagerImpl.
Bug: webrtc:9883
Change-Id: I845ecd66ceda9eb8c144e4c10ff374c050413a04
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133344
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27664}
2019-04-17 13:18:10 +00:00
Henrik Boström
cf96e0f87d Implement RTCOutboundRtpStreamStats.retransmitted[Bytes/Packets]Sent.
Spec: https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-retransmittedpacketssent

These are already existed in StreamDataCounters. This CL takes care of
the plumbing of these values to the standard stats collector.

TBR=solenberg@webrtc.org

Bug: webrtc:10447
Change-Id: I27d6c3ee3ab627d306303e6ee67e586ddf31cc81
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132012
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27663}
2019-04-17 13:04:50 +00:00
Niels Möller
decc07679d Expose send parameters for RemoteEstimatorProxy for field trial.
Bug: None
Change-Id: I14c74f55ed534fff19042423dad63641bd0fa047
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133187
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27662}
2019-04-17 12:45:47 +00:00
Per Kjellander
416d5db75d Add field trial to AimdRateController to only increase while not in ALR
The idea is that when ALR is detected, the encoder can not produce the bitrate
needed for the delay based estimator to detect overuse and thus the delay based
estimator should not be allowed to increase further.
Likewise, if ALR is not detected, the delay based estimator is allowed to
increase the BWE to ensure that there is no region where the BWE can get stuck.

BUG=webrtc:10542

Change-Id: Ic94b708461c9077fd09132ee4ecb6279ffcd5f99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133190
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27661}
2019-04-17 12:05:24 +00:00
Elad Alon
979c4426a4 Rename "UpdateLayerConfig" to "NextFrameConfig"
Rename "UpdateLayerConfig" to the more appropriate "NextFrameConfig".
Also update some comments in vp8_frame_buffer_controller.h.

Bug: None
Change-Id: Iba8227f84e33e5ebd28d2eeb10fe03e776036603
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133202
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27660}
2019-04-17 11:59:07 +00:00
Elad Alon
123ee9be8f OnLossNotification() receives references
A typo in a previous CL made OnLossNotification() accept its
single argument as a const-value, rather than a const-reference.

Bug: webrtc:10501
Change-Id: I5e6f9c79f15205b75ec90a53d3fccf3dd9927e33
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133343
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27659}
2019-04-17 11:47:25 +00:00
Sebastian Jansson
491d29448e Only process cross traffic simulation if added.
This avoids extra processing overhead when there's no cross traffic
simulation active. To allow the use of SendTask, GlobalTimeController
is adjusted so it always overrides yield behavior.

Also adding sequence checkers to protect against races on
read access.

Bug: webrtc:10365
Change-Id: I55c6ceb22f36ec19a4fca48cff500905192d1a16
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133167
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27658}
2019-04-17 10:59:06 +00:00
Niels Möller
c29fa1bf67 Drop usage of legacy VCMPacketRequestCallback
It's called from VideoReceiver::Process, which we no longer use.

Bug: webrtc:7408
Change-Id: I2ce5b7a07437e110d20d04aa159dddf245504abe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133189
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27657}
2019-04-17 10:14:06 +00:00
Niels Möller
bbdf0f67b3 Don't call VideoReceiver::SetNackSettings
It configures features of the old jitter buffer which we don't use.

Bug: webrtc:7408
Change-Id: I0f0e9c20b76fb5589f12bc696022d7d2ffef0ef0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133168
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27656}
2019-04-17 08:52:20 +00:00
chromium-webrtc-autoroll
6f5e84894e Roll chromium_revision cd3b1fea2d..3904a4338b (651505:651612)
Change log: cd3b1fea2d..3904a4338b
Full diff: cd3b1fea2d..3904a4338b

Changed dependencies
* src/build: 57582c144e..a0b2e3b270
* src/ios: d7fe686bf5..b25ad32c5a
* src/testing: 8a394c7d20..e005720bc1
* src/third_party: 2dd0dc0f3a..a5fa03ace1
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/73185de866..acbf095c15
* src/tools: 0e2ddb5b1a..ba9616c509
DEPS diff: cd3b1fea2d..3904a4338b/DEPS

No update to Clang.

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

Change-Id: I2db107498264a63d5a2746c934a84bd8318add0e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133423
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@{#27655}
2019-04-17 06:36:14 +00:00
Jonas Oreland
a3aa9bd75b Make VideoBitrateAllocatorFactory injectable.
This patch makes VideoBitrateAllocatorFactory injectable
by adding to PeerConnectionDependencies instead of allowing it to be
overridden using MediaEngine (on PeerConnectionFactory).

With this patch VideoBitrateAllocatorFactory is owned
by the PeerConnection.

WANT_LGTM (examples) : sakal@
WANT_LGTM (api/pc) : steveanton@

Bug: webrtc:10547
Change-Id: I768d400a621f2b7a98795eb7f410adb48651bfd6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132706
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27654}
2019-04-17 06:17:34 +00:00
chromium-webrtc-autoroll
a1a93fba36 Roll chromium_revision 1645d3d94d..cd3b1fea2d (651391:651505)
Change log: 1645d3d94d..cd3b1fea2d
Full diff: 1645d3d94d..cd3b1fea2d

Changed dependencies
* src/base: fc5b2dc0e5..8b6a1456f6
* src/build: 1daeec1375..57582c144e
* src/ios: 29d29b7f20..d7fe686bf5
* src/third_party: 6006d39fc9..2dd0dc0f3a
* src/third_party/depot_tools: 4b79c3870c..7e7523be4e
* src/tools: fc26e4ab83..0e2ddb5b1a
DEPS diff: 1645d3d94d..cd3b1fea2d/DEPS

No update to Clang.

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

Change-Id: If457a98d7e246e66989d2c6ebda7a89dff8c3835
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133400
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@{#27653}
2019-04-16 23:34:50 +00:00
Seth Hampson
1859dc04fd Revert "Refactoring DataContentDescription class"
This reverts commit 8a9193c217.

Reason for revert: Breaks downstreams

Original change's description:
> Refactoring DataContentDescription class
> 
> This CL splits the cricket::DataContentDescription class into
> two classes: cricket::DataContentDescription (used for RTP data) and
> cricket::SctpDataContentDescription (used for SCTP only).
> 
> SctpDataContentDescription no longer inherits from
> MediaContentDescriptionImpl, and no longer contains "codecs".
> 
> Design document:
> https://docs.google.com/document/d/1H5LfQxJA2ikMWTQ8FZ3_GAmaXM7knfVQWiSz6ph8VQ0/edit#
> 
> Bug: webrtc:10358
> Change-Id: Ie7160610506aeef56d1f821b5fdb5d9492201f43
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132700
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27651}

TBR=steveanton@webrtc.org,kwiberg@webrtc.org,hbos@webrtc.org,hta@webrtc.org

Change-Id: I3b8a68cd481c41ce30eeb5ffbc5da735a9659019
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10358
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133360
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27652}
2019-04-16 20:56:06 +00:00
Harald Alvestrand
8a9193c217 Refactoring DataContentDescription class
This CL splits the cricket::DataContentDescription class into
two classes: cricket::DataContentDescription (used for RTP data) and
cricket::SctpDataContentDescription (used for SCTP only).

SctpDataContentDescription no longer inherits from
MediaContentDescriptionImpl, and no longer contains "codecs".

Design document:
https://docs.google.com/document/d/1H5LfQxJA2ikMWTQ8FZ3_GAmaXM7knfVQWiSz6ph8VQ0/edit#

Bug: webrtc:10358
Change-Id: Ie7160610506aeef56d1f821b5fdb5d9492201f43
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132700
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27651}
2019-04-16 20:34:34 +00:00