Commit Graph

36455 Commits

Author SHA1 Message Date
e006b7d103 Fix print error when migrating to python3.
This is causing errors on the ci:
https://ci.chromium.org/p/webrtc/builders/ci/Win32%20Release%20%28Clang%29/24047

No-Presubmit: True
Bug: webrtc:13607
Change-Id: I05c85d5d67ab71ef971899a60daffa2c10b72305
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249783
Reviewed-by: Christoffer Jansson <jansson@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#35823}
2022-01-28 10:45:55 +00:00
e8d854eca1 Destroy channel objects synchronously.
This reverts the async operation introduced here:
https://webrtc-review.googlesource.com/c/src/+/248170

The race that happened was that the "flush" operation in the dtor
of ChannelManager, could run _after_ PeerConnection::Close() which
is where the Call object gets deleted. Inside the dtor of Call, there
are DCHECKs that could hit when the pending deletions hadn't run.
In most cases the Invoke() that is used to delete the Call object
would run after the pending tasks, but there's still one code path
that I'm looking for that could trigger the deletion of a channel
after Call is destructed.

Bug: webrtc:11992, webrtc:13540, chromium:1291383
Change-Id: I160742907cc0c097a4b2bb1b7c3da03b4e8cd8d8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249780
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35822}
2022-01-28 09:34:25 +00:00
5d9ae8635c Switch Swarming commands to py3.
Thanks to machenbach@ for the heads up.

WebRTC's MB was generating a Swarming command that was using vpython
(defaulting on python2 on some platforms). This CL switches that to
vpython3 (fixing gtest-parallel-wrapper.py to be python3 compliant).

No-Presubmit: True
Bug: webrtc:13607
Change-Id: Icfa7d23b81e30cebfe8243d4ba65284955593465
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249604
Reviewed-by: Christoffer Jansson <jansson@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35821}
2022-01-28 08:17:05 +00:00
9153f71a3f Update WebRTC code version (2022-01-28T04:06:25).
Bug: None
Change-Id: I469ea6409f2c38929987cdea54fd62f2033f32e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249740
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@{#35820}
2022-01-28 05:33:35 +00:00
4033de3d54 Roll chromium_revision 41783b179b..7a67421c6e (964280:964386)
Change log: 41783b179b..7a67421c6e
Full diff: 41783b179b..7a67421c6e

Changed dependencies
* src/base: a4b02ee51f..258bcfa4b5
* src/build: 7babf61eab..3a3da2d59b
* src/buildtools/third_party/libunwind/trunk: c8a5d430f2..7246413309
* src/testing: 28998d595a..8e54470109
* src/third_party: b5a7be2136..6e37fcd096
* src/third_party/depot_tools: 3bf9766110..289dedd36b
* src/third_party/freetype/src: ab1c98ac18..e34a860a07
* src/tools: fa190a5216..8f610e6b1c
DEPS diff: 41783b179b..7a67421c6e/DEPS

No update to Clang.

BUG=None

Change-Id: I65da10c05a0e852dfcd33683486a8435efd5ae9b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249720
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@{#35819}
2022-01-28 02:43:45 +00:00
cdf7335030 Roll chromium_revision b35017bb75..41783b179b (964129:964280)
Change log: b35017bb75..41783b179b
Full diff: b35017bb75..41783b179b

Changed dependencies
* src/base: cb571e7b6c..a4b02ee51f
* src/build: 9f123a279d..7babf61eab
* src/ios: 0cfb27e273..572c18f5df
* src/testing: 3c03cb4f19..28998d595a
* src/third_party: 0b01915556..b5a7be2136
* src/third_party/depot_tools: d5862557d6..3bf9766110
* src/third_party/perfetto: 448ab50107..33928bc894
* src/tools: 62e711b50b..fa190a5216
* src/tools/luci-go: git_revision:7528d700b89db0b6feb32be098d40597f738d3c7..git_revision:9c88febc5ab63469baf5aae05a74f8e419970ef3
* src/tools/luci-go: git_revision:7528d700b89db0b6feb32be098d40597f738d3c7..git_revision:9c88febc5ab63469baf5aae05a74f8e419970ef3
DEPS diff: b35017bb75..41783b179b/DEPS

No update to Clang.

BUG=None

Change-Id: I058efbe3d2c5e704a6725701f1d79e09699f6263
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249642
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@{#35818}
2022-01-27 22:40:35 +00:00
5419917a01 Roll chromium_revision d62da27c05..b35017bb75 (964011:964129)
Change log: d62da27c05..b35017bb75
Full diff: d62da27c05..b35017bb75

Changed dependencies
* src/base: 60fc4c4ba9..cb571e7b6c
* src/build: 83333f4913..9f123a279d
* src/ios: fab24d8b44..0cfb27e273
* src/testing: 0c94fc8d31..3c03cb4f19
* src/third_party: 4fc9647e33..0b01915556
* src/third_party/freetype/src: 837f0345a9..ab1c98ac18
* src/third_party/perfetto: 383df8c309..448ab50107
* src/third_party/r8: KOlWWUU4CAY1EqgiZ6iljOP7ycIjceTEFcwWxL14HFoC..tamyW0-567_CaEZt2m7Pwy2NSUKeocbxdkoGsf-z3F0C
* src/tools: 843668c3cb..62e711b50b
DEPS diff: d62da27c05..b35017bb75/DEPS

No update to Clang.

BUG=None

Change-Id: I7d247058792860df21eee0a61a5893ee89ddc29e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249660
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@{#35817}
2022-01-27 18:44:15 +00:00
405ea791fc Roll chromium_revision 81b2df58ec..d62da27c05 (963903:964011)
Change log: 81b2df58ec..d62da27c05
Full diff: 81b2df58ec..d62da27c05

Changed dependencies
* src/base: 6a2071e6e0..60fc4c4ba9
* src/build: 45926bacc9..83333f4913
* src/ios: 56a1520e8f..fab24d8b44
* src/testing: c7a82e779a..0c94fc8d31
* src/third_party: a0fb3f83f7..4fc9647e33
* src/third_party/googletest/src: f45d5865ed..0b7798b2fb
* src/third_party/perfetto: a0de991bf3..383df8c309
* src/tools: a21c03b68b..843668c3cb
DEPS diff: 81b2df58ec..d62da27c05/DEPS

No update to Clang.

BUG=None

Change-Id: I6197309d71541ca5a70a27f0ab5bc2ed31c6f4e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249620
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@{#35816}
2022-01-27 14:51:04 +00:00
7734fc64b9 Revert "(Un/)Subscribe RtpVideoSender for feedback on the transport queue."
This reverts commit 9d230d54c7eef31ac1100f0aeef1374dd1ac62fa.

Reason for revert: Speculative revert to see if it's the cause of a few perf changes (some bad, some not so bad).

Bug: webrtc:13613

Original change's description:
> (Un/)Subscribe RtpVideoSender for feedback on the transport queue.
>
> * RtpVideoSender now registers/unregisters for feedback callback
>   inside of SetActive(), which runs on the transport queue.
> * Transport feedback is given on the transport queue
> * Registration/unregistration for feedback is done on the same
> * Removed the last mutex from TransportFeedbackDemuxer.
>
> Ultimately, this work is related to moving state from the Call
> class, that's related to network configuration, but due to the code
> is currently written is attached to the worker thread, over to the
> Transport, where it's used (e.g. suspended_video_send_ssrcs_).
>
> Bug: webrtc:13517, webrtc:11993
> Change-Id: I057d0e2597e6cb746b335e0308599cd547350e56
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248165
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35777}

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

Bug: webrtc:13517, webrtc:11993
Change-Id: I824623b3b1c14f0ca7049a2a0890c6d97b7fb608
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249600
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35815}
2022-01-27 13:43:44 +00:00
6cae2d5513 Reland "Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely"
This reverts commit 3f87250a4f0e6c69002fbcdfb995b0dfcd7bf710.

Reason for revert: Downstream is fixed

Original change's description:
> Revert "Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely"
>
> This reverts commit 5f0eb93d2a44cec2102fc8c3757d5bb814bd145f.
>
> Reason for revert: Breaks downstream project. I'm going to fix that one and create a reland of this CL after.
>
> Original change's description:
> > Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely
> >
> > Bug: webrtc:13555, webrtc:13082
> > Change-Id: Iff2cda6f516739419e97e975e03f77a98f74be03
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249260
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Reviewed-by: Artem Titov <titovartem@webrtc.org>
> > Commit-Queue: (Daniel.L) Byoungchan Lee <daniel.l@hpcnt.com>
> > Cr-Commit-Position: refs/heads/main@{#35805}
>
> TBR=hta@webrtc.org,titovartem@webrtc.org,daniel.l@hpcnt.com,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
>
> Change-Id: I33d497f1132adfe6d151023195a388d9b7d548f9
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:13555, webrtc:13082
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249364
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Owners-Override: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Andrey Logvin <landrey@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35807}

# Not skipping CQ checks because this is a reland.

Bug: webrtc:13555, webrtc:13082
Change-Id: I7ef1ef3b6e3c41b1a96014aa75f003c0fcf33949
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249365
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35814}
2022-01-27 12:55:44 +00:00
f3a381adcd Use kHigh timer precision for 'delayed-ack' timers.
In SCTP, sending ACKs at the right time is presumably important in order
not to cause unnecessary retransmissions.

This CL sets the ACK timers to use high timer precision. This unblocks
experimentally lowering the precision of the default, "low", timers in
WebRTC.

// All bots are green, but mac_chromium_compile is randomly timing out
// independently of this CL and has been doing so for several days...
NOTRY=True

Bug: webrtc:13604
Change-Id: I1c81e3d0eeb477c3e00277d35649114c5edd249c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249090
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35813}
2022-01-27 11:09:24 +00:00
4cad08ff19 Roll chromium_revision 58ca687c30..81b2df58ec (963583:963903)
Change log: 58ca687c30..81b2df58ec
Full diff: 58ca687c30..81b2df58ec

Changed dependencies
* src/base: db1638ba49..6a2071e6e0
* src/build: 9d31c5f020..45926bacc9
* src/ios: 0b81366bae..56a1520e8f
* src/testing: a3181107af..c7a82e779a
* src/third_party: c4dbb81594..a0fb3f83f7
* src/third_party/depot_tools: d05a2e0395..d5862557d6
* src/third_party/freetype/src: 267c6918d1..837f0345a9
* src/third_party/icu: b9f6d0a5c5..609143a639
* src/third_party/perfetto: 9006724037..a0de991bf3
* src/tools: d387034429..a21c03b68b
* src/tools/luci-go: git_revision:09f8b3edbbf18dc63d0d5aa7722ae7acc20b11b4..git_revision:7528d700b89db0b6feb32be098d40597f738d3c7
* src/tools/luci-go: git_revision:09f8b3edbbf18dc63d0d5aa7722ae7acc20b11b4..git_revision:7528d700b89db0b6feb32be098d40597f738d3c7
DEPS diff: 58ca687c30..81b2df58ec/DEPS

No update to Clang.

BUG=None

Change-Id: I748850787c19f038e60aef9e0a697e84450082f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249560
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@{#35812}
2022-01-27 07:47:40 +00:00
1f0949443c Update WebRTC code version (2022-01-27T04:04:04).
Bug: None
Change-Id: I49e1a2808f144c5dfbfa513ae3cba00cd5a8dcd4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249540
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@{#35811}
2022-01-27 05:12:17 +00:00
b56c4b4025 Roll chromium_revision caf5554d86..58ca687c30 (963450:963583)
Change log: caf5554d86..58ca687c30
Full diff: caf5554d86..58ca687c30

Changed dependencies
* src/base: 69c24cddaf..db1638ba49
* src/build: 6b8cad1136..9d31c5f020
* src/buildtools/third_party/libc++abi/trunk: e4cc353cbf..df43e1b039
* src/testing: 6e40a6d5bf..a3181107af
* src/third_party: a9734ea843..c4dbb81594
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/295b31324f..387f82054c
* src/third_party/perfetto: d7b55ea623..9006724037
* src/tools: 5a8b2bda0b..d387034429
DEPS diff: caf5554d86..58ca687c30/DEPS

Clang version changed llvmorg-14-init-12719-gc4b45eeb:llvmorg-14-init-17086-g38e16e1c
Details: caf5554d86..58ca687c30/tools/clang/scripts/update.py

BUG=None

Change-Id: I1712102715228da77369a6e69e71fc8146cb92bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249420
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@{#35810}
2022-01-26 18:50:14 +00:00
b951dc6f4c Allow specifying delayed task precision of dcsctp::Timer.
Context: The timer precision of PostDelayedTask() is about to be lowered
to include up to 17 ms leeway. In order not to break use cases that
require high precision timers, PostDelayedHighPrecisionTask() will
continue to have the same precision that PostDelayedTask() has today.
webrtc::TaskQueueBase has an enum (kLow, kHigh) to decide which
precision to use when calling PostDelayedTaskWithPrecision().

See go/postdelayedtask-precision-in-webrtc for motivation and a table of
delayed task use cases in WebRTC that are "high" or "low" precision.

Most timers in DCSCTP are believed to only be needing low precision (see
table), but the delayed_ack_timer_ of DataTracker[1] is an example of a
use case that is likely to break if the timer precision is lowered (if
ACK is sent too late, retransmissions may occur). So this is considered
a high precision use case.

This CL makes it possible to specify the precision of dcsctp::Timer.
In a follow-up CL we will update delayed_ack_timer_ to kHigh precision.

[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/net/dcsctp/rx/data_tracker.cc;l=340

Bug: webrtc:13604
Change-Id: I8eec5ce37044096978b5dd1985fbb00bc0d8fb7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249081
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35809}
2022-01-26 18:40:24 +00:00
c9105da7a0 Update FrameGeneratorCapturer's task queue precision to kHigh.
This is a test-only class that today has high precision for its frames.
We intend to make the default task queue precision lower, so high
precision use cases have to opt-in to kHigh if they want to continue to
use high precision.

Bug: webrtc:13604
Change-Id: I25babec2a64d91d45548ad017200b806a60efe11
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249362
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35808}
2022-01-26 15:42:18 +00:00
3f87250a4f Revert "Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely"
This reverts commit 5f0eb93d2a44cec2102fc8c3757d5bb814bd145f.

Reason for revert: Breaks downstream project. I'm going to fix that one and create a reland of this CL after.

Original change's description:
> Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely
>
> Bug: webrtc:13555, webrtc:13082
> Change-Id: Iff2cda6f516739419e97e975e03f77a98f74be03
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249260
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: (Daniel.L) Byoungchan Lee <daniel.l@hpcnt.com>
> Cr-Commit-Position: refs/heads/main@{#35805}

TBR=hta@webrtc.org,titovartem@webrtc.org,daniel.l@hpcnt.com,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I33d497f1132adfe6d151023195a388d9b7d548f9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:13555, webrtc:13082
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249364
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Owners-Override: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35807}
2022-01-26 14:56:14 +00:00
d3b3a3b6bb Remove Call::sync_stream_mapping_
This std::map was used to look up audio streams from ssrcs when
creating/destroying and/or modifying streams. Those operations aren't
frequent enough to justify having a separate lookup map. Removing
the variable, simplifies the thread ownership work a bit.

Bug: webrtc:11993
Change-Id: I94f9f2f56c138051a8b9c5f6a6d7cae3a4e78b48
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249091
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35806}
2022-01-26 14:50:53 +00:00
5f0eb93d2a Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely
Bug: webrtc:13555, webrtc:13082
Change-Id: Iff2cda6f516739419e97e975e03f77a98f74be03
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249260
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: (Daniel.L) Byoungchan Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#35805}
2022-01-26 14:22:16 +00:00
38c762c0ab SDP fuzzer: Add functionality for break on assert fails in framework
This makes fuzzer test cases fail if there's an assert failure in
the helper functions called by the test.

Bug: None
Change-Id: Ic187d72b8d4e016659a68a7bdcaadb78ab2aab05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/246400
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35804}
2022-01-26 14:12:44 +00:00
9d29026216 Add FrameBufferProxy in prep for FrameBuffer3
This is a delegate that is used by video_receive_stream2 to handle frame
buffer tasks like threading, and stats. This will be used in a follow up
to use FrameBuffer3 as a strategy selected by field trial.

Unit-tests will be used in follow-up CLs containing Frame Buffer 3, and
are expected to work with both Frame buffer proxy versions.

Change-Id: I524279343d60a348d044d9085d618f12d7bf3a23
Bug: webrtc:13343
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/241605
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35803}
2022-01-26 12:31:03 +00:00
62238097c9 Remove top-level const from parameters in function declarations.
This is a safe cleanup change since top-level const applied to
parameters in function declarations (that are not also
definitions) are ignored by the compiler. Hence, such changes do
not change the type of the declared functions and are simply
no-ops.

Bug: webrtc:13610
Change-Id: Ibafb92c45119a6d8bdb6f9109aa8dad6385163a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249086
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35802}
2022-01-26 11:05:25 +00:00
c98687a2ef Replace "(const override)" with "(const, override)" in GMOCKs
Just applied a short sed script. See bug description for
the motiviation for this change.

This is the command that was used to generate the changes:
$ find . -type f \( -iname '*.cc' -o -iname '*.h' \) -print0 | \
      xargs -0 sed -i -e 's/(const override)/(const, override)/'

Bug: webrtc:13090
Change-Id: Iec7d280f9d55263a972dbb3bd644ebfcd2eb38cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249088
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35801}
2022-01-26 10:59:40 +00:00
236d7e7e46 Factor out access to Call::receive_rtp_config_
This CL adds a SequenceChecker, receive_11993_checker_, specifically for
variables that need to move to the network thread. Once migrated,
the checker will be replaced with a check for the network thread.

In the meantime, the checker will match with one of worker [x]or
network threads.

As a first step, this checker is used to isolate access to
`receive_rtp_config_` which is used from object factory paths (Create/
Destroy routines) as well as paths that handle network packets.

Bug: webrtc:11993
Change-Id: Ia58423583cf99492018f218eb1640535e3919193
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249080
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35800}
2022-01-26 10:54:40 +00:00
e20865b3ef Roll chromium_revision a255778ed0..caf5554d86 (963344:963450)
Change log: a255778ed0..caf5554d86
Full diff: a255778ed0..caf5554d86

Changed dependencies
* src/base: f012b10ec7..69c24cddaf
* src/build: 1c8bf9081f..6b8cad1136
* src/ios: fa76094d85..0b81366bae
* src/testing: e57e877ab9..6e40a6d5bf
* src/third_party: d3ab616349..a9734ea843
* src/third_party/googletest/src: 3d81736c97..f45d5865ed
* src/tools: d859e7e2c6..5a8b2bda0b
DEPS diff: a255778ed0..caf5554d86/DEPS

No update to Clang.

BUG=None

Change-Id: Ic9cf0d9f80ce3af90ef78ad59d2502445ac035b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249342
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@{#35799}
2022-01-26 10:50:01 +00:00
16de21696a Delete channel objects asynchronously from the transceiver.
Move deletion of channel objects over to the RtpTransceiver instead
of having it done by SdpOfferAnswer.

The deletion is now also done via PostTask rather than Invoke.

Bug: webrtc:11992, webrtc:13540
Change-Id: I5aff14956d5e572ca8816bbfef8739bb609b4484
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248170
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35798}
2022-01-26 10:39:00 +00:00
62b01db428 VideoStreamEncoder - wait less.
Some of the state that's managed in VideoStreamEncoder, is updated
and accessed on the encoder queue, but a method that's used for testing
only (GetAdaptationResources()), represents a race between PostTask
operations that update state and checking for said state on the worker
thread.

This CL removes Wait() operations related to adaptation resources from
the common path and puts one in the test path instead.

Bug: webrtc:13612
Change-Id: Ie3e018e815e24951bc0634ed70de17eaf336a508
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249220
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35797}
2022-01-26 09:53:33 +00:00
ec803b3ef0 Remove gradle_project_test because it's not maintained.
This test was failing in 2017 and was disabled then.
https://crbug.com/webrtc/8642
It being removed because it doesn't really help to have failing tests as examples.

Bug: webrtc:13595
Change-Id: Ifa5d9b1068a65e699e0db1f59b2b227654c67637
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247903
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@google.com>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35796}
2022-01-26 09:24:41 +00:00
5f133dbc29 Field trial for pacing relative lower link capacity
This adds a field trial to change the pacing rate to pace
at a rate relative to max(bwe ,lower link capacity)





Bug: none
Change-Id: Ibe9ef3e08eb422e9abff6488780e82188958eeeb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248865
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35795}
2022-01-26 09:03:13 +00:00
7f761573b3 Cleanup of pc/proxy.h
Avoid implicit conversion from rtc::scoped_refptr to raw pointer, when
calling the MethodCall and ConstMethodCall constructors. Fixed by
defining a private accessor T* c() which always returns a raw pointer,
with different implementation for BEGIN_PROXY_MAP and
BEGIN_OWNED_PROXY_MAP.

Avoid using the same name for macro argument and function argument
within the macro definition, like `c` in:

```
#define PRIMARY_PROXY_MAP_BOILERPLATE(c) \
 protected: \
  c##ProxyWithInternal(rtc::Thread* primary_thread, INTERNAL_CLASS* c) \
      : primary_thread_(primary_thread), c_(c) {} \
```

Fixed by using `class_name` as the macro argument throughout.

Bug: webrtc:13464
Change-Id: I9faf095b004afd5225f5ec09fb782ef4b5c9dc5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249089
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35794}
2022-01-26 09:02:11 +00:00
a36f10bd73 Add a way to set keyframe request method on VideoReceiveStream
This patch adds a method for setting the keyframe request method
to VideoReceiveStream.

This code exists in the version that Mozilla is shipping, with a review
https://phabricator.services.mozilla.com/D105773 .

Bug: webrtc:13486
Change-Id: I7cc19dec95d6523368d73395319854bd8c2166f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/240140
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35793}
2022-01-26 08:09:40 +00:00
8a09610219 Update WebRTC code version (2022-01-26T04:06:28).
Bug: None
Change-Id: Ifcb2618ad33f459b85bc732b043965b1ddbd3289
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249321
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@{#35792}
2022-01-26 05:04:41 +00:00
6a3c2bcfa5 Roll chromium_revision 5505a6af21..a255778ed0 (963228:963344)
Change log: 5505a6af21..a255778ed0
Full diff: 5505a6af21..a255778ed0

Changed dependencies
* src/base: 3511067ea4..f012b10ec7
* src/build: 4ccf6f6d1e..1c8bf9081f
* src/ios: cda1dc6525..fa76094d85
* src/testing: af27e9f310..e57e877ab9
* src/third_party: c24260336c..d3ab616349
* src/third_party/depot_tools: c5f0cbb865..d05a2e0395
* src/tools: b7d497dbfa..d859e7e2c6
DEPS diff: 5505a6af21..a255778ed0/DEPS

No update to Clang.

BUG=None

Change-Id: I514066302bce0901a1d454c211d0ac538f3d2860
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249300
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@{#35791}
2022-01-26 02:17:00 +00:00
e33f5cf868 Roll chromium_revision e8048e7096..5505a6af21 (963073:963228)
Change log: e8048e7096..5505a6af21
Full diff: e8048e7096..5505a6af21

Changed dependencies
* src/base: 2004dc31c9..3511067ea4
* src/build: 04e66c68e0..4ccf6f6d1e
* src/ios: d4669e01df..cda1dc6525
* src/testing: 74d5680b7f..af27e9f310
* src/third_party: 5985519581..c24260336c
* src/third_party/freetype/src: 02fa26f4cd..267c6918d1
* src/tools: 9651542343..b7d497dbfa
DEPS diff: e8048e7096..5505a6af21/DEPS

No update to Clang.

BUG=None

Change-Id: I84441b4c606f4c5c0a1a8eff6671d42ed643e55e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249240
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@{#35790}
2022-01-25 22:24:29 +00:00
3f06d23d2f Roll chromium_revision 2d23298755..e8048e7096 (962971:963073)
Change log: 2d23298755..e8048e7096
Full diff: 2d23298755..e8048e7096

Changed dependencies
* src/base: e43e377270..2004dc31c9
* src/build: 949b669bd9..04e66c68e0
* src/buildtools/third_party/libc++abi/trunk: 579d5e5496..e4cc353cbf
* src/ios: 12759562b3..d4669e01df
* src/testing: 427e716890..74d5680b7f
* src/third_party: 0faf387dbb..5985519581
* src/tools: cf9c29a689..9651542343
DEPS diff: 2d23298755..e8048e7096/DEPS

No update to Clang.

BUG=None

Change-Id: Ia6fc66ddabba91ba4279b3eb583d6a302dbe966c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249180
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@{#35789}
2022-01-25 19:31:29 +00:00
f602a389ea Roll chromium_revision 2962054fb0..2d23298755 (961809:962971)
Change log: 2962054fb0..2d23298755
Full diff: 2962054fb0..2d23298755

Changed dependencies
* src/base: e622bde14a..e43e377270
* src/build: 906b90c327..949b669bd9
* src/buildtools/linux64: git_revision:80a40b07305373617eba2d5878d353532af77da3..git_revision:0725d7827575b239594fbc8fd5192873a1d62f44
* src/buildtools/mac: git_revision:80a40b07305373617eba2d5878d353532af77da3..git_revision:0725d7827575b239594fbc8fd5192873a1d62f44
* src/buildtools/third_party/libc++abi/trunk: fd0ef6db30..579d5e5496
* src/buildtools/third_party/libunwind/trunk: 295f84c04f..c8a5d430f2
* src/buildtools/win: git_revision:80a40b07305373617eba2d5878d353532af77da3..git_revision:0725d7827575b239594fbc8fd5192873a1d62f44
* src/ios: 015f2c06aa..12759562b3
* src/testing: 9ef62302b2..427e716890
* src/third_party: b4a203e0e4..0faf387dbb
* src/third_party/androidx: cvnN-qE6n5AuBxEsTtzpda1KG8oF_QAjRf62bBkmqhkC..tD6afWCDy8ThEQz5eRDILYCo5Oa0bZ0-daMLVxkS_7QC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8bc3659ded..d90eeee993
* src/third_party/depot_tools: b8f1ca3058..c5f0cbb865
* src/third_party/freetype/src: 0b635b1eb2..02fa26f4cd
* src/third_party/googletest/src: 2ddfdf819d..3d81736c97
* src/third_party/perfetto: bda2a707d5..d7b55ea623
* src/third_party/turbine: 8Wzi8_CpwqQkJeczCQavMiPI6wJMCSLh_4jpRwUIlSkC..RkSl7-UvBXltU55m5zi387oPTAJqTj3Oz6nIpQkOI4wC
* src/tools: 7f40597977..cf9c29a689
* src/tools/luci-go: git_revision:5b02a4aaeb5fd78d6fe41d6d54d1cb58da17f192..git_revision:09f8b3edbbf18dc63d0d5aa7722ae7acc20b11b4
* src/tools/luci-go: git_revision:5b02a4aaeb5fd78d6fe41d6d54d1cb58da17f192..git_revision:09f8b3edbbf18dc63d0d5aa7722ae7acc20b11b4
DEPS diff: 2962054fb0..2d23298755/DEPS

No update to Clang.

BUG=None

Change-Id: Ibe65423698c7314d33fb6f239b2fba45882bab3f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249160
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@{#35788}
2022-01-25 16:23:28 +00:00
7eac6caeee Don't use wall clock for stats
This uses the local NTP clock for RTCP report block stats.

This code exists in the version that Mozilla is shipping, with a review
here https://phabricator.services.mozilla.com/D127709 .

Bug: webrtc:13484
Change-Id: I2f46ec02acab0bbb09040778b05b248c2d815bd1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/240142
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35787}
2022-01-25 15:39:53 +00:00
027c793c57 Replace most explicit new RefCountedObject... with make_ref_counted
Bug: webrtc:12701
Change-Id: Iab91f1e96715eed7f9ddcfe1ca55510a18c817eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224544
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35786}
2022-01-25 14:28:12 +00:00
b428d6bad4 Add perkj@ as owner of congestion_controller
And remove srte and crodbro since they are no longer active.

Bug: none
Change-Id: I218e078c2803770cce93e3acb53cebd4eb771171
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249082
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35785}
2022-01-25 11:21:23 +00:00
d2a370f1c9 Refactor RtcEvent log events.
Bug: webrtc:11933
Change-Id: I1700f4b75c3608985c9027f7d6a866fef97ec38f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/246203
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35784}
2022-01-25 11:14:40 +00:00
8ad0be0ab1 Update link to chromium modern c++ page
The page was renamed in
https://chromium-review.googlesource.com/c/chromium/src/+/3399246

Bug: None
No-Try: true
Change-Id: I7ddfb6c91b61ec071fbac95a30c56161119cc683
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248863
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35783}
2022-01-25 11:07:43 +00:00
4c72f99d67 FrameBuffer2: Specify high precision repeated tasks.
This unblocks lowering the precision of low precision tasks which are
the default.

Bug: webrtc:13604
Change-Id: Icd663cbbf5b0bf87ac83a4a0abd58699e6e27e8f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248862
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35782}
2022-01-25 10:46:53 +00:00
2dd3915284 Make use of TaskQueue/TaskQueueBase's PostDelayedHighPrecisionTask.
Use cases of TaskQueue or TaskQueueBase that are considered high
precision are updated to make use of PostDelayedHighPrecisionTask
(see go/postdelayedtask-precision-in-webrtc) instead of PostDelayedTask.

The cases here are the ones covered by that document, plus some
testing-only uses. The FrameBuffer2 and DataTracker use cases will
be covered by separate CLs because FrameBuffer2 uses
RepeatingTaskHandle and DataTracker uses dcsctp::Timer.

This protects these use cases against regressions when PostDelayedTask
gets its precision lowered.

This CL also adds TaskQueue::PostDelayedHighPrecisionTask which calls
TaskQueueBase::PostDelayedHighPrecisionTask (same pattern as for
PostDelayedTask).

Bug: webrtc:13604
Change-Id: I7dcab59cbe4d274d27b734ceb4fc06daa12ffd0f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248864
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35781}
2022-01-25 08:57:36 +00:00
2d3186e001 Introduce a variant of rtc::split that returns a vector of string_view
Intended to be compatible with absl::StrSplit, but without the binary
cost of that dependency.

Bug: webrtc:13579
Change-Id: I167726903d74b8d5f299886cfb3e5d60610ddb93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247185
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35780}
2022-01-25 08:25:50 +00:00
3a88dd99c7 Update WebRTC code version (2022-01-25T04:05:44).
Bug: None
Change-Id: I9967224a6bf188e3224ee7fc1002667975ecd2b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249040
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@{#35779}
2022-01-25 06:32:56 +00:00
7abf45fe2c LSC: Apply clang-tidy's modernize-use-bool-literals
The check finds implicit conversions of integer literals to bools:
  bool b1 = 1;
  bool b2 = static_cast<bool>(1);
and transforms them to:
  bool b1 = true;
  bool b2 = true;

Bug: chromium:1290142
Change-Id: I6819a0bd2ca84ecadae08ed9389c17d2652589f4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248166
Auto-Submit: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35778}
2022-01-24 20:42:01 +00:00
9d230d54c7 (Un/)Subscribe RtpVideoSender for feedback on the transport queue.
* RtpVideoSender now registers/unregisters for feedback callback
  inside of SetActive(), which runs on the transport queue.
* Transport feedback is given on the transport queue
* Registration/unregistration for feedback is done on the same
* Removed the last mutex from TransportFeedbackDemuxer.

Ultimately, this work is related to moving state from the Call
class, that's related to network configuration, but due to the code
is currently written is attached to the worker thread, over to the
Transport, where it's used (e.g. suspended_video_send_ssrcs_).

Bug: webrtc:13517, webrtc:11993
Change-Id: I057d0e2597e6cb746b335e0308599cd547350e56
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248165
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35777}
2022-01-24 19:50:03 +00:00
27e8a095bf Add ability to specify delayed task precision in RepeatingTaskHandle.
See go/postdelayedtask-precision-in-webrtc for context of which use
cases are considered "high" or "low". Most use cases are "low" which
is the default, but this CL allows opting in to "high".

Will be used by FrameBuffer2.

Bug: webrtc:13604
Change-Id: Iebf6eea44779873e78746da749a39e1101b92819
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248861
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35776}
2022-01-24 17:56:50 +00:00
6f542d5e92 Move call to TransportFeedbackDemuxer::AddPacket to transport queue.
Before, this call was being made from the SendPacket path of the
pacer. The transport will post a task to the transport queue regardless
so this change moves the lock inside of the demuxer away from the
pacer and over to the transport queue.

Moving forward, the calls to register/unregister with the feedback
demuxer, will occur on the transport queue as well and we can change
the transport OnTransportFeedback() implementation to forward the
calls to the demuxer on the transport queue as well. That will bring
all calls into the same execution context and we won't need a lock.

Bug: webrtc:13517, webrtc:11993
Change-Id: If714ca6d2b164a1a2b6bcb8c99787372064a31a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248164
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35775}
2022-01-24 16:50:00 +00:00
3088941a5e Minor order change to Call::DestroyVideoSendStream.
Move StopPermanentlyAndGetRtpStates closer to being the last step of
the destruction process.

Bug: webrtc:11993
Change-Id: I83d86c505b05f5c10d0ce802494baba9aa645027
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239182
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@{#35774}
2022-01-24 14:33:40 +00:00