Commit Graph

35113 Commits

Author SHA1 Message Date
9e1386095b Make the code conform to the code style.
Make the jsep_transport.cc code conform to WebRTC code style.

Bug: None
Change-Id: I9142c1e83d4006988e206aeb0bbe52dfffafda60
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244600
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35631}
2022-01-05 11:28:25 +00:00
b496c32901 Enhance thread checks in BaseChannel classes.
Improve consistency between using DCHECK checkers and compile time.
For virtual methods, we were sometimes using both and in other cases
we could be using compile time checks but were using runtime.

Added annotation for last_send_params_, last_recv_params_ in
audio/video channel classes.

Also removing redundant logging for when registration with the
transport fails. This is already being logged in the demuxer.

Bug: webrtc:12230
Change-Id: I48e156c9996dec26a990151301dabc06673541d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244095
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35630}
2022-01-05 10:35:44 +00:00
a89432f94b Fix explicit ref pointer conversion of MediaStream::AddTrack
Previous cl https://webrtc-review.googlesource.com/c/src/+/244090
incorrectly updated the RemoveTrack instead of the AddTrack method,
for audio tracks.

Bug: webrtc:13464
Change-Id: If1c7688c88c4712a3bc9533aa9c7a9b22e87ac8d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244502
Commit-Queue: Niels Moller <nisse@webrtc.org>
Auto-Submit: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35629}
2022-01-05 09:56:53 +00:00
9abd74dc1e Make RtpDemuxerCriteria's mid_ and rsid_ const.
Remove unnecessary optimization from BaseChannel,
previous_demuxer_criteria_, that I'm not seeing as providing value.

Previously it was used to avoid a thread hop if a reconfiguration
wasn't needed, but the way that was done, wasn't thread safe. So after
addressing that issue, the variable more represents increased complexity
in the code than runtime efficiency.

Bug: webrtc:11993, webrtc:12230
Change-Id: Ic8e3e1d2f57e669a168cc7b5cf5d407133976e3c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244093
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35628}
2022-01-05 08:51:44 +00:00
61f70780a3 Roll chromium_revision 68d0813078..5865fbf638 (955449:955571)
Change log: 68d0813078..5865fbf638
Full diff: 68d0813078..5865fbf638

Changed dependencies
* src/base: a2971c3d33..3ee8bd9270
* src/build: 3fecbce0ba..ccde4c8b1d
* src/ios: 16324f46c6..cae0ee8937
* src/testing: d966eedf87..ae85d6c117
* src/third_party: 30cddbaa71..da52a284be
* src/third_party/androidx: auifkWa894Hu2TGfbC-0qFprVHM2Lwfx4dnvSIbn3ZIC..dSc90B4LnlIq7u5ZXhFf4wYqYTtSCSfLt81QOie5IfMC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4311fd4f16..ec88714291
* src/third_party/depot_tools: 4f141d10c1..aae6725ff0
* src/tools: cd3621d1d1..79fd0ff647
DEPS diff: 68d0813078..5865fbf638/DEPS

No update to Clang.

BUG=None

Change-Id: I947629ac430eaeb748786ad394063bf810c5dd11
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244580
Bot-Commit: 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/main@{#35627}
2022-01-05 06:21:23 +00:00
4ef6aaff42 Roll chromium_revision 78c5271178..68d0813078 (955305:955449)
Change log: 78c5271178..68d0813078
Full diff: 78c5271178..68d0813078

Changed dependencies
* src/base: 74478d47f5..a2971c3d33
* src/build: f96740745f..3fecbce0ba
* src/ios: e1335c920e..16324f46c6
* src/testing: 85eacdd9f6..d966eedf87
* src/third_party: ccbc20e5cf..30cddbaa71
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1227b26f32..4311fd4f16
* src/third_party/depot_tools: 92c05b07e4..4f141d10c1
* src/third_party/icu: b9f6d0a5c5..fbc6faf1c2
* src/third_party/perfetto: 6303738528..123bcd603d
* src/tools: 8e0c2d7bae..cd3621d1d1
DEPS diff: 78c5271178..68d0813078/DEPS

No update to Clang.

BUG=None

Change-Id: I20fabc854e2f5a615c2d8557cc64841decb72f90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244520
Bot-Commit: 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/main@{#35626}
2022-01-05 00:50:53 +00:00
aa81c6bcbe Roll chromium_revision 66ba4ea647..78c5271178 (955068:955305)
Change log: 66ba4ea647..78c5271178
Full diff: 66ba4ea647..78c5271178

Changed dependencies
* src/base: 4f0a4f4661..74478d47f5
* src/build: 44c14db3f9..f96740745f
* src/ios: f87146c860..e1335c920e
* src/testing: 3f0eed23e1..85eacdd9f6
* src/third_party: a250a5e753..ccbc20e5cf
* src/third_party/androidx: fIyF1fpX--9wg5UiZuEc0h9PjgDcvDk5sEvymVaje2IC..auifkWa894Hu2TGfbC-0qFprVHM2Lwfx4dnvSIbn3ZIC
* src/third_party/depot_tools: 30ae637731..92c05b07e4
* src/third_party/icu: fbc6faf1c2..b9f6d0a5c5
* src/third_party/perfetto: e780c370b9..6303738528
* src/tools: cdac2ec6a3..8e0c2d7bae
DEPS diff: 66ba4ea647..78c5271178/DEPS

No update to Clang.

BUG=None

Change-Id: I27e261d8f93298051095258ff51dcf0e9374a2c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244460
Bot-Commit: 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/main@{#35625}
2022-01-04 21:08:53 +00:00
09a0d0171c Deprecate RemoveTrack (old signature)
This also removes all internal usage of RemoveTrack, and changes
the replacement function to RemoveTrackOrError rather than RemoveTrackNew.

Bug: webrtc:9534
Change-Id: Idf7bb17495686de77c70428dcbfb12278328ce59
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244094
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35624}
2022-01-04 20:44:07 +00:00
e7cc8830ef Update pc/ to not use implicit T* --> scoped_refptr<T> conversion
Bug: webrtc:13464
Change-Id: I729ec2306ec0d6df2e546b5dbb530f57065d60da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244090
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35623}
2022-01-04 16:19:33 +00:00
de6e1b4ffd Use demuxer_criteria_.mid() for content_name() in BaseChannel.
BaseChannel::content_name() is consistently used as the mid throughout
the code and the mid is stored in the demuxer criteria. Furthermore
there's a chance that the two variables might not be in sync if the
mid needs to be truncated, so it's better to use one source of truth.

Bug: webrtc:11993, webrtc:12230
Change-Id: Ia98443d8ee65fd0795651981acab27c29428ba0c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244092
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35622}
2022-01-04 14:06:43 +00:00
7df775a3ed ZeroHertzAdapterMode: turn default on.
Field telemetry has shown the combination of min_fps = 0 and max_fps >
0 is unused in the wild. Therefore it's safe to turn the
WebRTC-ZeroHertzScreenshare field trial default on unless the field
trial is disabled.

go/rtc-0hz-present

Bug: chromium:1255737
Change-Id: Iea701218aa178b569333087b004106ffe2e85133
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244086
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35621}
2022-01-04 12:13:23 +00:00
aa2445a71f Roll chromium_revision c1aca8e56c..66ba4ea647 (954959:955068)
Change log: c1aca8e56c..66ba4ea647
Full diff: c1aca8e56c..66ba4ea647

Changed dependencies
* src/base: 9cbbe1bf74..4f0a4f4661
* src/build: ceecd192c9..44c14db3f9
* src/buildtools/third_party/libc++abi/trunk: 2715a6c0de..c884e7a7ce
* src/buildtools/third_party/libunwind/trunk: 4ead61094c..6a10e3e97c
* src/ios: f202360957..f87146c860
* src/testing: ff06ac4418..3f0eed23e1
* src/third_party: 0358bbe616..a250a5e753
* src/third_party/androidx: oU9I1vmEgV3UUCIufZiVCW1PLoYWiJJ1_kbjJvOV7HoC..fIyF1fpX--9wg5UiZuEc0h9PjgDcvDk5sEvymVaje2IC
* src/third_party/depot_tools: 54c265ea2b..30ae637731
* src/tools: e7de974148..cdac2ec6a3
DEPS diff: c1aca8e56c..66ba4ea647/DEPS

No update to Clang.

BUG=None

Change-Id: I905d9add89a3af69b66bef35929eee163d1a722d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244340
Bot-Commit: 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/main@{#35620}
2022-01-04 08:39:16 +00:00
2f5340b85d Update WebRTC code version (2022-01-04T04:05:09).
Bug: None
Change-Id: I4b09e46dabb444b65a36513dff482e50ba91a28f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244301
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35619}
2022-01-04 05:00:24 +00:00
ddfbf6cc19 Restrict access to BaseChannel::previous_demuxer_criteria_.
Make sure previous_demuxer_criteria_ is only accessed on the network
thread and add annotation.

Bug: webrtc:11993, webrtc:12230
Change-Id: I4700fe41c947a3b1cce9649642dcd38ed62f873d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244087
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35618}
2022-01-03 22:31:42 +00:00
94f0194d5a Remove transport_name_ from Channel.
Because of this (seemingly simple) change, I had to change the return
type of transport_name from `const std::string&` to `absl::string_view`
to handle the case when there's no transport assigned.
That in turn caused an avalanche of required updates.

Bug: webrtc:12230, webrtc:11993
Change-Id: I16ec6c6a5fc2f5f7c7de572355a3c6ca924bb9d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244084
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35617}
2022-01-03 20:51:42 +00:00
8a5ac16fbf Add ctor to RtpDemuxerCriteria to allow supplying 'mid' and 'rsid'.
Add TODO for accessing `previous_demuxer_criteria_`, currently accessed
from two threads (unsafe).

Changed RtpDemuxerCriteria to be a class, all members private with
accessor methods instead of direct variable access. Moving forward
this can allow for things like checking for thread/sequence and state
consistency.

Bug: webrtc:12517, webrtc:11993
Change-Id: I21c1b3067e988494ce6f4c6c85c62165801883bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244083
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35616}
2022-01-03 20:00:52 +00:00
e8fa1e1e7f Roll chromium_revision c1d993e97b..c1aca8e56c (954828:954959)
Change log: c1d993e97b..c1aca8e56c
Full diff: c1d993e97b..c1aca8e56c

Changed dependencies
* src/base: 8f875257ba..9cbbe1bf74
* src/build: 80108fbdb9..ceecd192c9
* src/ios: c4071d49ca..f202360957
* src/testing: 440b82bae6..ff06ac4418
* src/third_party: 55b60d9356..0358bbe616
* src/third_party/freetype/src: 4eb6cb8818..2b672e7210
* src/third_party/turbine: tJ3VP1_iZhYyYREs6I6YHVZeA5CN6drLhywrF_DFVh0C..ttEtncMGe74t-cysVW-3cc6loq-end5oDsc-Exn8WDsC
* src/tools: cd05580c8c..e7de974148
DEPS diff: c1d993e97b..c1aca8e56c/DEPS

No update to Clang.

BUG=None

Change-Id: I2c4b10a913e86e6d52272345ab4d9932860ccbee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244143
Bot-Commit: 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/main@{#35615}
2022-01-03 16:46:32 +00:00
fb8a3e4f6c Stricter sysconf(_SC_NPROCESSORS_ONLN) output check.
While the output should never be 0, in case it is, DetectNumberOfCores()
can crash because of an RTC_CHECK. Let's fall back on the default
value of 1 instead.

Bug: chromium:1282179
Change-Id: Ice083bff4222bbe7e92d789293a7c7b01b7fbd5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244088
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35614}
2022-01-03 16:34:33 +00:00
7336422fe3 Delete some unneeded references to ProcessThread.
Bug: None
Change-Id: I77528df2a8bd2d461440cf59ada8229e732a1e00
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242370
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35613}
2022-01-03 15:36:02 +00:00
2d319df955 Add a sequence checker and a few checks to RtpVideoSender.
Moving the following TODO into a bug for tracking.
  // TODO(holmer): Remove mutex_ once RtpVideoSender runs on the
  // transport task queue.

Bug: webrtc:13517
Change-Id: Ie3deb1276c2edaf9894001501ce79409f5437dd6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242368
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35612}
2022-01-03 15:32:33 +00:00
c3795ff216 Add ctor to RtpDemuxerCriteria to allow supplying 'mid' and 'rsid'.
Since another CL [1] grew a bit in scope, this CL needs to land first,
coupled with downstream updates.

[1]: https://webrtc-review.googlesource.com/c/src/+/244083

Bug: webrtc:12517, webrtc:11993
Change-Id: I80d826a0d3f3240a2cecf8cbe09842cba0902b16
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244085
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35611}
2022-01-03 14:10:03 +00:00
92f9b74df7 Refactor UpdatePayloadTypeDemuxingState and add documentation.
This simplifies the work that happens on the worker thread in
preparation of avoiding having to go to the worker at all.

Bug: webrtc:11993
Change-Id: I13f063bdecce8efdb978ef1976c819019f30e020
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244082
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35610}
2022-01-03 10:43:32 +00:00
f643aea8ac Updating OnDemuxerCriteria* notifications to be on the same thread.
This makes things slightly simpler for the time being as surrounding
code is being refactored. This also removes a PostTask which has the
effect of shrinking the window between the Pending/Complete
notifications slightly since there's no additional async task
for the 'complete' step.

Bug: webrtc:11993
Change-Id: Ia86779b21c6f87301f37d763f89ace722e06e563
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244081
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35609}
2022-01-03 10:37:02 +00:00
4163a3dae8 Simplify construction of MediaChannel classes.
Removes a few constructors where similar ones existed.
Removes MediaConfig dependency from MediaChannel and fixes an iwyu.

Bug: none
Change-Id: I9e34a1da0852c3fb21222161fad315e70598db3a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242966
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35608}
2022-01-03 10:03:53 +00:00
f1ea4170ea Added annotation for BaseChannel members.
The thread access problems have been resolved.
Also removing unnecessary accessor for was_ever_writable_.

Bug: webrtc:12230
Change-Id: I4b4d2304f0c8ff5eea31da3734b0d492b2a8516f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244080
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35607}
2022-01-03 08:55:02 +00:00
e5e7ce766b Update WebRTC code version (2022-01-03T04:03:46).
Bug: None
Change-Id: If90a59d40ba0888f71e435cf56283fdb562ca1ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244161
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35606}
2022-01-03 05:07:24 +00:00
ecf92afbf0 Roll chromium_revision a06e42ee4c..c1d993e97b (954728:954828)
Change log: a06e42ee4c..c1d993e97b
Full diff: a06e42ee4c..c1d993e97b

Changed dependencies
* src/build: af748c625f..80108fbdb9
* src/ios: 5de4ce7bcf..c4071d49ca
* src/third_party: 65c486b200..55b60d9356
* src/tools: c0e309311d..cd05580c8c
DEPS diff: a06e42ee4c..c1d993e97b/DEPS

No update to Clang.

BUG=None

Change-Id: I176dbabf702a1f5255893dc27e72bfa806a90c61
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244040
Bot-Commit: 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/main@{#35605}
2022-01-02 08:30:21 +00:00
ff93917a47 Update WebRTC code version (2022-01-02T04:05:13).
Bug: None
Change-Id: I97a9fc3171c49fd8ee3d1d72d44595b39880360a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244001
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35604}
2022-01-02 05:09:10 +00:00
a32e4ca33d Update WebRTC code version (2022-01-01T04:04:54).
Bug: None
Change-Id: I3dda6634ea3d54991214f52bfaadd28640391890
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243821
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35603}
2022-01-01 05:33:50 +00:00
f59438fd5d Roll chromium_revision 11043b06cc..a06e42ee4c (954623:954728)
Change log: 11043b06cc..a06e42ee4c
Full diff: 11043b06cc..a06e42ee4c

Changed dependencies
* src/build: b0cb70ee02..af748c625f
* src/ios: 8cbe5a8326..5de4ce7bcf
* src/third_party: b00b111612..65c486b200
* src/third_party/androidx: 0HYqmCRZlTuddZvvXxQZEmncKUkP60RtYE30fK6IGvUC..oU9I1vmEgV3UUCIufZiVCW1PLoYWiJJ1_kbjJvOV7HoC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f57af59eed..1227b26f32
* src/tools: de7397caba..c0e309311d
DEPS diff: 11043b06cc..a06e42ee4c/DEPS

No update to Clang.

BUG=None

Change-Id: Ib213371677119eaeb6ae2b55ea3a62d335f89283
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243661
Bot-Commit: 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/main@{#35602}
2021-12-31 14:28:31 +00:00
7257f0d3ec Update WebRTC code version (2021-12-31T04:05:20).
Bug: None
Change-Id: I90a6a1a4ee59cb48365af8d384183c0d6934e136
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243640
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35601}
2021-12-31 05:39:39 +00:00
d2637a3436 Remove dependency on std::sort implementation detail.
When adding samples to the counter in the test body, most of them get
added at the same time (rtc::TimeMicros()). This means that the
comparator [2] is not able to sort them explicitly (for the comparator
they are equal).

PerfTest.TestGetPerfResultsHistogramsWithStatsCounter was relying on
std::sort implementation being stable, but it is not. If stability is
needed, std::stable_sort should be used so this CL switches
::webrtc::test:GetSortedSamples() to std::stable_sort.

[1] - https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/api/numerics/samples_stats_counter.cc;l=31;drc=9d777620236ec76754cfce19f6e82dd18e52d22c
[2] - https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/test/testsupport/perf_test.cc;l=51-55;drc=a2e3d80cf6f8833ec6f2c5f8e69c2a58a52ddd62

Bug: None
Change-Id: I99a44720ce3ad577f0cdb42aa633bd73d62aeaff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242961
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35600}
2021-12-30 19:43:39 +00:00
d77b5924c8 Roll chromium_revision be59f5ef23..11043b06cc (954522:954623)
Change log: be59f5ef23..11043b06cc
Full diff: be59f5ef23..11043b06cc

Changed dependencies
* src/base: bd6c613369..8f875257ba
* src/build: 4e188b4ae8..b0cb70ee02
* src/buildtools: d7bdd6f038..f78b4b9f33
* src/ios: 06239536db..8cbe5a8326
* src/third_party: 6f9350011f..b00b111612
* src/third_party/androidx: EmIQ1bAqg5rA-0qT_leHtTk32OCMbAH8xupxqm2ZGoQC..0HYqmCRZlTuddZvvXxQZEmncKUkP60RtYE30fK6IGvUC
* src/tools: 380180a2bb..de7397caba
DEPS diff: be59f5ef23..11043b06cc/DEPS

No update to Clang.

BUG=None

Change-Id: I1c87955a07e6849b40a83ed3df6d7416c34537b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243580
Bot-Commit: 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/main@{#35599}
2021-12-30 18:17:13 +00:00
818e7fbc64 ZeroHertzAdapterMode: handle pending key frame requests.
The frame cadence adapter ignores key frame processing that happens
before the point where zero-hertz mode is activated, which leads to
no refresh frame requests if the key frame request comes too early.

Fix this to register a pending refresh frame request that gets
serviced when zero-hertz mode is activated. The CL changes the
FrameCadenceAdapterInterface::ProcessKeyFrameRequest from returning
whether to request a refresh frame into the frame cadence adapter
actively doing so itself via a new Callback::RequestRefreshFrame
API.

go/rtc-0hz-present

Bug: chromium:1255737
Change-Id: I53c2dbf6468e883eb2a2e81498e7134b1b35c336
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242963
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35598}
2021-12-30 13:37:10 +00:00
1dc8ce669e Update WebRTC code version (2021-12-30T04:01:59).
Bug: None
Change-Id: I4892ea9297f1619858631d9ea0c7df2df18f5515
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243501
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35597}
2021-12-30 04:40:49 +00:00
641c6562d9 Roll chromium_revision b0c2e7c32d..be59f5ef23 (954422:954522)
Change log: b0c2e7c32d..be59f5ef23
Full diff: b0c2e7c32d..be59f5ef23

Changed dependencies
* src/build: 749c5bbaf9..4e188b4ae8
* src/ios: 168652c4ae..06239536db
* src/testing: 1fe0ea3f1d..440b82bae6
* src/third_party: 7953ac1473..6f9350011f
* src/third_party/androidx: VTVM0sp0g6V3r0Xu657xR828R_Xr0j8TOoc3P4u8rjcC..EmIQ1bAqg5rA-0qT_leHtTk32OCMbAH8xupxqm2ZGoQC
* src/third_party/perfetto: 78be2dc30c..e780c370b9
* src/tools: 1062aa37bc..380180a2bb
DEPS diff: b0c2e7c32d..be59f5ef23/DEPS

No update to Clang.

BUG=None

Change-Id: I5090ea7198241be1f100eda32c741d5e686a52b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243481
Bot-Commit: 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/main@{#35596}
2021-12-30 00:15:10 +00:00
90a7e2ceba ZeroHertzAdapterMode: do not dead-reckon repeated frame timestamps.
Timestamps are currently dead-reckoned for repeated frames in
zero-hertz mode. This leads to an ever increasing
totalPacketSendDelay metric in chrome://webrtc-internals which is
bad.

Fix this by tracking the origin timestamp of the first delay and
measuring time's progression since then. A unit test was added
which fails with the previous version.

go/rtc-0hz-present

Bug: chromium:1255737
Change-Id: I8627b91424f9bc56305b1dbd6a4c0624b6b3669d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242863
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35595}
2021-12-29 23:14:47 +00:00
cb237f8822 ZeroHertzAdapterMode: reset convergence info on key frame requests.
The QP value of encoded key frames is normally very large. However,
the zero-hertz mode is retaining quality convergence info, leading
to only a single short repeat on key frame request when idle
repeating.

Fix this by resetting quality convergence information on key frame
requests, ensuring zero-hertz mode goes back to idle repeating
only when quality has converged again.

go/rtc-0hz-present

Bug: chromium:1255737
Change-Id: Ia1ad686cc98007f01c8aaef9162011837575938c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242862
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35594}
2021-12-29 22:03:11 +00:00
e59fee87fb ZeroHertzAdapterMode: activate earlier.
Careful analysis of logs related to the requesting of refresh
frames from the source revealed an uncomfortable truth:
zero-hertz mode activates first when the first frame has been
received in the VideoStreamEncoder, because the number of simulcast
layers can only be computed when frame dimensions are known. This
fact means that the currently implemented logic for requesting
refresh frames is noneffective.

Fix this by
1. Activating zero-hertz mode prior of knowing the final layer
count. This causes refresh frame requests to happen without any
frames received from the source.
2. Making layer count dynamically configurable. Zero-hertz mode
considers layer quality unconverged after such a reconfiguration.

go/rtc-0hz-present

Bug: chromium:1255737
Change-Id: I0ecea4d2a8442a00e3b79b146dd39a5f4ac561d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242860
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35593}
2021-12-29 20:28:38 +00:00
5065e5b922 Don't configure frame dropping externally for screenshare.
Legacy code depended of setting VideoCodecVP8::frameDroppingOn to false
for screensharing since the reference frame management handles frame
dropping in the VP8 wrapper instead.
Now the frame dropping is instead configured based on what the
Vp8FrameBufferController instance in use signals.

This change unblocks relanding
https://webrtc-review.googlesource.com/c/src/+/242366

This CL also turns frame dropping on for H264 screenshare, which
should be desirable as it allows for quicker recovery from rate control
overshoots.

Bug: webrtc:9734
Change-Id: I34a29edcd41bb5fd07f7f9bf68660472a1570533
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242965
Reviewed-by: Markus Handell <handellm@webrtc.org>
Auto-Submit: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35592}
2021-12-29 17:02:38 +00:00
5e180749a1 Revert "Disable frame dropping from codec settings."
This reverts commit 34aba3cefd9519a8da6700f725a9e2d99ee2ef61.

Reason for revert: Has unintended consequences for vp8 simulcast screenshare.

Original change's description:
> Disable frame dropping from codec settings.
>
> This was broken in https://webrtc-review.googlesource.com/c/src/+/99062/
>
> Bug: webrtc:9734
> Change-Id: Ibce41a732cb2e943354c87fbb05be0dd218acf27
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242366
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35568}

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

Bug: webrtc:9734
Change-Id: I8a4758f6e915f40f89cc45f9530838b6cf6d1a49
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242964
Reviewed-by: Erik Språng <sprang@webrtc.org>
Auto-Submit: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35591}
2021-12-29 12:22:27 +00:00
84fb0026a2 Roll chromium_revision f75f0b8f62..b0c2e7c32d (954313:954422)
Change log: f75f0b8f62..b0c2e7c32d
Full diff: f75f0b8f62..b0c2e7c32d

Changed dependencies
* src/build: 462a82df25..749c5bbaf9
* src/ios: 462d5254cb..168652c4ae
* src/third_party: 2e886b1197..7953ac1473
* src/third_party/androidx: T1xLQ19tBMDplJVIjE0oQDQyh83bAxc2LpkFb0_-doYC..VTVM0sp0g6V3r0Xu657xR828R_Xr0j8TOoc3P4u8rjcC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1a34b98c2c..f57af59eed
* src/tools: ec5ecbda30..1062aa37bc
DEPS diff: f75f0b8f62..b0c2e7c32d/DEPS

No update to Clang.

BUG=None

Change-Id: I77102f06ed4ae2bd3394257be8d1b9a5e01845b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243420
Bot-Commit: 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/main@{#35590}
2021-12-29 10:51:07 +00:00
28cd164ac7 Update style guide about C++17
Bug: None
Change-Id: Ic1ec302d317232291a3ec54fa7a6fa28c8635c1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242960
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35589}
2021-12-29 08:06:27 +00:00
a2631ce89f Replacing deprecated APIs with C++11 standard library facility [D33027868]
Bug: webrtc:13503
Change-Id: I78a30fdbccc2e626d07d4e42196212be2ef0dfc6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242140
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35588}
2021-12-29 07:56:37 +00:00
05af1b10aa Update WebRTC code version (2021-12-29T04:02:35).
Bug: None
Change-Id: Ic29bf5f696924471f96d976d1b7bd6648d671046
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243403
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35587}
2021-12-29 05:27:46 +00:00
6850e5bb83 Roll chromium_revision 10b1a4e996..f75f0b8f62 (954201:954313)
Change log: 10b1a4e996..f75f0b8f62
Full diff: 10b1a4e996..f75f0b8f62

Changed dependencies
* src/base: 47608bedba..bd6c613369
* src/build: 8e17ddaba6..462a82df25
* src/ios: f848717fb2..462d5254cb
* src/testing: 8b481a24d8..1fe0ea3f1d
* src/third_party: 5ccc61b96b..2e886b1197
* src/third_party/androidx: aNEaWiBOVBdNuhdjf8KDoZIFxxGWW8eg-kvRJk4jHDMC..T1xLQ19tBMDplJVIjE0oQDQyh83bAxc2LpkFb0_-doYC
* src/third_party/freetype/src: d6a5c57727..4eb6cb8818
* src/third_party/googletest/src: d81ae2f0bf..6b74da4757
* src/third_party/turbine: RGxvdzLaS73gQOXCTgq7CWKsqCgrXDPPL0Pcxz6oGbQC..tJ3VP1_iZhYyYREs6I6YHVZeA5CN6drLhywrF_DFVh0C
* src/tools: 233fba6bb7..ec5ecbda30
DEPS diff: 10b1a4e996..f75f0b8f62/DEPS

No update to Clang.

BUG=None

Change-Id: Id5b5cb85626b135a2c2e4b97c891cdb0233e48af
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243341
Bot-Commit: 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/main@{#35586}
2021-12-28 18:47:58 +00:00
4fce361d2a Update WebRTC code version (2021-12-28T04:04:53).
Bug: None
Change-Id: I60009df12a188f9ca7c83b76ddbfe75f6e0345bc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243321
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35585}
2021-12-28 05:11:06 +00:00
59ec975564 Roll chromium_revision 7ee7048386..10b1a4e996 (954096:954201)
Change log: 7ee7048386..10b1a4e996
Full diff: 7ee7048386..10b1a4e996

Changed dependencies
* src/base: daa57c0cff..47608bedba
* src/build: fda7db7e5b..8e17ddaba6
* src/ios: 5149161f4a..f848717fb2
* src/third_party: 578c5e6677..5ccc61b96b
* src/third_party/androidx: uCdjLL9wK03L3vQeI9K5L_Ovx5AWKs8f8eNg9amENjIC..aNEaWiBOVBdNuhdjf8KDoZIFxxGWW8eg-kvRJk4jHDMC
* src/tools: 70766f6afc..233fba6bb7
DEPS diff: 7ee7048386..10b1a4e996/DEPS

No update to Clang.

BUG=None

Change-Id: I536f8f6a8331188fc03b55b09aeca7cbe894f132
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243263
Bot-Commit: 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/main@{#35584}
2021-12-27 16:36:45 +00:00
020dec365c Update WebRTC code version (2021-12-27T04:01:58).
Bug: None
Change-Id: Ibabcf074bfe57bd035b3ba6448de6c2bb03d774a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243220
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35583}
2021-12-27 05:02:04 +00:00
19ebfec1e0 Update WebRTC code version (2021-12-26T04:03:42).
Bug: None
Change-Id: I08fd5831397c031f816d22217c0bd59e479349ad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243121
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35582}
2021-12-26 05:31:34 +00:00