Commit Graph

35093 Commits

Author SHA1 Message Date
9dea393f17 Move MID/JsepTransport mappings into a new manager object.
This is part of the work to make Bundle handling understandable,
so that we can get it to work right.

Bug: webrtc:12837
Change-Id: I77f046b4bac2d9709460b3b956a2edc3df0cdaac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221745
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34261}
2021-06-10 07:10:47 +00:00
64e3a36668 Update WebRTC code version (2021-06-10T04:05:52).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: I59414deca69c95e6cfc0f1b58a0c36424bb500f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221880
Reviewed-by: 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/master@{#34260}
2021-06-10 05:09:17 +00:00
5e65dd5f25 Add MB configs for M1 bots
Bug: chromium:1155245
Change-Id: Id353dde5348a8792deb8b4040a15a69969f187f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221825
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34259}
2021-06-09 19:02:28 +00:00
3cc68ec32e Report stats from ChannelReceive::GetAudioFrameWithInfo at 1Hz.
This is a change from the previous 100Hz frequency.
Also changing the  locks slightly in AcmReceiver so that grabbing the
neteq lock right after we've let it go, isn't necessary inside of
AcmReceiver::GetAudio and also to avoid grabbing the neteq lock while
holding the AcmReceiver lock.

Bug: webrtc:12868
Change-Id: If6ee35f3dca20eb5bdbc615123aa099ccecf57c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221371
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34258}
2021-06-09 18:41:47 +00:00
e2e046452a Remove a couple of locks from ChannelReceive and add thread checks.
* Removes playing_lock_, sync_info_lock_ and video_sync_lock_.
* Also remove video_capture_thread_race_checker_ which was redundant.

Only video_sync_lock_ was actually needed. The other two aren't needed
anymore because of changes made to RtpStreamsSynchronizer class last
year (see webrtc:11489).

In the one case where we had a lock, we post a task to the thread
where the state is maintained. This task is for capturing histograms
which I'm not sure we should have been capturing on the audio thread
anyway.

Also making ChannelReceiveFrameTransformerDelegate compatible with more
tests by using TaskQueueBase instead of rtc::Thread. A number of tests
that instantiate ChannelReceive (and thereby CRFTD) set the worker
thread as a TQ and not actually an rtc::Thread instance. In those cases
CRFTD would previously have gotten a nullptr for the worker thread.

Bug: webrtc:11993
Change-Id: I59f4b2afbfedb06f241d9a613f8538adc19cd6d8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221364
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34257}
2021-06-09 16:07:02 +00:00
b56a63e470 dcsctp: Prevent overflow of missing parameters
This was found when fuzzing. If the specified number of parameter count
was larger than std::numeric_limits<size_t>::max()/2, the comparison
would overflow and read out-of-bounds. This would only apply to 32-bit
platforms and it would lead to a crash as it would access all of the
virtual memory range, and more.

Fixed: chromium:1216758
Change-Id: I2193d3ed078120b6c3e4645c0b16b9f230055e8d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221742
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34256}
2021-06-09 14:12:53 +00:00
6eda26c550 Reland "Remove AudioReceiveStream::Reconfigure() method."
This reverts commit 8a18e5b3c954a3f9cc006c90356a3d850bcc352f.

Reason for revert: Removing the problematic DCHECK.

Original change's description:
> Revert "Remove AudioReceiveStream::Reconfigure() method."
>
> This reverts commit e2561e17e29e62c02731f1d214d7ee5ffdaeb941.
>
> Reason for revert: Speculative revert: breaks an downstream project
>
> Original change's description:
> > Remove AudioReceiveStream::Reconfigure() method.
> >
> > Instead, adding specific setters that are needed at runtime:
> > * SetDepacketizerToDecoderFrameTransformer
> > * SetDecoderMap
> > * SetUseTransportCcAndNackHistory
> >
> > The whole config struct is big and much of the state it holds, needs to
> > be considered const. For that reason the Reconfigure() method is too
> > broad of an interface since it overwrites the whole config struct
> > and doesn't actually handle all the potential config changes that might
> > occur when the config changes.
> >
> > Bug: webrtc:11993
> > Change-Id: Ia5311978f56b2e136781467e44f0d18039f0bb2d
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221363
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Commit-Queue: Tommi <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#34252}
>
> TBR=saza@webrtc.org,nisse@webrtc.org,tommi@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
>
> Change-Id: I15ca2d8ee5fd612e13dc1f4b3bfb9c885c21dc66
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:11993
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221746
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Andrey Logvin <landrey@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34253}

# Not skipping CQ checks because this is a reland.

Bug: webrtc:11993
Change-Id: I0d3bf9abdcdc8d3f9259d014e6074a5e6b6cc73c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221747
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34255}
2021-06-09 13:26:15 +00:00
c0a95863bd Break out pc/session_description in its own build target (part 1)
As a side effect, break out pc/simulcast_description.

Step 1: Don't move the {h,cc} files; just declare the targets
so that downstream projects can add dependencies on it.

Bug: webtc:11967
Change-Id: Iad3d77513af418b664c1bef46070177ed24027fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221603
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34254}
2021-06-09 11:39:06 +00:00
8a18e5b3c9 Revert "Remove AudioReceiveStream::Reconfigure() method."
This reverts commit e2561e17e29e62c02731f1d214d7ee5ffdaeb941.

Reason for revert: Speculative revert: breaks an downstream project

Original change's description:
> Remove AudioReceiveStream::Reconfigure() method.
>
> Instead, adding specific setters that are needed at runtime:
> * SetDepacketizerToDecoderFrameTransformer
> * SetDecoderMap
> * SetUseTransportCcAndNackHistory
>
> The whole config struct is big and much of the state it holds, needs to
> be considered const. For that reason the Reconfigure() method is too
> broad of an interface since it overwrites the whole config struct
> and doesn't actually handle all the potential config changes that might
> occur when the config changes.
>
> Bug: webrtc:11993
> Change-Id: Ia5311978f56b2e136781467e44f0d18039f0bb2d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221363
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Commit-Queue: Tommi <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34252}

TBR=saza@webrtc.org,nisse@webrtc.org,tommi@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I15ca2d8ee5fd612e13dc1f4b3bfb9c885c21dc66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11993
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221746
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34253}
2021-06-09 10:24:20 +00:00
e2561e17e2 Remove AudioReceiveStream::Reconfigure() method.
Instead, adding specific setters that are needed at runtime:
* SetDepacketizerToDecoderFrameTransformer
* SetDecoderMap
* SetUseTransportCcAndNackHistory

The whole config struct is big and much of the state it holds, needs to
be considered const. For that reason the Reconfigure() method is too
broad of an interface since it overwrites the whole config struct
and doesn't actually handle all the potential config changes that might
occur when the config changes.

Bug: webrtc:11993
Change-Id: Ia5311978f56b2e136781467e44f0d18039f0bb2d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221363
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34252}
2021-06-09 09:39:30 +00:00
4ea80f35f1 Disable PT based demuxing if MID header extension is present.
We want to turn off PT based demux because SSRC-based endpoints that
send media prematurely (which is a popular non-standard behavior still
heavily in use) can otherwise get incorrect mappings and unsignalled
ssrc issues because of the PT demux path.

This CL disables PT based demuxing when the MID header extension is
present on all m= sections in the SDP for that kind (audio/video), not
caring if it was in the offer or answer. However if PT demuxing has been
used in the past then it is always allowed. This ensures PT is off by
default but that either offer or answer can enable PT and once it has
been on it is also possible to get early media with PT.

- Want PT-based demux? The MID header extension has to be removed in
  either the offer or the answer. Follow-up O/As allow PT demuxing if
  possible.
- Want to use MID or SSRC demuxing? Great, you don't need PT-based demux
  and won't mind that we turned it off for you.

The reason for disabling PT demux at offer time (if MID is present)
instead of waiting for the SDP answer is because by the time the SDP
answer arrives, early media could have triggered PT demux and caused
incorrect mappings. The safe thing is to assume a spec-compliant
endpoint until proven otherwise.

However if PT demux is ever enabled, then from that point on we always
allow PT-based demux in follow-up O/A exchanges. This ensures we don't
drop packets in follow-up exchanges. The fact that PT-based demux is
disabled during the initial offer should not matter because before the
initial O/A exchange we don't have fingerprints.

This change only affects Unified Plan and bundled groups. Existing test
coverage ensuring we do not break legacy endpoints:
[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/pc/peer_connection_integrationtest.cc;l=1156
[2] https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/webrtc/protocol/rtp-demuxing.html;l=59

UnsignaledStreamTest is also updated to test the interesting setups.
A kill-switch is added in case we want to disable this change.

Bug: webrtc:12814
Change-Id: I807a82a543325753633aaef698e06cb4c9dfebaa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221101
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34251}
2021-06-09 09:25:59 +00:00
33e75bb874 Roll chromium_revision 415567486a..d2f297f391 (890510:890623)
Change log: 415567486a..d2f297f391
Full diff: 415567486a..d2f297f391

Changed dependencies
* src/base: 94292e26b8..5b7059db9a
* src/build: 2367e0d9b9..921ea5898e
* src/buildtools: c793cca886..9d8449e380
* src/ios: dfc8f770ad..76fd3a66e2
* src/testing: 6f9b775a98..9ff56dc5b0
* src/third_party: a8c955adab..e7589e0105
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/3dd9864fea..7fffa4636c
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/859c953d28..df0a59ab02
* src/third_party/depot_tools: b9236628c6..4bb3a7d00d
* src/third_party/googletest/src: 53495a2a7d..5bcd8e3bb9
* src/third_party/perfetto: 853a6d0426..b9f666ed45
* src/tools: 58a1b6a76b..84ce063ff6
DEPS diff: 415567486a..d2f297f391/DEPS

No update to Clang.

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

Change-Id: I51629340ddcf68155718dca7abeb7b1405c6cc89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221780
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34250}
2021-06-09 06:36:14 +00:00
80d6669cf4 Roll chromium_revision 94153b0fd3..415567486a (890203:890510)
Change log: 94153b0fd3..415567486a
Full diff: 94153b0fd3..415567486a

Changed dependencies
* src/base: 5a68ea2e71..94292e26b8
* src/build: 867c91367b..2367e0d9b9
* src/ios: 4d744bfccd..dfc8f770ad
* src/testing: a62f8260df..6f9b775a98
* src/third_party: 9902a775a4..a8c955adab
* src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib: version:2@1.4.32.cr0..version:2@1.5.10.cr0
* src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib_common: version:2@1.4.32.cr0..version:2@1.5.10.cr0
* src/third_party/androidx: edF71ADEJsA1sqDrrY8PjDKnkcq2cl0b1QIqYCYBc7sC..X9QRQdySUF6AfnqQBWGClKiBkrEs0dsHy1AorJ0Ekt8C
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/d598390f02..859c953d28
* src/third_party/depot_tools: b508ecd932..b9236628c6
* src/third_party/freetype/src: 2a6665a4c0..08f66322e3
* src/third_party/perfetto: 5ca51f9111..853a6d0426
* src/third_party/r8: gXyBDv_fM87KnLcxvF5AGV5lwnm-JXIALYH8zrzdoaMC..b-pZFt8hs7xMMaJ7r94g-oiaVJSYzLOfpduSfYquzM4C
* src/tools: 09c4bddd98..58a1b6a76b
DEPS diff: 94153b0fd3..415567486a/DEPS

Clang version changed llvmorg-13-init-11999-g50c0aaed:llvmorg-13-init-11649-g4d788fb8
Details: 94153b0fd3..415567486a/tools/clang/scripts/update.py

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

Change-Id: Ia3a80a9affa2c43d48eaa12211a547cf2484cac3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221682
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34249}
2021-06-09 00:32:11 +00:00
58126f92bf Update the only 3 remaining kFilterBilinear to kFilterBox.
Bilinear is faster but lesser quality, box is best quality. Our code
base has disagreed about which filter to use for quite some time,
causing aliasing bug reports. In an effort to avoid aliasing artifacts
and make our scaling filters more predictable, we're updating all uses
to kFilterBox.

WebRTC already uses kFilterBox everywhere except for these three
places. The main discrepency was between Chromium and WebRTC but that
has already been fixed. This CL fixes the last remaining bilinears.

This brings the WebRTC kFilterBox use count up from 11 to 14 and the
kFilterBilinear use count down from 3 to 0.

Bug: chromium:1212630
Change-Id: I5fe4aa92b9275d65b91ea97925533055d190d317
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221372
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34248}
2021-06-08 13:19:23 +00:00
d9a135b088 Roll chromium_revision a72439959b..94153b0fd3 (889958:890203)
Change log: a72439959b..94153b0fd3
Full diff: a72439959b..94153b0fd3

Changed dependencies
* src/base: 3f16b04533..5a68ea2e71
* src/build: e3a96c8e5c..867c91367b
* src/ios: e5c25cbeaf..4d744bfccd
* src/testing: 447023e6cd..a62f8260df
* src/third_party: a749529524..9902a775a4
* src/third_party/androidx: SZh6kDBh5bVJm_ADaQfC6SaHIHPyAeMCYgYd3xRQsegC..edF71ADEJsA1sqDrrY8PjDKnkcq2cl0b1QIqYCYBc7sC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/c8ae7ec534..d598390f02
* src/third_party/depot_tools: 730b974ee7..b508ecd932
* src/third_party/perfetto: 0856d6eecd..5ca51f9111
* src/tools: a5750d3a3e..09c4bddd98
DEPS diff: a72439959b..94153b0fd3/DEPS

No update to Clang.

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

Change-Id: I5f7fa92ea4b02d19e133d02e99d701b5d008c022
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221680
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34247}
2021-06-08 12:39:13 +00:00
2aa24f1942 Move group-modifying functions into BundleManager
Bug: webrtc:12837
Change-Id: I886ec89427207e1dc291c9959f1b6113c97cbca3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221616
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34246}
2021-06-08 12:19:33 +00:00
9f9bf38805 Start refactoring bundle behavior into BundleManager
This is step 1: Encapsulating the data.

Bug: webrtc:12837
Change-Id: I15df30dc294c90136a90b072608ed4c2e8925dcb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221602
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34245}
2021-06-08 08:52:25 +00:00
2e1546887b Avoid generating a random id for candidate stats.
CandidateStats didn't use an initializer list which caused the
`candidate` member variable to be constructed with a random id
(calling an expensive rng method), only to be overwritten directly
thereafter.

Bug: webrtc:12840
Change-Id: I0366f674281d236896cb9539812dc2d88c1b37ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221600
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34244}
2021-06-08 08:00:01 +00:00
0fb949702b Update WebRTC code version (2021-06-08T04:04:02).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Idddcfd5a877bebe57ab9dfa56bddfb9c7acc31a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221583
Reviewed-by: 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/master@{#34243}
2021-06-08 05:43:09 +00:00
c6f2fef092 Roll chromium_revision 98040cdbe1..a72439959b (889744:889958)
Change log: 98040cdbe1..a72439959b
Full diff: 98040cdbe1..a72439959b

Changed dependencies
* src/base: 2f1ff63074..3f16b04533
* src/build: 5021a63bb8..e3a96c8e5c
* src/ios: 0f34c2d05e..e5c25cbeaf
* src/testing: a45949a818..447023e6cd
* src/third_party: 24ab3093b5..a749529524
* src/third_party/androidx: 8d-gGcc4KVhOnn2B-Od7eR421Q-sNZQ0U7dMrNz_VX4C..SZh6kDBh5bVJm_ADaQfC6SaHIHPyAeMCYgYd3xRQsegC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8bf7a0b3c8..c8ae7ec534
* src/third_party/depot_tools: a5b6b2f8b7..730b974ee7
* src/third_party/harfbuzz-ng/src: 7ab0f4eda9..4811e8f5d7
* src/third_party/perfetto: 468c71c71f..0856d6eecd
* src/tools: d92ea2e55e..a5750d3a3e
DEPS diff: 98040cdbe1..a72439959b/DEPS

No update to Clang.

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

Change-Id: I6a0cf41fba1cb69f14aee93dd4df7c34e8383449
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221620
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34242}
2021-06-07 22:42:41 +00:00
da8a45fdaa AllocationSequence: migrate from rtc::Message to TaskQueue.
AllocationSequence uses legacy rtc::Thread message handling. In order
to cancel callbacks it uses rtc::Thread::Clear() which uses locks and
necessitates looping through all currently queued (unbounded) messages
in the thread. In particular, these Clear calls are common during
negotiation and the probability of having a lot of queued messages is
high due to a long-running network thread function invoked on the
network thread.

Fix this by migrating AllocationSequence to task queues.

Bug: webrtc:12840, webrtc:9702
Change-Id: I42bbdb59fb2c88b50e866326ba15134dcc6ce691
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221369
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34241}
2021-06-07 18:15:34 +00:00
dedcdfeba3 AllocationSequence: switch signal to callback.
Bug: webrtc:12840
Change-Id: Ic25ceb9a487b28575ab7530c54b13781ed404f7a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221367
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34240}
2021-06-07 17:33:34 +00:00
fd89fc75cc BasicPortAllocatorSession: migrate to TaskQueue.
Removes dependence on rtc::Thread APIs from BPAS, which removes
the need to remove callbacks via rtc::Thread::Clear().

Bug: webrtc:12840
Change-Id: I0bcc1828c5ab38f521b583f52707174961f28e8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221366
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34239}
2021-06-07 16:40:54 +00:00
637a9eebd7 Roll chromium_revision 8d359ae542..98040cdbe1 (889625:889744)
Change log: 8d359ae542..98040cdbe1
Full diff: 8d359ae542..98040cdbe1

Changed dependencies
* src/base: 1b195da248..2f1ff63074
* src/build: e353b02625..5021a63bb8
* src/buildtools: eb65cc3594..c793cca886
* src/ios: e470857626..0f34c2d05e
* src/testing: 8dc98b062a..a45949a818
* src/third_party: 07fdd542df..24ab3093b5
* src/third_party/perfetto: 2d7bf1e435..468c71c71f
* src/tools: 0ccc146add..d92ea2e55e
DEPS diff: 8d359ae542..98040cdbe1/DEPS

No update to Clang.

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

Change-Id: Ie16def31747095040cc66cd2f0e3e3e2bed8317b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221446
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34238}
2021-06-07 14:48:41 +00:00
518669d6d4 Add more trace events to interesting places.
Bug: webrtc:12840
Change-Id: I57e5373ae33060bd3743cea8ada21c845cbbd944
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221365
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34237}
2021-06-07 13:43:07 +00:00
a94a4cc197 Roll chromium_revision 2951ce9ba1..8d359ae542 (889518:889625)
Change log: 2951ce9ba1..8d359ae542
Full diff: 2951ce9ba1..8d359ae542

Changed dependencies
* src/base: 47c75183d7..1b195da248
* src/build: 5f88cb3c2c..e353b02625
* src/ios: 76595faf30..e470857626
* src/testing: 0231deaeb8..8dc98b062a
* src/third_party: 672883196a..07fdd542df
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/84decbd7a4..8bf7a0b3c8
* src/third_party/depot_tools: 3ba11d965c..a5b6b2f8b7
* src/tools: 1e3438b50c..0ccc146add
DEPS diff: 2951ce9ba1..8d359ae542/DEPS

Clang version changed llvmorg-13-init-11649-g4d788fb8:llvmorg-13-init-11999-g50c0aaed
Details: 2951ce9ba1..8d359ae542/tools/clang/scripts/update.py

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

Change-Id: I37495c771784dad3cf7c71a9a80fa937015a5033
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221460
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34236}
2021-06-06 22:42:28 +00:00
5032f54dd3 Update WebRTC code version (2021-06-06T04:02:33).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Iebd999259a109a0776f36b1cd49b4d3debd64260
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221400
Reviewed-by: 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/master@{#34235}
2021-06-06 05:17:07 +00:00
b60ebfeac9 Roll chromium_revision f54fe52cfb..2951ce9ba1 (889417:889518)
Change log: f54fe52cfb..2951ce9ba1
Full diff: f54fe52cfb..2951ce9ba1

Changed dependencies
* src/base: bc326ab4e8..47c75183d7
* src/ios: 180aa0046f..76595faf30
* src/testing: df91f460b6..0231deaeb8
* src/third_party: fb53793609..672883196a
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/b8eb01bccd..84decbd7a4
* src/third_party/depot_tools: 8b3bc259a0..3ba11d965c
* src/tools: bbe63f05b8..1e3438b50c
DEPS diff: f54fe52cfb..2951ce9ba1/DEPS

No update to Clang.

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

Change-Id: I5415a126b567ed6ef06ee338486528c9c35a40c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221347
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34234}
2021-06-05 00:32:09 +00:00
b6d50e3a17 Handle encoder_ == nullptr in VideoStreamEncoder::EncodeVideoFrame.
This is to address a test failure seen on the msan bot(s).

Tbr: handellm@webrtc.org
Bug: webrtc:12857
Change-Id: I77cbe158e3d0aae62d4a4c0783d5ee6d74edcc22
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221362
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34233}
2021-06-04 21:06:36 +00:00
f277300ce5 Roll chromium_revision 44fa1f9723..f54fe52cfb (889277:889417)
Change log: 44fa1f9723..f54fe52cfb
Full diff: 44fa1f9723..f54fe52cfb

Changed dependencies
* src/base: ebd72f5c3a..bc326ab4e8
* src/ios: 3321bf9f5d..180aa0046f
* src/testing: f39abc2692..df91f460b6
* src/third_party: 3261a3665e..fb53793609
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/712eb08096..b8eb01bccd
* src/third_party/depot_tools: 8891092106..8b3bc259a0
* src/third_party/perfetto: 5874d918cf..2d7bf1e435
* src/tools: a761ddb116..bbe63f05b8
DEPS diff: 44fa1f9723..f54fe52cfb/DEPS

No update to Clang.

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

Change-Id: If3540b1e191c7d58523f3900e7ca763c934012ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221345
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34232}
2021-06-04 20:41:16 +00:00
1a778a24ba Avoid using legacy rtp header parser in the rtp_to_text tool
Bug: None
Change-Id: I4c0ab1ba7730bdcdd826aa41b67b80a96d92c8f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221204
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34231}
2021-06-04 16:41:23 +00:00
1b63db956f Move AV1X-AV1 mapping to VideoCodecTypeMime
AV1X->AV1 mapping added to SdpVideoFormatToVideoCodecInfo in
https://webrtc-review.googlesource.com/c/src/+/215586 results in
discrepancy of codec name between SDP and VideoCodecInfo. That violates
VideoCodecInfo design and breaks downstream projects.

This CL moves the mapping from VideoCodecInfoToSdpVideoFormat and
SdpVideoFormatToVideoCodecInfo to VideoCodecTypeMime.

Bug: b/181690054
Change-Id: I2a76524c29b082241f2ec72a60a209ce9b0c7c5f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221205
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34230}
2021-06-04 15:38:48 +00:00
e34380a160 Roll chromium_revision b54a8c30e7..44fa1f9723 (889150:889277)
Change log: b54a8c30e7..44fa1f9723
Full diff: b54a8c30e7..44fa1f9723

Changed dependencies
* src/base: b006ae39d1..ebd72f5c3a
* src/build: bf4ecd926c..5f88cb3c2c
* src/ios: 5bd5c4f9b4..3321bf9f5d
* src/testing: 10cb761b19..f39abc2692
* src/third_party: d030bb4cd0..3261a3665e
* src/third_party/depot_tools: 9705687c25..8891092106
* src/third_party/perfetto: ae2171b89c..5874d918cf
* src/tools: 5617cf30e7..a761ddb116
* src/tools/luci-go: git_revision:c9957ed0ce0fd363aac127056344eba1b873bad0..git_revision:2cc9805d5ad186367461ef1c4f0c59098b450418
* src/tools/luci-go: git_revision:c9957ed0ce0fd363aac127056344eba1b873bad0..git_revision:2cc9805d5ad186367461ef1c4f0c59098b450418
* src/tools/luci-go: git_revision:c9957ed0ce0fd363aac127056344eba1b873bad0..git_revision:2cc9805d5ad186367461ef1c4f0c59098b450418
DEPS diff: b54a8c30e7..44fa1f9723/DEPS

No update to Clang.

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

Change-Id: Ic4beb4c1f5fdf4d036dae8e0b2fd2bc79d9c2a53
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221342
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34229}
2021-06-04 15:03:17 +00:00
a334dc68f3 Make VideoSendStream::UpdateActiveSimulcastLayers not block.
UpdateActiveSimulcastLayers has been blocking
WebRtcVideoChannel::SetSend which may be called quite frequently during
negotiations. This CL changes UpdateActiveSimulcastLayers to not
synchronize with the transport's task queue to wait for the changes to
get applied.

This synchronization is quite costly, but so too are other remaining
things in VideoSendStream, so we should aim to get rid of the
`thread_sync_event_` in VideoSendStream.

Bug: webrtc:12840, webrtc:12854
Change-Id: Idb48d29b6b8382881c7c1e6f1d0f5e708dbca30f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221203
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34228}
2021-06-04 12:32:24 +00:00
d25af8ceac doc: document rtp payload type mapping behaviour
documents the various payload type mappers used by WebRTC.

BUG=webrtc:12194,webrtc:12295
No-try: true

Change-Id: I88e2388f54e72db5e5fe0f72fa4fe4c455c99679
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220936
Commit-Queue: Philipp Hancke <phancke@nvidia.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34227}
2021-06-04 06:23:32 +00:00
bc8e17583a Roll chromium_revision a11573a242..b54a8c30e7 (888935:889150)
Change log: a11573a242..b54a8c30e7
Full diff: a11573a242..b54a8c30e7

Changed dependencies
* src/build: 2c4263f17a..bf4ecd926c
* src/buildtools: cd7b8c0c22..eb65cc3594
* src/ios: 583ff3aa05..5bd5c4f9b4
* src/testing: 140293d8d4..10cb761b19
* src/third_party: 7dd03bb83f..d030bb4cd0
* src/third_party/androidx: 5wEAJbMDQJnCxXbN6hMn66IR4akg1G25HQtc_8_7Vz0C..8d-gGcc4KVhOnn2B-Od7eR421Q-sNZQ0U7dMrNz_VX4C
* src/third_party/depot_tools: 85557a08f4..9705687c25
* src/third_party/icu: f022e298b4..a0718d4f12
* src/third_party/perfetto: d355130be3..ae2171b89c
* src/tools: 455291f3e9..5617cf30e7
DEPS diff: a11573a242..b54a8c30e7/DEPS

Clang version changed llvmorg-13-init-10392-gd3676d4b:llvmorg-13-init-11649-g4d788fb8
Details: a11573a242..b54a8c30e7/tools/clang/scripts/update.py

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

Change-Id: Id1593e0a5d9bb5103d9d81f4ce9539d6566e7a24
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221301
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34226}
2021-06-04 05:23:36 +00:00
ffbfba979f Added PeerConnectionObserverJni::OnRemoveTrack()
Change-Id: I0880caa77a1097f56c560152e85c9ca29242f825

This PR add support for the `PeerConnectionObserverJni::OnRemoveTrack()`
event on Java, allowing to be notified when a remote track has been
removed. It's a very thing JNI wrapper on top of C++ API, being mostly
similar to other already available events like `track` and `addTrack`.

In Javascript API, tracks are not "removed" explicitly from the
PeerConnection, but instead receiver PeerConnection gets notified that
they have been removed from the streams they are associated to, and when
no `MediaStream` object has that track, it's considered that the track
has been removed from the PeerConnection. In Java and C++ APIs there's no
`MediaStreamObserver` class, so there's no way to listen to the
`removeTrack` event the same way happens in Javascript API, but instead
C++ API has a `removeTrack` event at PeerConnection level. This patchset
just only wraps and expose this `removeTrack` event from the C++ API to
the Java API.

This PR has been sponsored by Atos Research and Innovation
(https://atos.net/en/about-us/innovation-and-research).

Bug: webrtc:12850
Change-Id: I0880caa77a1097f56c560152e85c9ca29242f825
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218847
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34225}
2021-06-03 19:24:55 +00:00
1050fbca91 Remove synchronization from VideoSendStream construction.
* Make VideoSendStream and VideoSendStreamImpl construction non-blocking.
* Move ownership of the rtp video sender to VideoSendStream.
* Most state is constructed in initializer lists.
* More state is now const (including VideoSendStreamImpl ptr)
* Adding thread checks to classes that appear to have had a race before
  E.g. RtpTransportControllerSend. The change in threading now actually
  fixes an issue we weren't aware of.
* Moved from using weak_ptr to safety flag and made some PostTask calls
  cancellable that could potentially have been problematic. Initalizing
  the flag without thread synchronization is also simpler.

This should speed up renegotiation significantly when there are
multiple channels. A follow-up change will improve SetSend as well
which is another costly step during renegotiation.

Bug: webrtc:12840
Change-Id: If4b28da5a085643ce132c7cfcf80a62cd1a625c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221105
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34224}
2021-06-03 19:13:45 +00:00
c2b4d9be15 Roll chromium_revision fb5254ac9f..a11573a242 (888818:888935)
Change log: fb5254ac9f..a11573a242
Full diff: fb5254ac9f..a11573a242

Changed dependencies
* src/base: 35b913846d..b006ae39d1
* src/ios: d3def84971..583ff3aa05
* src/testing: b97a23bcf3..140293d8d4
* src/third_party: 49f08c53e5..7dd03bb83f
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ec690bb8de..712eb08096
* src/third_party/depot_tools: c8f63d390c..85557a08f4
* src/third_party/perfetto: 8545284860..d355130be3
* src/tools: c527efca77..455291f3e9
* src/tools/luci-go: git_revision:abd26383ec208bf080ee8585d1495e7f75483ec9..git_revision:c9957ed0ce0fd363aac127056344eba1b873bad0
* src/tools/luci-go: git_revision:abd26383ec208bf080ee8585d1495e7f75483ec9..git_revision:c9957ed0ce0fd363aac127056344eba1b873bad0
* src/tools/luci-go: git_revision:abd26383ec208bf080ee8585d1495e7f75483ec9..git_revision:c9957ed0ce0fd363aac127056344eba1b873bad0
DEPS diff: fb5254ac9f..a11573a242/DEPS

No update to Clang.

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

Change-Id: Ide8dbdaaacdb5fb504622a2d893ea4b416f4df83
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221260
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34223}
2021-06-03 18:24:05 +00:00
52c7fd6be5 Modernize style in RemoteBitrateEstimatorAbsSendTime implementation
Use dedicated DataSize/DataRate/Time classes instead plain integers
this avoid subtle overflows and makes code easier to follow.

Hide helper structs Probe and Cluster as private structs.
User foreach loops where possible.
Make private constants constexpr instead of using enum hack

Bug: None
Change-Id: I3e71dc1254d7ff8ce71e051de53f0459bfa5264d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219795
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34222}
2021-06-03 14:37:33 +00:00
43eb4f5886 Roll chromium_revision fee5f397ef..fb5254ac9f (888712:888818)
Change log: fee5f397ef..fb5254ac9f
Full diff: fee5f397ef..fb5254ac9f

Changed dependencies
* src/base: d602a0b2fc..35b913846d
* src/build: 20ee3d5c60..2c4263f17a
* src/ios: 337b65b7a2..d3def84971
* src/testing: 1e3826a9d7..b97a23bcf3
* src/third_party: 86b3f37f3a..49f08c53e5
* src/third_party/androidx: 8d-gGcc4KVhOnn2B-Od7eR421Q-sNZQ0U7dMrNz_VX4C..5wEAJbMDQJnCxXbN6hMn66IR4akg1G25HQtc_8_7Vz0C
* src/tools: f1cb971510..c527efca77
* src/tools/luci-go: git_revision:3e796d36914b6ddf5311374284e3ffa06c24fc7e..git_revision:abd26383ec208bf080ee8585d1495e7f75483ec9
* src/tools/luci-go: git_revision:3e796d36914b6ddf5311374284e3ffa06c24fc7e..git_revision:abd26383ec208bf080ee8585d1495e7f75483ec9
* src/tools/luci-go: git_revision:3e796d36914b6ddf5311374284e3ffa06c24fc7e..git_revision:abd26383ec208bf080ee8585d1495e7f75483ec9
DEPS diff: fee5f397ef..fb5254ac9f/DEPS

No update to Clang.

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

Change-Id: Ic40dad6de0058a8e452111b78759a6cadad79255
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221221
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34221}
2021-06-03 13:01:39 +00:00
096014345f Add a function to check if the packet in a PacketResult has been received.
Bug: webrtc:12839
Change-Id: I0ee2b8fa0dfffd2bda2cba0e360b5f5815bbca9d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221102
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34220}
2021-06-03 12:42:49 +00:00
47f5f8c160 Reduce usage of RtpHeaderParser::CreateForTest in favor of RtpPacket
As a step to delete the legacy rtp packet parser.

Bug: None
Change-Id: I2aae86bc8847acd76cdd89007273a99f0298fdb9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221109
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34219}
2021-06-03 12:29:09 +00:00
943e2e6a57 Revert "Fix incorrect SSRC in RtpPacketSendInfo for RTX packets."
This reverts commit 82aa094a970a2c37634378910116bbe1d5abc633.

Reason for revert: Causes regression for an upstream project

Original change's description:
> Fix incorrect SSRC in RtpPacketSendInfo for RTX packets.
>
> Bug: webrtc:12713
> Change-Id: I1b5fb947ffe4ac80e23a6b891ea1a2c2156ba81f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218000
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34177}

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

Bug: webrtc:12713
Change-Id: I20facf724bdb0136e7eb079c4834575184764174
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221202
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34218}
2021-06-03 11:59:39 +00:00
fa3ce637fa Simplify VideoSendStreamImpl constructor.
Also renaming 'worker_queue_' variables to 'rtp_transport_queue' to
avoid confusion with the worker thread.

Bug: webrtc:12840
Change-Id: Ia647a9a5ed8fdc59929f5b7ac222328ccd129a18
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221140
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34217}
2021-06-03 11:48:39 +00:00
84f4ca62f0 Remove workaround for broken nearby build in Chrome
https://crbug.com/1212611 was fixed. I confirmed that the Chrome
build works with these includes removed.

Bug: None
Change-Id: I68b0b6fed0562c6f6c981ddb326aa628352382fd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221200
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34216}
2021-06-03 11:44:09 +00:00
e902f28d2a Make VideoSendStreamImpl::configured_pacing_factor_ const
Bug: webrtc:12840
Change-Id: Ie479aa39437e373f3dc84de663dc5641d847ded9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221110
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34215}
2021-06-03 10:57:19 +00:00
28e9653b1f Remove dependency on RtpVideoSenderInterface from EncoderRtcpFeedback.
This removes the two step initialization and explicit circular
dependency between the sender and the observer that complicates
construction and making members const that should be.
Moving forward the encoder feedback instance will move to a different
class, so this CL is one part of making that change possible.

Also removing an unnecessary mutex and replacing with a checker.

Bug: webrtc:12840
Change-Id: I21694806b122592de0cd1e1d96f241d339a0860f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221108
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34214}
2021-06-03 10:46:49 +00:00
1d2b22e193 Use pixels from single active stream if set for balanced degradation settings.
Bug: none
Change-Id: Id9d8dd5a447ea99f080fc597b28afd9fbbe90db2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220922
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34213}
2021-06-03 10:20:56 +00:00
2a25a96973 Disable flacky tests on mac bots
Bug: webrtc:12846
Change-Id: I4bde0e2533e499c0dcc92582288c3c22a2662b08
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221201
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34212}
2021-06-03 09:40:38 +00:00