Commit Graph

36455 Commits

Author SHA1 Message Date
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
cc494f3c9d Roll chromium_revision f6bf4a6d25..7ee7048386 (953991:954096)
Change log: f6bf4a6d25..7ee7048386
Full diff: f6bf4a6d25..7ee7048386

Changed dependencies
* src/build: aad1379f06..fda7db7e5b
* src/ios: f65eadb1f1..5149161f4a
* src/third_party: e451ecd418..578c5e6677
* src/third_party/androidx: aaokkxPemSJZijMa3UcEE57MN52L-Z3Xldi7x5si6VwC..uCdjLL9wK03L3vQeI9K5L_Ovx5AWKs8f8eNg9amENjIC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/390aa6fa4b..1a34b98c2c
* src/tools: 3214007218..70766f6afc
DEPS diff: f6bf4a6d25..7ee7048386/DEPS

No update to Clang.

BUG=None

Change-Id: Ie84972aa50ff563d3d2944cbe29ca6855e191de3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243080
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@{#35581}
2021-12-25 10:36:09 +00:00
c6fba9af67 Update WebRTC code version (2021-12-25T04:03:43).
Bug: None
Change-Id: I1d604a4c2d1bd650d56ea082fe8e76f65f8ec9ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/243061
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@{#35580}
2021-12-25 05:08:39 +00:00
d4c1b92f65 Update WebRTC code version (2021-12-24T04:03:03).
Bug: None
Change-Id: I68edd06e9f7757e60d6935f83b72d5865511489f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242943
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@{#35579}
2021-12-24 05:38:14 +00:00
c62d243221 Roll chromium_revision 1257349e6f..f6bf4a6d25 (953882:953991)
Change log: 1257349e6f..f6bf4a6d25
Full diff: 1257349e6f..f6bf4a6d25

Changed dependencies
* src/base: 65691b29f0..daa57c0cff
* src/build: 9597e1589e..aad1379f06
* src/ios: 0da3f4bca9..f65eadb1f1
* src/testing: 967ce8ec9d..8b481a24d8
* src/third_party: b31d554341..e451ecd418
* src/third_party/androidx: UY7mSRcuTeiINUuwya9WWforqNeRLdW7FyAvOQmjA64C..aaokkxPemSJZijMa3UcEE57MN52L-Z3Xldi7x5si6VwC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/76c77ba0be..390aa6fa4b
* src/tools: ae13cb5f32..3214007218
DEPS diff: 1257349e6f..f6bf4a6d25/DEPS

No update to Clang.

BUG=None

Change-Id: I83011855dc6a6eb3c1ae66ec15a182546e9fab63
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242942
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@{#35578}
2021-12-24 04:22:26 +00:00
a8beb40873 Roll chromium_revision 2f4cc1c2b0..1257349e6f (953776:953882)
Change log: 2f4cc1c2b0..1257349e6f
Full diff: 2f4cc1c2b0..1257349e6f

Changed dependencies
* src/base: 0131d04bcb..65691b29f0
* src/build: bc588cf5bf..9597e1589e
* src/ios: bb3f06bb90..0da3f4bca9
* src/third_party: 0c4741b184..b31d554341
* src/third_party/androidx: Mlwj56XGVyOHl-oIxCdajwpJ2cqsUTJF4ezKx6DPO6IC..UY7mSRcuTeiINUuwya9WWforqNeRLdW7FyAvOQmjA64C
* src/third_party/googletest/src: 71d4e2f742..d81ae2f0bf
DEPS diff: 2f4cc1c2b0..1257349e6f/DEPS

No update to Clang.

BUG=None

Change-Id: I738724d2b0139ba976394c89199856663c1f7b6b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242883
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@{#35577}
2021-12-23 18:30:47 +00:00
9753fbc380 Video: Avoid crashing when dump stream with IvfFileWriter.
Currently some RTPVideoHeaders are not filled with width and height
information, such as AV1. If we dump the stream with command line
“--force-fieldtrials=WebRTC-DecoderDataDumpDirectory/./”, and if
width and height are 0, it will crash soon.

This CL aims to avoid crashing when the |encoded_image._encodedWidth|
and |encoded_image._encodedHeight| are 0.

Bug: webrtc:13491
Change-Id: Ie5af58c03f09a9784ed67943dc5b5959850b4368
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242500
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35576}
2021-12-23 13:37:22 +00:00
34e1036829 Roll chromium_revision 69d8fd6843..2f4cc1c2b0 (953656:953776)
Change log: 69d8fd6843..2f4cc1c2b0
Full diff: 69d8fd6843..2f4cc1c2b0

Changed dependencies
* src/base: 032c89c991..0131d04bcb
* src/build: 46c8d3e96f..bc588cf5bf
* src/testing: d02a594ff5..967ce8ec9d
* src/third_party: 194405a50b..0c4741b184
* src/third_party/androidx: HODW6m8VayryUJucacS9PY8PR4FM7dBYoYjG6f3eKukC..Mlwj56XGVyOHl-oIxCdajwpJ2cqsUTJF4ezKx6DPO6IC
* src/tools: 085978a894..ae13cb5f32
DEPS diff: 69d8fd6843..2f4cc1c2b0/DEPS

No update to Clang.

BUG=None

Change-Id: Ie68921c081eec34487a7f261c23330b8262f06bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242840
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@{#35575}
2021-12-23 08:48:39 +00:00
12731ad2d4 Update WebRTC code version (2021-12-23T04:02:43).
Bug: None
Change-Id: I81f2a4ff53368dddb41b61f9e5c31a7ee223cda9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242801
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@{#35574}
2021-12-23 05:26:07 +00:00