Commit Graph

35183 Commits

Author SHA1 Message Date
62995db2fc Change default sdp_semantics to kNotSpecified.
In preparation for switching the default from kPlanB to kUnifiedPlan,
which could cause subtle bugs for those not prepared for it, we change
the default to kNotSpecified. The only purpose of kNotSpecified is to
crash, forcing any dependencies to explicitly set their sdp_semantics
value.

Tests are updated to explicitly set sdp_semantics when necessary, and
where the test does not care we update to kUnifiedPlan.

If this change lands without getting reverted we can let it sit for a
few weeks, after which we should change the default to kUnifiedPlan and
delete kNotSpecified.

Bug: webrtc:11121
Change-Id: I19b669b0735d78e269e19eaae86c2d7d95a91141
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242968
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35651}
2022-01-10 14:56:03 +00:00
8d49d6f0e6 Roll chromium_revision 98a09f4466..707a3884d2 (956937:957044)
Change log: 98a09f4466..707a3884d2
Full diff: 98a09f4466..707a3884d2

Changed dependencies
* src/build: dd60a99813..d2934323c1
* src/ios: 11f4f76549..5a364356e2
* src/testing: 85cca6c8d9..3def6a0243
* src/third_party: 2cd2b5274d..39c66ea636
* src/third_party/freetype/src: bf9b1ef905..a25e85ed95
* src/tools: ed8b1b4f4c..a95eedec4e
DEPS diff: 98a09f4466..707a3884d2/DEPS

No update to Clang.

BUG=None

Change-Id: I421d535257a4a2a7a6e76626f013aef32f5e84eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/245520
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@{#35650}
2022-01-10 14:17:20 +00:00
e68d874cf1 Update SetPayloadTypeDemuxingEnabled_w to avoid an unnecessary Invoke.
If a call to BaseChannel::SetPayloadTypeDemuxingEnabled does not result
in a demuxer criteria configuration change, we can avoid an Invoke
and speed up negotiations.

Bug: webrtc:11993
Change-Id: I80c894d7cc2a733ab84c1f4978f0c58c09a123a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244920
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35649}
2022-01-10 14:16:04 +00:00
47ff35db61 Delete some unneeded references to module.h and module_api target.
Bug: None
Change-Id: Iad983efa8666ca29b5e1ac22b3ade8987dbb2841
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242371
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35648}
2022-01-10 13:40:24 +00:00
6d113eae03 Add ImproveDirection to RampupTests
Bug: None
Change-Id: I386e992f33d21f20b0965e6d88a222cbb76d00a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244099
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35647}
2022-01-10 12:34:23 +00:00
c58adb753a Update WebRTC code version (2022-01-10T04:03:02).
Bug: None
Change-Id: I99e75bdb6c5c55b33249d7183e5dd755c67cb93c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/245365
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@{#35646}
2022-01-10 04:54:49 +00:00
bb350bd941 Roll chromium_revision 2b9ea1db52..98a09f4466 (956835:956937)
Change log: 2b9ea1db52..98a09f4466
Full diff: 2b9ea1db52..98a09f4466

Changed dependencies
* src/base: 9f6a4078ec..0e6190bb08
* src/build: 89f390ec51..dd60a99813
* src/ios: 81c7a212b0..11f4f76549
* src/testing: fb4620a72b..85cca6c8d9
* src/third_party: 28dc7c124f..2cd2b5274d
* src/third_party/androidx: mZDSnVEjFdMnVisTPg2aMOV97laQRf6q3babg8f7KQgC..72KhrVPMAimIlLbSf4qfoMjnvI2FmvCxSBB-rUtxn8UC
* src/tools: 15752f6471..ed8b1b4f4c
DEPS diff: 2b9ea1db52..98a09f4466/DEPS

No update to Clang.

BUG=None

Change-Id: Iab1452484d18a288842e3237f7f0c2c481bbce79
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/245363
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@{#35645}
2022-01-10 02:40:39 +00:00
cc8f127ed9 Roll chromium_revision bb5b8614b9..2b9ea1db52 (956732:956835)
Change log: bb5b8614b9..2b9ea1db52
Full diff: bb5b8614b9..2b9ea1db52

Changed dependencies
* src/base: d4529b6853..9f6a4078ec
* src/build: a2a78b6610..89f390ec51
* src/buildtools/third_party/libc++abi/trunk: c884e7a7ce..a0ace9923e
* src/buildtools/third_party/libunwind/trunk: 4bf418ebaf..58d1647360
* src/ios: e9a5433ee3..81c7a212b0
* src/testing: 3ea6a8123d..fb4620a72b
* src/third_party: 318b87065d..28dc7c124f
* src/third_party/androidx: hyrO0XEiBqf22_8YM-FkRhjqAyxUWeSZ_9LZqPJDkYIC..mZDSnVEjFdMnVisTPg2aMOV97laQRf6q3babg8f7KQgC
* src/third_party/depot_tools: 59e6796cd2..d3cc7ad85e
* src/tools: cdc23c442a..15752f6471
DEPS diff: bb5b8614b9..2b9ea1db52/DEPS

No update to Clang.

BUG=None

Change-Id: I9904c0241e33957b452533e7436150a18c5be653
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/245200
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@{#35644}
2022-01-08 14:46:27 +00:00
2bc667fdd7 Roll chromium_revision c96a4e7a82..bb5b8614b9 (956529:956732)
Change log: c96a4e7a82..bb5b8614b9
Full diff: c96a4e7a82..bb5b8614b9

Changed dependencies
* src/base: 46aa1022f8..d4529b6853
* src/build: 2c1ec5abff..a2a78b6610
* src/buildtools/linux64: git_revision:54284c12607e2818293157cd76d29d03a36bfd68..git_revision:f1b1412521b41e47118b29863224171e434a27a2
* src/buildtools/mac: git_revision:54284c12607e2818293157cd76d29d03a36bfd68..git_revision:f1b1412521b41e47118b29863224171e434a27a2
* src/buildtools/win: git_revision:54284c12607e2818293157cd76d29d03a36bfd68..git_revision:f1b1412521b41e47118b29863224171e434a27a2
* src/ios: fd5365d254..e9a5433ee3
* src/testing: b1bf58701e..3ea6a8123d
* src/third_party: 083d35c008..318b87065d
* src/third_party/androidx: SBd1_afac7GmjsqtDzNI7TUwKr4KVbHuX3oqnduAW9EC..hyrO0XEiBqf22_8YM-FkRhjqAyxUWeSZ_9LZqPJDkYIC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/3a667d10e9..295b31324f
* src/third_party/depot_tools: 44dda9648c..59e6796cd2
* src/tools: 4a5dcf9f08..cdc23c442a
DEPS diff: c96a4e7a82..bb5b8614b9/DEPS

No update to Clang.

BUG=None

Change-Id: Ia2aadc2dc179f6b448dc38d23f9097e4d71a4768
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/245122
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@{#35643}
2022-01-08 01:04:06 +00:00
651586c4e1 Move a part of ApplyRemoteDescription() into a separate function.
This part is specific to unified plan and doesn't need most of
the state related to the remote description (and doesn't return an
error).

Bug: none
Change-Id: I0de66bdb2e925072a6d9010e4444e75d4574ae04
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/245102
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35642}
2022-01-07 19:50:46 +00:00
b625edfa47 Move one part of ApplyRemoteDescription out to a separate function.
This is just a step to reduce the size of ApplyRemoteDescription to make
refactoring it easier (and ultimately support async operations).

Bug: none
Change-Id: Idb950c35f585a887d6640278b6edfdd0c7cec3fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/245101
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35641}
2022-01-07 18:23:06 +00:00
7ac11436c0 Roll chromium_revision 3aef64d992..c96a4e7a82 (956401:956529)
Change log: 3aef64d992..c96a4e7a82
Full diff: 3aef64d992..c96a4e7a82

Changed dependencies
* src/base: 6c873591bb..46aa1022f8
* src/build: 3fd1fd51c3..2c1ec5abff
* src/buildtools/linux64: git_revision:387b368dfe63fec317f8e609d90c634807f2764e..git_revision:54284c12607e2818293157cd76d29d03a36bfd68
* src/buildtools/mac: git_revision:387b368dfe63fec317f8e609d90c634807f2764e..git_revision:54284c12607e2818293157cd76d29d03a36bfd68
* src/buildtools/win: git_revision:387b368dfe63fec317f8e609d90c634807f2764e..git_revision:54284c12607e2818293157cd76d29d03a36bfd68
* src/ios: 33c85bc0a7..fd5365d254
* src/third_party: 4492f8d852..083d35c008
* src/third_party/freetype/src: afb4ca0151..bf9b1ef905
* src/tools: 0cfc61dead..4a5dcf9f08
DEPS diff: 3aef64d992..c96a4e7a82/DEPS

No update to Clang.

BUG=None

Change-Id: I5236dd73ea06ded139c8f1684814834230d93fbd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/245062
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@{#35640}
2022-01-07 16:22:56 +00:00
e11a4f5018 Roll chromium_revision cbd0ac46b5..3aef64d992 (955688:956401)
This CL also suppresses UseNetworkAnnotations in the AppRTC
Android example app since they are not actionable and Chromium
related.

Change log: cbd0ac46b5..3aef64d992
Full diff: cbd0ac46b5..3aef64d992

Changed dependencies
* src/base: a83346828c..6c873591bb
* src/build: 6593a28f30..3fd1fd51c3
* src/buildtools/linux64: git_revision:281ba2c91861b10fec7407c4b6172ec3d4661243..git_revision:387b368dfe63fec317f8e609d90c634807f2764e
* src/buildtools/mac: git_revision:281ba2c91861b10fec7407c4b6172ec3d4661243..git_revision:387b368dfe63fec317f8e609d90c634807f2764e
* src/buildtools/third_party/libunwind/trunk: 6a10e3e97c..4bf418ebaf
* src/buildtools/win: git_revision:281ba2c91861b10fec7407c4b6172ec3d4661243..git_revision:387b368dfe63fec317f8e609d90c634807f2764e
* src/ios: eafe83e727..33c85bc0a7
* src/testing: ae85d6c117..b1bf58701e
* src/third_party: 6d924d92e5..4492f8d852
* src/third_party/androidx: rHl7WLfujPiSrBBRroGr68FcsXWIPHzpsXUuSYZ6r-kC..SBd1_afac7GmjsqtDzNI7TUwKr4KVbHuX3oqnduAW9EC
* src/third_party/breakpad/breakpad: 3846f6d297..bbf740148d
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/5d00ad2e9a..aa0e8d0564
* src/third_party/depot_tools: aae6725ff0..44dda9648c
* src/third_party/freetype/src: 2b672e7210..afb4ca0151
* src/tools: 4d0b131d0a..0cfc61dead
* src/tools/luci-go: git_revision:89429843eb2dedb599a6c7c7754343b97d95943d..git_revision:d1e877e2b3e5a05a5cd34c4a340fedba14a16c2b
* src/tools/luci-go: git_revision:89429843eb2dedb599a6c7c7754343b97d95943d..git_revision:d1e877e2b3e5a05a5cd34c4a340fedba14a16c2b
DEPS diff: cbd0ac46b5..3aef64d992/DEPS

No update to Clang.

BUG=None

Change-Id: I6a7eb9a21c4720fba7854aee42571b40049699a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/245003
Commit-Queue: Björn Sundman <bsundman@google.com>
Reviewed-by: Björn Sundman <bsundman@google.com>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35639}
2022-01-07 08:51:46 +00:00
c69453d93b Change SetLocalContent in channel classes to avoid Invoke.
With these changes, we now often have 0 invokes and at most 1 when
calling SetLocalContent on a channel. Before we had at least 1 and
typically 2.

Summary of changes.
* Updating RtpExtension::DeduplicateHeaderExtensions to return a sorted
  vector (+test) for easy detection of changes.
* Before updating the transport on the network thread, detect if
  actual changes to the demuxer criteria or changes to the rtp header
  extensions have been made.
* Consolidate both transport updates to a single call instead of two.
* Added DCHECK guards to catch regressions in number of invokes.

A possible upcoming improvement is to update the transport
asynchronously.

Bug: webrtc:13536
Change-Id: I71ef7b181635a796ffa1e3a02a0f661d28a4870c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244700
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35638}
2022-01-06 12:52:35 +00:00
ac72dda645 Code consolidation in BaseChannel and derived classes.
This is a bit of refactoring to clear the way for some more upcoming
changes and fix little oddities here and there that are basically
artifacts of many small incremental changes throughout the years.

* Remove the CryptoOptions member variable and instead only keep around
  the filter for rtp header extensions.
* Remove several member methods that only forwarded calls to
  media_channel() and effectively reduced readability.
* Consolidated quite a bit of code related to UpdateRemoteStreams_w
  and the copy/pasted code in the Video/Voice classes around calling it.
* UpdateRemoteStreams_w now returns an error when it's encountered.
  Before, an error would still be returned in those cases but all
  operations were unnecessarily performed.

Bug: none
Change-Id: I85a37b9e8f00584aa794abef11abfe89dec5d0a6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244098
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35637}
2022-01-06 12:10:45 +00:00
b463ae1ac7 Add a sanity check of RTCVideoFrame in RTCMTLVideoView
Bug: webrtc:13490
Change-Id: I6cca1966c660b2fa36d2d77a816cdd734cce7cf2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244420
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35636}
2022-01-06 10:43:05 +00:00
9467daeea5 Update WebRTC code version (2022-01-06T04:03:19).
Bug: None
Change-Id: I581850ec30a9a1639e9898a1a5faae9b6f1e45ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244800
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@{#35635}
2022-01-06 05:21:08 +00:00
0e56787d63 remove legacy datachannel code
BUG=webrtc:6625

Change-Id: Ic869c28fe9a24147338b5cd2c830a86b008212f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244506
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#35634}
2022-01-05 20:36:54 +00:00
fdcef908c2 Roll chromium_revision 5865fbf638..cbd0ac46b5 (955571:955688)
Change log: 5865fbf638..cbd0ac46b5
Full diff: 5865fbf638..cbd0ac46b5

Changed dependencies
* src/base: 3ee8bd9270..a83346828c
* src/build: ccde4c8b1d..6593a28f30
* src/ios: cae0ee8937..eafe83e727
* src/third_party: da52a284be..6d924d92e5
* src/third_party/androidx: dSc90B4LnlIq7u5ZXhFf4wYqYTtSCSfLt81QOie5IfMC..rHl7WLfujPiSrBBRroGr68FcsXWIPHzpsXUuSYZ6r-kC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ec88714291..5d00ad2e9a
* src/tools: 79fd0ff647..4d0b131d0a
* src/tools/luci-go: git_revision:e897e118887a2e6c50a82212b660cb2a7c58d910..git_revision:89429843eb2dedb599a6c7c7754343b97d95943d
* src/tools/luci-go: git_revision:e897e118887a2e6c50a82212b660cb2a7c58d910..git_revision:89429843eb2dedb599a6c7c7754343b97d95943d
DEPS diff: 5865fbf638..cbd0ac46b5/DEPS

No update to Clang.

BUG=None

Change-Id: I876f53015f72a2c1e964fb0de43f8fa8527aea27
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244660
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@{#35633}
2022-01-05 14:26:04 +00:00
d908d74fac Make error param non-optional when setting local/remote content.
This is a slight refactoring while doing some other changes, so not
strictly necessary, but the error param is always supplied in practice
so it made sense to update the tests to reflect that, test that error
values are reported in (at least) some cases and remove the additional
code that checks for whether or not error information is requested.

Bug: none
Change-Id: Ia5739a18ea2beb6970eabf9d809c24dfa43466b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244097
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35632}
2022-01-05 11:59:14 +00:00
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