Commit Graph

33129 Commits

Author SHA1 Message Date
0f57e0b646 Make libjingle_peerconnection_metrics_default_jni available in Linux builds.
TBR=hta@webrtc.org

Bug: None
Change-Id: Ida28fc45071762b57b938dc1269f1876c5049cb9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215322
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33747}
2021-04-15 19:55:09 +00:00
9fea310a62 Fix crash in WindowCapturerWinGdi::CaptureFrame.
A couple crashes have been reported in Chromium due to us dereferencing
|result.frame| which can be a nullptr.

This bug tracks the addition of new test cases which will help us
avoid issues like this in the future:
https://bugs.chromium.org/p/webrtc/issues/detail?id=12682

Bug: chromium:1199257
Change-Id: I720dd6ceb38938dc392f0924acf2cac287bfcffc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215340
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Austin Orion <auorion@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#33746}
2021-04-15 18:22:48 +00:00
a80c3e5352 sctp: Reorganize build targets
Bug: webrtc:12614
Change-Id: I2d276139746bb8cafdd5c50fe4595e60a6b1c7fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215234
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33745}
2021-04-15 17:00:56 +00:00
6c7c495764 doc: fix ice metadata + spelling
Bug: webrtc:12550
Change-Id: Iebb5c071992e89927142bfa1e4e8d20d5c4a5295
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215221
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/master@{#33744}
2021-04-15 16:26:41 +00:00
fedd5029c5 Expose AV1 encoder&decoder from Android SDK.
Bug: None
Change-Id: Ie32be36da498d4bed2a3cf51aa6abc8838e42da1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212024
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Yura Yaroshevich <yura.yaroshevich@gmail.com>
Cr-Commit-Position: refs/heads/master@{#33743}
2021-04-15 15:12:21 +00:00
572f50fc04 Delete left-over references to AsyncInvoker
Bug: webrtc:12339
Change-Id: I16c7e83a043939e76ee7cd0cb9402bc08584eb6c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/213142
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33742}
2021-04-15 10:43:00 +00:00
affd2196a9 Delete AsyncInvoker usage from SimulatedPacketTransport
Bug: webrtc:12339
Change-Id: Ic293f9c8791ec24025f9eac39cbc4fcf2583d3ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212867
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Taylor <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33741}
2021-04-15 10:35:30 +00:00
bc959b61b3 Remove enable_rtp_data_channel
This denies the ability to request RTP data channels to callers.
Later CLs will rip out the actual code for creating these channels.

Bug: chromium:928706
Change-Id: Ibb54197f192f567984a348f1539c26be120903f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177901
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33740}
2021-04-15 10:20:00 +00:00
fa8a9465d5 Remove obsolete DCHECK in remote_audio_source.cc.
When fixing so that RemoteAudioSource does not end the track just
because the audio channel is gone in Unified Plan[1], this made it
possible for ~PeerConnection to delete all objects, including deleting
the MediaStreamTrack and its RemoteAudioSource, when all tracks are not
in an ended state.

In a real application or Chromium, the PeerConnection would not be
destroyed prior to closing and not hit this DCHECK. But in upstream
dependent projects' unit tests, it would be possible for ref counted
tracks to be destroyed when the track are still kLive, and as a
side-effect hit this DCHECK.

sinks_ is just a list of raw pointers, and whether or not we have done
sinks_.clear() prior to destruction is irrelevant going forward.

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

Bug: chromium:1121454
Change-Id: If6cf3dffcd3cb47d46694755b5dc45fa381285fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215226
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33739}
2021-04-15 10:18:40 +00:00
17490b53d2 Fix regression in UsrSctpReliabilityTest
These tests, not run by default, were broken by
https://webrtc-review.googlesource.com/c/src/+/212862.

Bug: webrtc:12339
Change-Id: I442795d72d1a162f5b1abe80f466469b2bc32ed4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/213424
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Taylor <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33738}
2021-04-15 09:32:00 +00:00
403e32898a Fix build with rtc_libvpx_build_vp9=false
Like aom and openh264, VP9 can be disabled with the gn argument.

Bug: None
Change-Id: I7d67e3946afae0bb4cac8a7e591445604dda9ce1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215260
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33737}
2021-04-15 08:42:20 +00:00
980c4601e1 AGC2: retuning and large refactoring
- Bug fix: the desired initial gain quickly dropped to 0 dB hence
  starting a call with a too low level
- New tuning to make AGC2 more robust to VAD mistakes
- Smarter max gain increase speed: to deal with an increased threshold
  of adjacent speech frames, the gain applier temporarily allows a
  faster gain increase to deal with a longer time spent waiting for
  enough speech frames in a row to be observed
- Saturation protector isolated from `AdaptiveModeLevelEstimator` to
  simplify the unit tests for the latter (non bit-exact change)
- AGC2 adaptive digital config: unnecessary params deprecated
- Code readability improvements
- Data dumps clean-up and better naming

Bug: webrtc:7494
Change-Id: I4e36059bdf2566cc2a7e1a7e95b7430ba9ae9844
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215140
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33736}
2021-04-14 19:01:01 +00:00
d28434bd3f Configure GN to use python3 to exec_script.
Bug: None
Change-Id: Ifdc79cf363e072ee5eb0a713268fe12851c8a87e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215229
Reviewed-by: Dirk Pranke <dpranke@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33735}
2021-04-14 17:54:11 +00:00
dad500a728 Remove PacketBuffers internal mutex.
In RtpVideoStreamReceiver2 it can be protected by the `worker_task_checker_` instead.

Bug: webrtc:12579
Change-Id: I4f7d64f16172139eddc7a3e07d1dbbf338beaf2e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215224
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33734}
2021-04-14 16:05:51 +00:00
61982a7f2d AGC2 lightweight noise floor estimator
The current noise level estimator has a bug due to which the estimated
level decays to the lower bound in a few seconds when speech is observed.
Instead of fixing the current implementation, which is based on a
stationarity classifier, an alternative, lightweight, noise floor
estimator has been added and tuned for AGC2.

Tested on several AEC dumps including HW mute, music and fast talking.

Bug: webrtc:7494
Change-Id: Iae4cff9fc955a716878f830957e893cd5bc59446
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214133
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33733}
2021-04-14 15:56:41 +00:00
3ab7a55f6e Reformat pacer doc and add it into sitemap
Bug: webrtc:12545
Change-Id: I0f982f18e14d4885d235696e30666c96d68caf0b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215223
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33732}
2021-04-14 15:02:49 +00:00
9aec8c239f Use default rtp parameters to init wrappers in iOS
Before these changes default initialized iOS wrappers
around various RTP*Parameters types had their own
default values of nonnull values, which did not always
matched default values from native code, which then causes
override of default native values, if library user didn't
specified it's own initialization.
After these changes default initialization of iOS wrappers
uses default property values from default initialized
native types.

Bug: None
Change-Id: Ie21a7dc38ddc3862aca8ec424859c776c67b1388
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215220
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33731}
2021-04-14 12:20:17 +00:00
89f3dd5bf7 Make RTC_LOG_THREAD_BLOCK_COUNT less spammy for known call counts
Also removing a count check from DestroyTransceiverChannel that's
not useful right now. We can bring it back when we have
DestroyChannelInterface better under control as far as Invokes goes.

Bug: none
Change-Id: I8e9c55a980f8f20e8b996fdc461fd90b0fbd4f3d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215201
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33730}
2021-04-14 12:19:12 +00:00
5744b7fce7 Fix formatting in sitemap.md
Bug: webrtc:12545
Change-Id: I97e287a97e90e9df2c233f07844aaa369d52b75d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215202
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33729}
2021-04-14 12:18:01 +00:00
08d30a2a38 Add documentation for video/adaptation
Bug: webrtc:12564
Change-Id: I24e807be6e7bbf1cd6d8b7ed0fa25bde6b257f34
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215078
Commit-Queue: Evan Shrubsole <eshr@google.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33728}
2021-04-14 10:14:45 +00:00
24bc419303 Revert "Fix RTP header extension encryption"
This reverts commit a743303211b89bbcf4cea438ee797bbbc7b59e80.

Reason for revert: Breaks downstream tests that attempt to call FindHeaderExtensionByUri with 2 arguments. Could you keep the old 2-argument method declaration and just forward the call to the new 3-argument method with a suitable no-op filter?

Original change's description:
> Fix RTP header extension encryption
>
> Previously, RTP header extensions with encryption had been filtered
> if the encryption had been activated (not the other way around) which
> was likely an unintended logic inversion.
>
> In addition, it ensures that encrypted RTP header extensions are only
> negotiated if RTP header extension encryption is turned on. Formerly,
> which extensions had been negotiated depended on the order in which
> they were inserted, regardless of whether or not header encryption was
> actually enabled, leading to no extensions being sent on the wire.
>
> Further changes:
>
> - If RTP header encryption enabled, prefer encrypted extensions over
>   non-encrypted extensions
> - Add most extensions to list of extensions supported for encryption
> - Discard encrypted extensions in a session description in case encryption
>   is not supported for that extension
>
> Note that this depends on https://github.com/cisco/libsrtp/pull/491 to get
> into libwebrtc (cherry-pick or bump libsrtp version). Otherwise, two-byte
> header extensions will prevent any RTP packets being sent/received.
>
> Bug: webrtc:11713
> Change-Id: Ia0779453d342fa11e06996d9bc2d3c826f3466d3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177980
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Taylor <deadbeef@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#33723}

TBR=deadbeef@webrtc.org,terelius@webrtc.org,hta@webrtc.org,lennart.grahl@gmail.com

Change-Id: I7df6b0fa611c6496dccdfb09a65ff33ae4a52b26
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11713
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215222
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33727}
2021-04-14 10:10:07 +00:00
dea5721efb Adding g3doc for AudioProcessingModule (APM)
Bug: webrtc:12569
Change-Id: I8fa896a5afa9791ad6d8c2b5011d1e75ca068df4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215141
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33726}
2021-04-14 09:40:25 +00:00
9861f960c3 dcsctp: Add operators on TimeMs and DurationMs
To be able to use them type-safely, they should support native
operators (e.g. adding a time and a duration, or subtracting two time
values), as the alternative is to manage them as numbers.

Yes, this makes them behave a bit like absl::Time/absl::Duration.

Bug: webrtc:12614
Change-Id: I4dea12e33698a46e71fb549f44c06f2f381c9201
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215143
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33725}
2021-04-14 09:21:15 +00:00
8181b4f1e0 Add conceptual documentation for NetEq.
Many things are omitted in this doc and it can definitely be improved,
but I hope it captures the most important parts.

Bug: webrtc:12568
Change-Id: I13097d633ca19cecc9dd43bdb777b0ca48f151dd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215142
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33724}
2021-04-14 09:17:05 +00:00
a743303211 Fix RTP header extension encryption
Previously, RTP header extensions with encryption had been filtered
if the encryption had been activated (not the other way around) which
was likely an unintended logic inversion.

In addition, it ensures that encrypted RTP header extensions are only
negotiated if RTP header extension encryption is turned on. Formerly,
which extensions had been negotiated depended on the order in which
they were inserted, regardless of whether or not header encryption was
actually enabled, leading to no extensions being sent on the wire.

Further changes:

- If RTP header encryption enabled, prefer encrypted extensions over
  non-encrypted extensions
- Add most extensions to list of extensions supported for encryption
- Discard encrypted extensions in a session description in case encryption
  is not supported for that extension

Note that this depends on https://github.com/cisco/libsrtp/pull/491 to get
into libwebrtc (cherry-pick or bump libsrtp version). Otherwise, two-byte
header extensions will prevent any RTP packets being sent/received.

Bug: webrtc:11713
Change-Id: Ia0779453d342fa11e06996d9bc2d3c826f3466d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177980
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Taylor <deadbeef@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33723}
2021-04-14 08:53:45 +00:00
84ba1643c2 Change from sakal@webrtc.org to xalep@webrtc.org in OWNERS files.
Auto generated with:

git grep -l "sakal@webrtc.org" | xargs sed -i '' -e 's/sakal/xalep/g'

No-Try: True
Bug: webrtc:12673
Change-Id: Ic1d4e8c655725d490a0e2b0d492e42edc9aa919c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215147
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33722}
2021-04-14 08:27:54 +00:00
c54f6722ce dcsctp: Fix post-review comments for DataTracker
These are some fixes that were added after submission of
https://webrtc-review.googlesource.com/c/src/+/213664

Mainly:

 * Don't accept TSNs that have a too large difference from expected
 * Renaming of member variable (to confirm to style guidelines)

Bug: webrtc:12614
Change-Id: I06e11ab2acf5d307b68c3cbc135fde2c038ee690
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215070
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33721}
2021-04-14 07:54:06 +00:00
0498519844 Add g3doc for audio coding module.
Bug: webrtc:12567
Change-Id: I553ba45fe9d95f3471b2134c3631a74ed600dc3d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215079
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33720}
2021-04-14 07:45:56 +00:00
1fad94f502 Remove ErleUncertainty
Erle Uncertainty changes the residual echo computation during saturated
echo. However, the case of saturated echo is already handled by the
residual echo estimator causing the ErleUncertainty to be a no-op.

The change has been tested for bit-exactness.

Bug: webrtc:8671
Change-Id: I779ba67f99f29d4475a0465d05da03d42d50e075
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215072
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33719}
2021-04-14 07:01:14 +00:00
77d73a62d5 Document SctpTransport
This also creates a g3doc directory under pc/

Bug: webrtc:12552
Change-Id: I0913c88831658776a0f02174b57b539ac85b4a9f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215077
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33718}
2021-04-14 07:00:04 +00:00
1d2d169791 Update WebRTC code version (2021-04-14T04:04:15).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: I2f9f4fe0b4272a85e19a990a3bd5ff61f9a44a41
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215180
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@{#33717}
2021-04-14 05:47:23 +00:00
e871e027e1 Add telemetry to measure usage, perf, and errors in Desktop Capturers.
As part of adding the new WgcCapturerWin implementation of the
DesktopCapturer interface, we should ensure that we can measure the
health and success of this new code. In order to quantify that, I've
added telemetry to measure the usage of each capturer implementation,
the time taken to capture a frame, and any errors that are encountered
in the new implementation.

I've also set the capturer id property of frames so that we can measure
error rates and performance of each implementation in Chromium as well.

This CL must be completed after this Chromium CL lands:
2806094: Add histograms to record new WebRTC DesktopCapturer telemetry | https://chromium-review.googlesource.com/c/chromium/src/+/2806094

Bug: webrtc:9273
Change-Id: I33b0a008568a4df4f95e705271badc3313872f17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214060
Commit-Queue: Austin Orion <auorion@microsoft.com>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#33716}
2021-04-13 23:30:52 +00:00
efcfa4b94d Roll chromium_revision 0bde1c5411..1a13f11499 (871876:872016)
Change log: 0bde1c5411..1a13f11499
Full diff: 0bde1c5411..1a13f11499

Changed dependencies
* src/base: b315c8b333..5700691dd4
* src/build: b19b6ba7f3..5526928992
* src/ios: 5767a28ef0..4eb37acafe
* src/testing: e5f83f632d..26f265efe4
* src/third_party: 99b2d6c6ca..e1c6211d47
* src/third_party/androidx: WLg97IhFH0Li56boWm9B_yuqsLlLjZlx7lJYWI_zvyEC..eXwYVabVnQThhcPnVG-yr1yweogZnSLAmAcy_kKQscsC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/db7e7f8a5d..dafcf4aa95
* src/third_party/perfetto: 31ac7832bf..2e2cb5197d
* src/tools: 7ebfe8df70..bbda6274f3
DEPS diff: 0bde1c5411..1a13f11499/DEPS

No update to Clang.

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

Change-Id: Ic0d5d4d786f99a46199ed4b407dab360d209a127
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215123
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@{#33715}
2021-04-13 18:43:25 +00:00
250fbb3c48 dcsctp: Make Sequence Number API more consistent
* `AddTo` and `Difference` are made into static methods, as one may have
  believed that these modified the current object previously. The
  `Increment` method is kept, as it's obvious that it modifies the
  current object as it doesn't have a return value, and `next_value` is
  kept, as its naming (lower-case, snake) indicates that it's a simple
  accessor.
* Difference will return the absolute difference. This is actually the
  only reasonable choice, as the return value was unsigned and any
  negative value would just wrap.

Bug: webrtc:12614
Change-Id: If14a71636e67fc612d12759dc80a9c2518c85281
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215069
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33714}
2021-04-13 18:35:25 +00:00
ce423ce12d Track last packet receive times in RtpVideoStreamReceiver instead of the PacketBuffer.
Bug: webrtc:12579
Change-Id: I4adb8c6ada913127b9e65d97ddce0dc71ec6ccee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214784
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33713}
2021-04-13 18:24:45 +00:00
cd83ae2d65 Speed up FrameCombiner::Combine by 3x
There were a couple operations in the mixer which touched
AudioFrame data() and mutable_data() getters in a hot loop. These
getters have a if (muted) conditional in them which led to
inefficient code generation and execution.

Profiled using Google Meet with 6 audio-only speaking participants.
Meet uses 3 audio receive streams.

Before: https://pprof.corp.google.com/user-profile?id=02526c98ca1f60ba7b340b2f5dabb72a&tab=flame&path=18l9q740udb80g1iq9r1c1gv6b9k1cuuq200eztpq0054kuq0
After: https://pprof.corp.google.com/user-profile?id=32a33e5c90c650e013bdf5008d9b5fd3&tab=flame&path=18l9q740udb80g1iq9r1c1gv6b9k1cuuq200eztpq0054kuq0

(Zoomed in on the audio render thread.)

Bug: webrtc:12662
Change-Id: If6ecb5de02095b8b0e4938f1a1817b55d388e01a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214560
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33712}
2021-04-13 17:18:47 +00:00
32347b50ba Add readme for pacing module
Bug: webrtc:12565
Change-Id: I9fe396e524396cd4b6b1effe665e455c00b0e04d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215074
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33711}
2021-04-13 16:52:47 +00:00
09c7f1e0c6 Add architecture section about PeerConnection test framework
Bug: webrtc:12675
Change-Id: I6f3622fd712cfd520625998f908f76ef6d8cc1ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215073
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33710}
2021-04-13 15:41:46 +00:00
79cbe69274 Removes incorrect test expectation.
As of
1e4d4fdf88
we no longer expect an InitEncode on deativation of a layer.

Bug: webrtc:12540
Change-Id: I10d447d90d1019258f662caf7f6e649d63d6927a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215076
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33709}
2021-04-13 15:36:55 +00:00
3db3a067aa Adding g3doc for AudioDeviceModule (ADM) - part of the AudioEngine
Bug: webrtc:12571
Change-Id: I4a132f72a02b5a3d75fa340c2bf348a986dec7e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214980
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#33708}
2021-04-13 14:29:31 +00:00
df1edc9ae0 API description: PeerConnection description
Since we want most users to use the PeerConnection API, this is the
part that we should document.

If we want people to use other APIs, we can add to the file.

Bug: webrtc:12674
Change-Id: Icf14f218cf51c640e6f846f10b49dff84106dc21
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215066
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33707}
2021-04-13 12:51:47 +00:00
11b308909a Roll chromium_revision 74f869d04b..0bde1c5411 (871745:871876)
Change log: 74f869d04b..0bde1c5411
Full diff: 74f869d04b..0bde1c5411

Changed dependencies
* src/base: ca7b938131..b315c8b333
* src/build: 79006bea8b..b19b6ba7f3
* src/ios: b10d9dc408..5767a28ef0
* src/testing: 21d746be78..e5f83f632d
* src/third_party: cd3c7ea8d4..99b2d6c6ca
* src/third_party/androidx: IoB78nVutc7u1QVob6zeGRS6YrTtEaNyYCFV4iBH3bcC..WLg97IhFH0Li56boWm9B_yuqsLlLjZlx7lJYWI_zvyEC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8680ff0509..db7e7f8a5d
* src/third_party/depot_tools: 057831ef1f..9955936084
* src/third_party/googletest/src: 965f8ecbfd..486a4a6be5
* src/tools: 55b8544079..7ebfe8df70
* src/tools/luci-go: git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926..git_revision:99ac75773c6241b6ddf82ade4c54553faa084530
* src/tools/luci-go: git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926..git_revision:99ac75773c6241b6ddf82ade4c54553faa084530
* src/tools/luci-go: git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926..git_revision:99ac75773c6241b6ddf82ade4c54553faa084530
DEPS diff: 74f869d04b..0bde1c5411/DEPS

No update to Clang.

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

Change-Id: If24c0510cf841abdb3a8c31a1f410b7c55e5c19c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215120
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@{#33706}
2021-04-13 11:02:50 +00:00
1fded2f5ad dcsctp: Fix build dependencies
Adding fuzzers to the build made "gn gen --check" discover a lot
of dependency errors between various components of dcSCTP.

Bug: webrtc:12614
Change-Id: I0b2dd7321aec2624da417f413c727bd11b4743e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215003
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33705}
2021-04-13 10:14:00 +00:00
e082984fee Add death test for WrappingAsyncResolver
Bug: webrtc:12598
Change-Id: Iff70cc2c53da5098514853eb6034874ee2e10b2c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214961
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33704}
2021-04-13 10:11:50 +00:00
a168bb9032 Add index.md documentation page for PC level test framework
Bug: webrtc:12675
Change-Id: I779bde07683c33a7cc0dc38033235718e95b12b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214981
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33703}
2021-04-13 09:59:50 +00:00
696cea0843 Refactor some RtpSender-level tests into RtpRtcp-level tests
This prepares for ability to defer sequence number assignment to after
the pacing stage - a scenario where the RtpRtcp module rather than than
RTPSender class has responsibility for sequence numbering.

Bug: webrtc:11340
Change-Id: Ife88f60258b9b7cfd9dbd3326f02ac34da8f7603
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214967
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33702}
2021-04-13 08:37:14 +00:00
5fe0b372ba Roll chromium_revision 7e70585ca5..74f869d04b (871605:871745)
Change log: 7e70585ca5..74f869d04b
Full diff: 7e70585ca5..74f869d04b

Changed dependencies
* src/base: 8fc5bf1d4a..ca7b938131
* src/build: 5d0017aeec..79006bea8b
* src/ios: 0b3d0c7d99..b10d9dc408
* src/testing: f3e0beba79..21d746be78
* src/third_party: fcd6536576..cd3c7ea8d4
* src/third_party/androidx: DkjJyAndtE7UV7h5rNQdFWztxKvMiWIhS0cXGk4pS-UC..IoB78nVutc7u1QVob6zeGRS6YrTtEaNyYCFV4iBH3bcC
* src/third_party/ffmpeg: 4fb42ae52e..280d5fd0df
* src/third_party/perfetto: 1b78913ea7..31ac7832bf
* src/tools: 7ad58b1ed2..55b8544079
DEPS diff: 7e70585ca5..74f869d04b/DEPS

No update to Clang.

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

Change-Id: I2a9ec3ad3e56a026b59cfc672c05ba5dbf12f5f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215103
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@{#33701}
2021-04-13 02:44:09 +00:00
c8cf0a6080 Remove MDNS message implementation
No customers have been identified.

Bug: chromium:1197965
Change-Id: Ia3063d0909c718ffb8e824225c8c60180551115a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214963
Reviewed-by: Taylor <deadbeef@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33700}
2021-04-12 22:24:56 +00:00
eff79cfc75 Roll chromium_revision 2dffe06711..7e70585ca5 (871492:871605)
Change log: 2dffe06711..7e70585ca5
Full diff: 2dffe06711..7e70585ca5

Changed dependencies
* src/base: db151ac5c5..8fc5bf1d4a
* src/build: 399fa5ad74..5d0017aeec
* src/ios: 3ba3cf8e84..0b3d0c7d99
* src/testing: 85de9f3f89..f3e0beba79
* src/third_party: 32fe4ba2c6..fcd6536576
* src/third_party/androidx: elLOzilYbu3vB2mpMZzZsC0i9QukqoU9miZ_PUmpeE8C..DkjJyAndtE7UV7h5rNQdFWztxKvMiWIhS0cXGk4pS-UC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ab687ea7be..8680ff0509
* src/third_party/perfetto: 9511660f93..1b78913ea7
* src/tools: 78b6ac0da4..7ad58b1ed2
DEPS diff: 2dffe06711..7e70585ca5/DEPS

No update to Clang.

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

Change-Id: I24fd4a5f915090139cbe96d385357401e3b44160
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215022
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@{#33699}
2021-04-12 21:06:37 +00:00
067dce7acc Fix processing of dropped frame for runtime added participant
Bug: webrtc:12247
Change-Id: I0fe5cad8f755bda899e81b31e255f24816bf33bc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215061
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33698}
2021-04-12 20:22:36 +00:00