Commit Graph

30920 Commits

Author SHA1 Message Date
eac08bfe23 Reland "Wire up internal libvpx VP9 scaler to statistics proxy"
This reverts commit a2cb93d8b9659292f7ec73db53421d481f84c22c.

Reason for revert: Reland with no changes after downstream projects are
updated.

Original change's description:
> Revert "Wire up internal libvpx VP9 scaler to statistics proxy"
> 
> This reverts commit 50327a51007c3e25bc3bcd35b5d0945fe0f27d05.
> 
> Reason for revert: Breaks downstream tests
> 
> Original change's description:
> > Wire up internal libvpx VP9 scaler to statistics proxy
> > 
> > Bug: webrtc:11396
> > Change-Id: I5ac69208b00cc75d4e5dbb3ab86f234b3e1f29f8
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169922
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Reviewed-by: Henrik Boström <hbos@webrtc.org>
> > Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30725}
> 
> TBR=ilnik@webrtc.org,hbos@webrtc.org,nisse@webrtc.org
> 
> Change-Id: I53dcb41bdf8f8dccfcd43b717509ec047f590648
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:11396
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170102
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30734}

TBR=ilnik@webrtc.org,hbos@webrtc.org,nisse@webrtc.org,srte@webrtc.org

Change-Id: Ie47df4aec199701256c1dba8fa64176683becabc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11396
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170105
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30738}
2020-03-10 11:15:51 +00:00
7427fc6560 Hand protos directly to histograms and fix summary.
The catapult code has learned how to deserialize protos, so we don't
need JSON as a middle step.

Also, set summary options to false for now to avoid polluting the
dashboard with _avg, _count for each metric. We don't use those
anyway. The durable solution is to set these from the histogram
writer, but catapult doesn't read the summary options correctly
from the proto yet.

Bug: chromium:1029452
Change-Id: I59d300fd34d36df836064ff41f6d0bf75bd6695e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170104
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30737}
2020-03-10 10:43:17 +00:00
c782263e5f Whitespace change to kick bots.
TBR: phoglund@webrtc.org
Bug: None
No-Try: True
No-Tree-Checks: true
Change-Id: I7c39b96c59ab074809137b10e31d722a1c43d098
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170106
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30736}
2020-03-10 10:21:56 +00:00
3bdc5e9a5f Delete ACMVADCallback
This callback is enabled via the method
AudioCodingModule::RegisterVADCallback, which is unused, and deleted
in this cl.

Bug: None
Change-Id: I04c8690fbb673305e69fe5b1c32d88efd6c72d1b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/148420
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30735}
2020-03-10 09:53:46 +00:00
a2cb93d8b9 Revert "Wire up internal libvpx VP9 scaler to statistics proxy"
This reverts commit 50327a51007c3e25bc3bcd35b5d0945fe0f27d05.

Reason for revert: Breaks downstream tests

Original change's description:
> Wire up internal libvpx VP9 scaler to statistics proxy
> 
> Bug: webrtc:11396
> Change-Id: I5ac69208b00cc75d4e5dbb3ab86f234b3e1f29f8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169922
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30725}

TBR=ilnik@webrtc.org,hbos@webrtc.org,nisse@webrtc.org

Change-Id: I53dcb41bdf8f8dccfcd43b717509ec047f590648
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11396
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170102
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30734}
2020-03-10 08:09:50 +00:00
137991396d Make a switch to disable DTLS 1.0, TLS 1.0 and TLS 1.1 downgrade in WebRTC.
This reverts commit af1f8655b2cb69af382396ea642eb0a2bf04bb4d

Landing the change with default set to
"enabled" (DTLS 1.0 will continue to work by default),
so that flipping the default can be a separate CL.

Original change's description:
> 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}

Bug: webrtc:10261
Change-Id: I28c6819d37665976e396df280b4abf48fb91d533
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169851
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30733}
2020-03-09 19:23:44 +00:00
30026214b1 Fix for out-of-bounds write in square test frame generator.
The length is set on construction and includes an assumption on the
image resolution, if the resolution changes, a square might be larger
than what fits into the buffer, causing an out of bounds write. This
CL fixes this simply by restricting the size of the square.

Bug: webrtc:11415
Change-Id: Iee14a1971997b4ae2fddef0a7af7c76a2509e879
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170042
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30732}
2020-03-09 18:55:04 +00:00
a1ac244222 Roll chromium_revision b57f55e230..5a78076ccc (748149:748288)
Change log: b57f55e230..5a78076ccc
Full diff: b57f55e230..5a78076ccc

Changed dependencies
* src/build: 327f11a8a9..37411900cf
* src/ios: a8e95a62cb..21082355b1
* src/testing: 7ed56a7b56..e2d1db790b
* src/third_party: df5a2bad6c..e356b32dbc
* src/tools: b6ba24198b..8da3555008
DEPS diff: b57f55e230..5a78076ccc/DEPS

No update to Clang.

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

Change-Id: I084534a3eb13a6671394d781c41a44f8bdd24f57
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170067
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@{#30731}
2020-03-09 18:43:04 +00:00
c77108446e Remove RTC_NOTREACHED from audio_send_stream when ANA didn't work
Bug: None
Change-Id: Id3181827470aba8e486073380911db5873c7dd0a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169800
Commit-Queue: Alejandro Luebs <aluebs@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30730}
2020-03-09 17:44:42 +00:00
21bccae341 Add NtpTimeMs as a method in EncodedImage.
Bug: b/151082828
Change-Id: Idaa6848f952f9cc9458899680d19ddf338a3ace1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170044
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30729}
2020-03-09 17:00:09 +00:00
4e1d6ce384 Rename java VideoCodecType to VideoCodecMimeType
to avoid collission and confusion with VideoCodeType based on
c++ enum with the same name.

Bug: b/148146536
Change-Id: I049cce21d59f454c7ce507fdfc3a85d168f96223
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170048
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30728}
2020-03-09 15:27:45 +00:00
afa2e5f18c Purge phoglund from most OWNERS files.
I'll hold on to the root OWNER for a bit longer for convenience.

Bug: None
Change-Id: I13303ba726fed612adc74008eeaaeadf9595e084
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170047
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30727}
2020-03-09 14:08:30 +00:00
9df698c804 Add |rids| and |mid| printout to RtpConfig::ToString().
Bug: webrtc:11416
Change-Id: I4f5ed0f2b6e514900f97ccedd4a1a9e41952433e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170046
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30726}
2020-03-09 14:07:25 +00:00
50327a5100 Wire up internal libvpx VP9 scaler to statistics proxy
Bug: webrtc:11396
Change-Id: I5ac69208b00cc75d4e5dbb3ab86f234b3e1f29f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169922
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30725}
2020-03-09 13:47:25 +00:00
f87536c9de Reland "Reland "Refactors UlpFec and FlexFec to use a common interface.""
This is a reland of 49734dc0faa69616a58a1a95c7fc61a4610793cf

Patchset 2 contains a fix for the fuzzer set up. Since we now parse
an RtpPacket out of the fuzzer data, the header needs to be correct,
otherwise we fail before even reaching the FEC code that we actually
want to test.

Bug: webrtc:11340, chromium:1052323, chromium:1055974
TBR=stefan@webrtc.org

Original change's description:
> Reland "Refactors UlpFec and FlexFec to use a common interface."
>
> This is a reland of 11af1d7444fd7438766b7bc52cbd64752d72e32e
>
> Original change's description:
> > Refactors UlpFec and FlexFec to use a common interface.
> >
> > The new VideoFecGenerator is now injected into RtpSenderVideo,
> > and generalizes the usage.
> > This also prepares for being able to genera FEC in the RTP egress
> > module.
> >
> > Bug: webrtc:11340
> > Change-Id: I8aa873129b2fb4131eb3399ee88f6ea2747155a3
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168347
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> > Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> > Commit-Queue: Erik Språng <sprang@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30515}
>
> Bug: webrtc:11340, chromium:1052323
> Change-Id: Id646047365f1c46cca9e6f3e8eefa5151207b4a0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168608
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30593}

Bug: webrtc:11340, chromium:1052323
Change-Id: Ib8925f44e2edfcfeadc95c845c3bfc23822604ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169222
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30724}
2020-03-09 13:41:35 +00:00
269d68f521 Whitespace change to kick bots.
Testing recipe change.

Change-Id: I9f5b335c93918fce887c360a7005f8272c958163
Tbr: mbonadei@webrtc.org
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170045
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30723}
2020-03-09 12:32:45 +00:00
2d525fe9bd Fix compile all in debug mode.
This CL fixes the build for the meta taret "all"
(ninja -C out/Debug all).

More interestingly fixes cascaded_biquad_filter_unittest.cc which
seems not to be run at the moment.

Bug: webrtc:11411
Change-Id: I3d5f83c3898cca96aff8fbdad97d7b48caa9fffa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169858
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30722}
2020-03-09 12:05:02 +00:00
6a29eb1c0c Update ObjC video decoder factory to use same parameters as encoder factory
Bug: chromium:1029737
Change-Id: I941bd29cb8e1dd018ee78157afe170ba78af4392
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169853
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30721}
2020-03-09 11:25:42 +00:00
13188a24a4 Roll chromium_revision 599bebd371..b57f55e230 (747722:748149)
Change log: 599bebd371..b57f55e230
Full diff: 599bebd371..b57f55e230

Changed dependencies
* src/base: 510b7ecbb8..cb9c7743fc
* src/build: 44dc091113..327f11a8a9
* src/ios: bde6307bea..a8e95a62cb
* src/testing: bc51682ed5..7ed56a7b56
* src/third_party: a7eaf26578..df5a2bad6c
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/b3bfbaa321..c5f5b9e951
* src/third_party/depot_tools: ee8be8a368..ffd02955e6
* src/third_party/libvpx/source/libvpx: 55f2e4a0a8..5532775efe
* src/tools: 2f4e2dfcc9..b6ba24198b
DEPS diff: 599bebd371..b57f55e230/DEPS

No update to Clang.

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

Change-Id: Ibec1a2c7a29757b6b7cb905f29b0c06e18085fae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170063
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@{#30720}
2020-03-09 10:45:35 +00:00
c93abcb341 VP9 test: change threshold to allow resizing for twice
Recent change in libvpx allows a second resize for low resolution.

Bug: None
Change-Id: I45a7ce376b274778b2fa183346de1993ef43bde7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169941
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30719}
2020-03-09 09:56:05 +00:00
ff9b8cccfc Whitespace change to kick bots.
Testing recipe change.

Change-Id: I46645757fffa90eba3d9a4277a9eff135d9dd2c6
Tbr: mbonadei@webrtc.org
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170041
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30718}
2020-03-09 09:31:24 +00:00
39be828c84 Add commas between codec parameters in VideoReceiveStream logging.
Meaning you'll see "{foo: 1, bar: 2}" instead of "{foo: 1bar: 2}".

Bug: None
Change-Id: I7494ad9ac154c4280036c9ff6cbd0466e2a2e2d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/78580
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Taylor <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30717}
2020-03-09 02:45:34 +00:00
c5d8edb322 Remove old FakeVP8Encoder alias.
Bug: None
Change-Id: I834a9caad49d47898b826e6be491f663445b6b44
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169856
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Nikita Zetilov <zetilovn@google.com>
Cr-Commit-Position: refs/heads/master@{#30716}
2020-03-06 17:25:15 +00:00
04f7bfc419 Roll chromium_revision 4dc8a31053..599bebd371 (747587:747722)
Change log: 4dc8a31053..599bebd371
Full diff: 4dc8a31053..599bebd371

Changed dependencies
* src/base: 61e8827cfc..510b7ecbb8
* src/build: e393474c8c..44dc091113
* src/ios: d6be293d4c..bde6307bea
* src/testing: bf1933a3b7..bc51682ed5
* src/third_party: 4e9cdeb786..a7eaf26578
* src/tools: 1ae8daf4c5..2f4e2dfcc9
* src/tools/luci-go: git_revision:02ba678a47594da180904851f3e6f809da7e0fc5..git_revision:3d22d4e5a77a3d9cbe4b1bf5ed2fc85b61c1e3e6
* src/tools/luci-go: git_revision:02ba678a47594da180904851f3e6f809da7e0fc5..git_revision:3d22d4e5a77a3d9cbe4b1bf5ed2fc85b61c1e3e6
* src/tools/luci-go: git_revision:02ba678a47594da180904851f3e6f809da7e0fc5..git_revision:3d22d4e5a77a3d9cbe4b1bf5ed2fc85b61c1e3e6
DEPS diff: 4dc8a31053..599bebd371/DEPS

Clang version changed 61f538d37b80eb589f8990f0b4513d702704ea38:9284abd0040afecfd619dbcf1b244a8b533291c9
Details: 4dc8a31053..599bebd371/tools/clang/scripts/update.py

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

Change-Id: I8f795e27ac6e723f6bdb68416295ece0dba624a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169904
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@{#30715}
2020-03-06 16:38:54 +00:00
8d9f750580 [Overuse] Make EffectiveDegradationPreference() private.
The EffectiveDegradationPreference() exposed an "implementation detail"
of the VideoStreamAdapter - how degradation preference may be modified.

By changing the return value of ApplyAdaptationTarget() this dependency
could be removed. We still have a TODO to get rid of the
ResourceListenerResponse enum, but that is QualityScaler related work.

This CL does the following:
- Module's GetAdaptUpTarget/GetAdaptDownTarget/ApplyAdaptationTarget
  methods are removed in favor if invoking the VideoStreamAdapter's
  version of these methods directly.
- Removing the EffectiveDegradationPreference() usage in
  OveruseFrameDetectorResourceAdaptationModule meant moving that usage
  to VideoStreamAdapter.
- MinPixelsPerFrame() is moved to VideoStreamAdapter; this is "can
  adapt?" logic, i.e. the adapter's responsibility.

Bug: webrtc:11393
Change-Id: I75091ce97093bfa48a6d883492de30ed4b004492
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169859
Reviewed-by: Evan Shrubsole <eshr@google.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30714}
2020-03-06 16:31:44 +00:00
01ab084f47 Add minimum overhead to configured priorty bitrate instead of maximum.
This makes an assumption that if we have variable frame length then we
will increase payload bitrate up to priority bitrate before adapting the
frame length.

Bug: webrtc:11001
Change-Id: Iec51d5ccce053d55ccd30a9e4712765227e10852
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169852
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30713}
2020-03-06 15:44:21 +00:00
c0bdf1e361 Feed the clock skew to AbsoluteCaptureTimeReceiver.
Bug: webrtc:10739
Change-Id: Iebfb0a59f5c2c7d6a9c7e73d2b6a12985448491e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169850
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Chen Xing <chxg@google.com>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30712}
2020-03-06 15:38:31 +00:00
4940e08f6b Cleanup: Improving readability in AimdRateControl
Bug: webrtc:9883
Change-Id: I780772c939f7baf34e31da86c675fb3299505b22
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169841
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30711}
2020-03-06 15:13:10 +00:00
37e388ad2d Refactor TimestampAligner for more general use.
This only changes the comments and rename variables.

Bug: chromium:1054403
Change-Id: Ie7419ca23e482361e9f90405587b8c8f839b26d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169101
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30710}
2020-03-06 15:05:00 +00:00
d14525eb59 Make sure that the audio stream is allocated with the correct overhead.
This fixes two cases when the allocation is not updated correctly:
- The frame length range is not updated when audio network adaptor is enabled.
- The per-packet overhead is not updated unless the bitrate observer has been reconfigured.

Bug: webrtc:11001
Change-Id: I2ee25f956741a4be08661f874556582dd60a3bd0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169848
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30709}
2020-03-06 14:49:37 +00:00
b0f2e0ced4 [Overuse] Make VideoStreamAdapter responsible for executing adaptation.
This CL moves GetAdaptUpTarget(), GetAdaptDownTarget() and
ApplyAdaptationTarget() - and related code - to the VideoStreamAdapter.

This includes pieces related to calculating how to adapt, including:
- DegradationPreference
- BalancedDegradationPreference
- AdaptationRequest and last_adaptation_request_
- CanAdaptUpResolution()

The VideoStreamAdapter's interface has changed: VideoSourceRestrictor
methods are now hidden in favor of methods exposing AdaptationTarget.

This CL also does some misc moves:
- GetEncoderBitrateLimits is moved and renamed to
  VideoEncoder::EncoderInfo::GetEncoderBitrateLimitsForResolution.
- EncoderSettings moved to a separate file.

// For api/video_codecs/video_encoder.[cc/h] changes, which is the
// moving of a function.
TBR=sprang@webrtc.org

Bug: webrtc:11393
Change-Id: Ie6bd8ef644ce927d7eca6ab90a0a7bcace682f3c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169842
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30708}
2020-03-06 13:35:20 +00:00
74dadc1e8e Ready to support of absolute capture timestamp header extension.
This does not add it in default SDP offer.

Bug: webrtc:10739
Change-Id: I4e73f4497989fc34f3676927921a4dabb5926096
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169729
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30707}
2020-03-06 13:16:29 +00:00
36f4fa7d4c Correct email address in OWNERS file.
eshr@ uses google.com, not webrtc.org.

TBR=eshr@webrtc.org, eshr@google.com
NOTRY=True

Bug: None
Change-Id: Ib12b32af8444a915926c6ed019e9641343812edc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169857
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30706}
2020-03-06 12:28:31 +00:00
efbec9a304 [Overuse] Initial version of VideoStreamAdapter (Restrictor moved).
This CL simply moves the VideoSourceRestrictor from being an inner class
of OveruseFrameDetectorResourceAdaptationModule to a new class,
VideoStreamAdapter.

In follow-up CLs, the responsibility of determining what the next step
for adapting up or down should also be moved to the VideoStreamAdapter.

The end-goal is that the VideoStreamAdapter takes care of "can adapt?"
and "do adapt!" type of logic so that a multi-stream aware adaptation
module can decide which stream (adapter) to adapt, and the adapter can
take care of the nitty gritty details of doing so.

In this CL the "can?"/"do!" part is realized but not the logic for
determining what the next step up or down is, and the class interface
needs improvement.

This CL also sets up the video/adaptation/ subdirectory and moves the
AdaptationCounters class here. Other adaptation-related classes (e.g.
the module and its resources) should move into this directory as well
in the future.

Bug: webrtc:11393
Change-Id: I2c12c1281eca854c62791abb65f0aca47a119726
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169542
Reviewed-by: Evan Shrubsole <eshr@google.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30705}
2020-03-06 12:20:01 +00:00
f351cfffe2 Migrate RtcpTransceiver to use webrtc::TaskQueueBase instead of rtc::TaskQueue
This changes removes an extra layer of indirection
since RtcpTransceiver doesn't own TaskQueue it uses.

Bug: None
Change-Id: Ie1ef4cd8c3fb18a8e0b7ddaf0d6a319392b9e9f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126040
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30704}
2020-03-06 11:26:51 +00:00
8e9fd4857e Fix FakeVp8Encoder name.
Bug: None
Change-Id: Iaa11a452fcb6fb6f33d1396eb4e6fe9c050166ad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169845
Commit-Queue: Nikita Zetilov <zetilovn@google.com>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30703}
2020-03-06 11:12:21 +00:00
10aeb7403f Rename index.md to README.md to make it automatically show up
Also add a heading to each file.

No-Try: True
Bug: webrtc:11335
Change-Id: I5e935741662558e72e417fa80a48c5ecda66c5f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169854
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30702}
2020-03-06 10:43:51 +00:00
33be9dfe7a Replace AdaptCount with a single counter.
There is still a counter for the active counts for the
scaling, but these will be removed at a later date.

BUG=webrtc:11392

Change-Id: Ie9bcf3f744a0bbac601f0da61197f4bac1e9f879
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169447
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#30701}
2020-03-06 08:43:47 +00:00
d3da6b05c1 Move EventWrapper class to target video_coding_legacy.
And remove some unneeded logic for WEBRTC_EVENT_INFINITE.

Bug: webrtc:3380
Change-Id: Ibf632493edc6ced1609bd9ced44c2020fe9878cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169846
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30700}
2020-03-06 08:39:35 +00:00
ae9641b6d8 Roll chromium_revision 70eb5f7c71..4dc8a31053 (747482:747587)
Change log: 70eb5f7c71..4dc8a31053
Full diff: 70eb5f7c71..4dc8a31053

Changed dependencies
* src/base: ab0a88b5de..61e8827cfc
* src/build: 2681c0858d..e393474c8c
* src/ios: aa035f4191..d6be293d4c
* src/testing: f85cfa6a31..bf1933a3b7
* src/third_party: 041588241a..4e9cdeb786
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2e60acad14..b3bfbaa321
* src/third_party/depot_tools: 99df04e8aa..ee8be8a368
* src/third_party/icu: 49ee7b1d18..0b6134378c
* src/tools: b66d37be6a..1ae8daf4c5
Added dependency
* src/third_party/android_deps/libs/com_google_protobuf_protobuf_javalite
Removed dependency
* src/third_party/android_deps/libs/com_google_protobuf_protobuf_lite
DEPS diff: 70eb5f7c71..4dc8a31053/DEPS

No update to Clang.

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

Change-Id: I39c8fe36cd0ad52000db1ad2d760f9d7a3afdce9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169880
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@{#30699}
2020-03-06 06:33:23 +00:00
5415e4d9ae Roll chromium_revision 4ea51a0a6f..70eb5f7c71 (747324:747482)
Change log: 4ea51a0a6f..70eb5f7c71
Full diff: 4ea51a0a6f..70eb5f7c71

Changed dependencies
* src/base: f22bc9518d..ab0a88b5de
* src/build: 9d6e4ad066..2681c0858d
* src/ios: a30fa65f8e..aa035f4191
* src/testing: 4e83f5abfa..f85cfa6a31
* src/third_party: 17b57ffc06..041588241a
* src/third_party/depot_tools: 3ccfc90f50..99df04e8aa
* src/tools: 2770ccf1fc..b66d37be6a
DEPS diff: 4ea51a0a6f..70eb5f7c71/DEPS

No update to Clang.

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

Change-Id: I832e570a7f16d58fa1bea351b1b5a81f6c2dda0e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169864
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@{#30698}
2020-03-06 00:39:17 +00:00
45affde3a9 Roll chromium_revision 2d9b6439f0..4ea51a0a6f (746902:747324)
Change log: 2d9b6439f0..4ea51a0a6f
Full diff: 2d9b6439f0..4ea51a0a6f

Changed dependencies
* src/base: b2edb1de54..f22bc9518d
* src/build: b04917d42d..9d6e4ad066
* src/ios: 0e97c075f4..a30fa65f8e
* src/testing: b36dfa5cdf..4e83f5abfa
* src/third_party: 26c37119b0..17b57ffc06
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/bbd4f3e605..2e60acad14
* src/third_party/depot_tools: ec2a6ce270..3ccfc90f50
* src/tools: 39818018be..2770ccf1fc
DEPS diff: 2d9b6439f0..4ea51a0a6f/DEPS

No update to Clang.

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

Change-Id: I19bd3fd148fa0367b188b8658baf738c13a96162
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169861
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@{#30697}
2020-03-05 18:45:56 +00:00
b1e0618e89 Add printout of supported codecs in PC test framework
Bug: None
Change-Id: Ib4fbbc3e782b8478ccf4eef72ebd74bc040b5f18
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169731
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30696}
2020-03-05 18:05:26 +00:00
0360dc490b Fix RtpReplayer so what vp9 fuzzer would work
Replayer isn't triggered in any pre- or post-submit checks
and is built only as a part of fuzzers. Therefore it got out of sync
with the requirement of Call::Config::trials being set.

Bug: chromium:1030755
Change-Id: I467a5fa19137020f6fc748b6adb6f82a8a88f9d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169847
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30695}
2020-03-05 17:27:01 +00:00
987ef48258 Adds field trial to separate audio and video packets for delay-based overuse detection.
The decision to route audio packets to a separate overuse detector
is off by default and requires the field trial
WebRTC-Bwe-SeparateAudioPackets/enabled,packet_threshold:10,time_threshold:1000ms/
The parameters control the threshold for switching over to the
audio overuse detector if we stop receiving feedback for video.

Bug: webrtc:10932
Change-Id: Icdde35bc7a98b18b1a344bd2d620a890fd9421d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168342
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30694}
2020-03-05 16:29:55 +00:00
822c373986 Always limit delay based bitrate by the acknowledged rate.
This fixes an issue where the delay based target bitrate would increase
unlimited when the WebRTC-DontIncreaseDelayBasedBweInAlr is set.

Bug: webrtc:10542
Change-Id: I1aaf0835a91efc27e95198812b6833dbc24a1485
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169843
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30693}
2020-03-05 15:18:05 +00:00
bb701b7b46 Fix dependency templates for VP8 3 temporal layers
Bug: None
Change-Id: I3c34fb949ba73c32cd36375aa5b96eeb1c11fc42
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169730
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30692}
2020-03-05 14:49:05 +00:00
b05ca4b616 Implement new specification for degradation preference
The degradation preference is now based on the content hint of the track
if it's unspecified.

Bug: webrtc:11164
Change-Id: Iaa0dbf1c1bf68a46fc5131e534d423c30c5439c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161233
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30691}
2020-03-05 14:24:25 +00:00
3c91b31162 Fix potential deadlock during release of quality analyzing codecs
Bug: webrtc:11407
Change-Id: I45637e39a03a385e0544d4de06786b9508b25ce8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169728
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30690}
2020-03-05 10:51:41 +00:00
e66550008a Make Connection::id() const
Bug: None
Change-Id: I9145ba5e8ad9f80aec047227aa0a95858354fd1a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169725
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30689}
2020-03-05 09:30:18 +00:00