Commit Graph

37462 Commits

Author SHA1 Message Date
6c81a42eb1 Simulate generic dependency structure for VP8
This will be used as a fall-back when the encoder adapter doesn't
provide any dependency structure. This ensures we can always generate a
dependency descriptor RTP header extension for VP8.

Before, when switching between encoder adapters where the old one
generated a dependency structure but the new one didn't we had to make
sure the structure was cleared so that packets weren't sent with the
dependency structure from the previous adapter. This will not be a
problem anymore since the new adapter will use the simulated dependency
structure.

Bug: b/227749056
Change-Id: I8463c48a9dcde4b8d32c519819dd8a92acd8e43b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262765
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36930}
2022-05-19 11:53:08 +00:00
b1ba85385e Eliminate unnecessary RTC_TRACE_EVENTS_ENABLED
Bug: webrtc:14073
Change-Id: I6365cc17393be52c11312dfa954783a3e135cb8c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262263
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36929}
2022-05-19 09:52:47 +00:00
d68a06aedf Move pinpoint acl to the perf bucket.
The perf builders have been moved from the 'ci' to the 'perf' bucket.

Bug: b/233159334
Change-Id: Ic5de4489892599d3a9cf94696a4db8a708c1f0e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262808
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36928}
2022-05-19 07:22:00 +00:00
42cf83cc61 Update WebRTC code version (2022-05-19T04:04:47).
Bug: None
Change-Id: I8eff6cd60b9416f81b32a1a51ca56286fedb7919
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262736
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36927}
2022-05-19 05:49:10 +00:00
cf2c8915f4 Delete H264EncoderSpecificSettings
Production code always use the default settings.

Bug: webrtc:6883
Change-Id: I213fc6433bb1cd0a6623ad523fee2df1506588e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261903
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36926}
2022-05-18 13:53:20 +00:00
34fc3f406b Roll chromium_revision 99a40fa7f7..524559feaa (1003838:1004707)
Change log: 99a40fa7f7..524559feaa
Full diff: 99a40fa7f7..524559feaa

Changed dependencies
* src/base: 8db0ea4764..48dbbda0ac
* src/build: 4b864c708c..25a9e63316
* src/buildtools/linux64: git_revision:578a7fe4c3c6b0bc2ae1fd2e37f14857d09895bf..git_revision:c547ca1497e3ff0dcbc0b2cb036b3d40380cbeeb
* src/buildtools/mac: git_revision:578a7fe4c3c6b0bc2ae1fd2e37f14857d09895bf..git_revision:c547ca1497e3ff0dcbc0b2cb036b3d40380cbeeb
* src/buildtools/third_party/libc++abi/trunk: e112e5ec5b..b682786415
* src/buildtools/third_party/libunwind/trunk: cf88e03ee0..44c86bbb7c
* src/buildtools/win: git_revision:578a7fe4c3c6b0bc2ae1fd2e37f14857d09895bf..git_revision:c547ca1497e3ff0dcbc0b2cb036b3d40380cbeeb
* src/ios: d534abaffc..0f7e70fedb
* src/testing: 060c3c7ca1..c5ec396eb3
* src/third_party: f4a34bfe66..7e38141447
* src/third_party/android_sdk/public: PGPmqJtSIQ84If155ba7iTU846h5WJ-bL5d_OoUWEWYC..WPMCeVMS3fC3IOYKAUA8ivfCCpdzl3Wi1neeNcdtkA0C
* src/third_party/androidx: rDwcNUcalxE4oDXQjUyJUWv381pDqXoZNHb_1Dgv2qcC..Qb0X10WSJEtUzNEn9dHYAGXgJ-wedRToTviQpYyCT4QC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/25ac622b73..811104909b
* src/third_party/depot_tools: f8300fba9d..8fb649c425
* src/third_party/grpc/src: ee2b75e337..d1338d8751
* src/third_party/jdk: JhpgSvTpgVUkoKe56yQmYaR1jXNcY8NqlltA0mKIO4EC..egbcSHbmF1XZQbKxp_PQiGLFWlQK65krTGqQE-Bj4j8C
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/a1d676b44f..ed81a4095c
* src/third_party/libvpx/source/libvpx: cb1abee145..ca89bed50d
* src/third_party/perfetto: c585628f45..ec1d6d0d51
* src/tools: 442185b165..d20a3fff87
* src/tools/luci-go: git_revision:29b908616bc920e58bf384d1e47b91b6cf9188b8..git_revision:d3db74920e35147955be43f62b5f4ed0cf84c614
* src/tools/luci-go: git_revision:29b908616bc920e58bf384d1e47b91b6cf9188b8..git_revision:d3db74920e35147955be43f62b5f4ed0cf84c614
DEPS diff: 99a40fa7f7..524559feaa/DEPS

No update to Clang.

BUG=None

Change-Id: I810b247d1f124d8c5e144254d4afe71a5d1b8427
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262860
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36925}
2022-05-18 12:43:10 +00:00
304b78d3d9 Delete a few unused methods on DecoderDatabase
Bug: none
Change-Id: Ic0a20036b92e0f1d088bae88724a777eca93760d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262763
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36924}
2022-05-18 11:22:21 +00:00
0ac50b9dfd Move ownership of objects from channel_manager to connection_context
This is a preparatory step in deleting the ChannelManager class.

Also delete some declarations whose implementation was previously removed.

Bug: webrtc:13931
Change-Id: I8764c00fa696932e79fcfe17550ef2490d6a1ed1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262804
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36923}
2022-05-18 09:17:24 +00:00
0359ba2225 stats: add frame assembly time stats
implements a total frame assembly time statistic that measures the
cumulative time between the arrival of the first packet of a frame
(the lowest reception time) and the time all packets of the frame have
been received (i.e. the highest reception time)

This is similar to totalProcessingDelay
  https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-totalprocessingdelay
in particular with respect to only being incremented for frames that are being decoded but does not include the amount of time spent decoding the frame.

This statistic is useful for evaluating mechanisms like NACK and FEC
and gives some insight into the behavior of the pacer sending the
packets.
Note that for frames with just a single packet the assembly time will be zero. In order to calculate an average assembly time an additional frames_assembled_from_multiple_packets counter for frames with more than a single packet is added.

Currently this is a nonstandard stat so will only show up in webrtc-internals and not in getStats. Formally it can be defined as

totalAssemblyTime of type double
	Only exists for video. 	The sum of the time, in seconds, each video frame takes from the time the first RTP packet is received (reception timestamp) and to the time the last RTP packet of a frame is received.
    Given the complexities involved, the time of arrival or the reception timestamp is measured as close to the network layer as possible.

    This metric is not incremented for frames that are not decoded, i.e., framesDropped, partialFramesLost or frames that fail decoding for other reasons (if any). Only incremented for frames consisting of more than one RTP packet. The average frame assembly time can be calculated by dividing the totalAssemblyTime with framesAssembledFromMultiplePacket.

framesAssembledFromMultiplePacket of type unsigned long
	Only exists for video. It represents the total number of frames correctly decoded for this RTP stream that consist of more than one RTP packet.
	For such frames the totalAssemblyTime is incremented.

BUG=webrtc:13986

Change-Id: Ie0ae431d72a57a0001c3240daba8eda35955f04e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260920
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36922}
2022-05-18 09:16:10 +00:00
94c09169a2 Improve RTC event log parser.
(Support parsing TWCC which nack sequnce numbers greater than the last
one received. Don't silently drop unrecognized/malformed RTCP packets.)

Bug: webrtc:14078
Change-Id: I34a0deabfdb5f36b988919cfcc9159197435756c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262800
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36921}
2022-05-18 09:14:40 +00:00
2f3168ff38 peerconnection: reject content if there are no common media codecs
for video dealing with both the case where there is no common media
codec as well as only a red/ulpfec/flexfec codec in common for video
and only RED/CN in common for audio

BUG=webrtc:4957,webrtc:14069

Change-Id: I1c888b4f77199aade8122051c31b690dc2fd5925
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262642
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36920}
2022-05-18 09:00:00 +00:00
cde992ddad Add support for VP9 configuration through scalability mode.
Bug: webrtc:13960
Change-Id: Ia930647b15f624a4d10d8d335519b69ffdae6636
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260983
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36919}
2022-05-18 08:21:00 +00:00
15a73be295 Update apprtc example code to support macos 10.13
It currently blocks chromium to webrtc roll after https://crrev.com/c/3646050

Bug: b/232899082
Change-Id: I87e178d91037d844fc98a28491bdfe69fa3bc9b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262802
Auto-Submit: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36918}
2022-05-18 07:44:20 +00:00
0601db9a48 Rename ReceiveStream to ReceiveStreamInterface
Bug: webrtc:7484
Change-Id: I41176a66b8399f6c8cf568630f2808eb95cf6247
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262767
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36917}
2022-05-18 07:26:50 +00:00
f92a0846c3 Fix build in C++20 mode.
Structs with user-declared constructors are not aggregates and cannot
be initialized with designated initializers.  Remove declarations that
don't actually affect anything.

Bug: chromium:1284275
Change-Id: Ib45ea334d7be28bfa7bbce132985612f0e6ecd10
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262820
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36916}
2022-05-18 06:47:30 +00:00
79dc0a223e Update WebRTC code version (2022-05-18T04:01:44).
Bug: None
Change-Id: Ib10b8b8236ab5905ed6c524d058a39a356eebebd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262732
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36915}
2022-05-18 05:16:30 +00:00
c5aa5bea49 Delete deprecated VP8Encoder::Create function
Bug: None
Change-Id: I42e5d846d3d012f8b85eede743202b84239ceef1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262764
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36914}
2022-05-17 13:23:24 +00:00
a9f10c8189 Make fake decode from file produce 10 ms comfort noise frames.
This is to more accurately simulate Opus CNG.

Bug: None
Change-Id: I3244d88e1f7410190551b6fa24cdd08599b5771e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262661
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36913}
2022-05-17 13:11:34 +00:00
4da317f0bb Remove complexity parameter from video codec specific structs.
Now only using the complexity from the main VideoCodec settings.

Bug: webrtc:13694
Change-Id: I5a29df0fac0c0686bf5ea0b677f8946d23ef9888
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262762
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36912}
2022-05-17 12:45:04 +00:00
88af20356f Use ProbeClusterConfig in BitrateProber from GoogCC
Instead of using field trials in BitrateProber for probe duration, use values provided in ProbeClusterConfig from GoogCC.
Field trials are instead read in ProbeController.

To avoid having to do a thread jump for every ProbeClusterConfig, RtpPacketPacer interface is changed to RtpPacketPacer::CreateProbeClusters(std::vector<ProbeClusterConfig>

Deprecates field trial  "WebRTC-Bwe-ProbingConfiguration"

Change-Id: I3991e4b54770601855a3af2d6a16678f11d41c31
Bug: webrtc:14027
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261265
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36911}
2022-05-17 12:29:25 +00:00
641a1b11b6 Adopt absl::string_view in call/
Bug: webrtc:13579
Change-Id: Ib616eb3372da341fafb55c23038182751b9da5a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262780
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36910}
2022-05-17 12:00:45 +00:00
d01e692e01 Fix flakiness of CheckLogLevelUpdateStatsEmpty.
Bug: b/232719223
Change-Id: I26bdb10bb7bae89f8a99b8c4db14609ae9bfda50
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262620
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36909}
2022-05-17 11:57:35 +00:00
39bc030e0b Delete deprecated functions in RempoteNtpTimeEstimator
Bug: webrtc:13757
Change-Id: Ie9cdb41de956df1b6877c8b86fd1829fdcd35043
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262761
Reviewed-by: Erik Språng <sprang@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36908}
2022-05-17 11:12:25 +00:00
1331c1821c Reland: Update local_ssrc without needing to recreate video streams.
This is comparable to this change done previously for for audio streams:
https://webrtc-review.googlesource.com/c/src/+/222042

This is a reland of commit 16a8b25d809e4d4982f9fc4b4e973acd506b8bca
with an additional fix in Patchset 2. Another problem turned out to be
in RTCPReceiver, which is fixed in:
https://webrtc-review.googlesource.com/c/src/+/262663

Bug: webrtc:11993
Change-Id: I63c7cf62a6dd50f88b491fea3ba866697552ef5f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262665
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36907}
2022-05-17 10:59:54 +00:00
f47e941dbd Remove deprecated PacingController constructor
Bug: webrtc:10809
Change-Id: Ic913bd81dc5d043e4307f3b7f80ecacc78852d7f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262760
Auto-Submit: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36906}
2022-05-17 09:59:14 +00:00
8814dfd124 Remove RTCPReceiver::main_ssrc_.
RTCPReceiver::main_ssrc_ and local_media_ssrc() represent the same
value but could get out of sync when `set_media_ssrc()` was called.

Instead of using main_ssrc_, just use the local_media_ssrc() accessor.

Bug: webrtc:11993
Change-Id: I2b034287e6b6025d9b0d2affa391a168896a614b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262663
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36905}
2022-05-17 09:28:54 +00:00
969c1356af Adopt absl::string_view in system_wrappers/
Bug: webrtc:13579
Change-Id: Id0e6515c63a3c9aa6d7effef7a2bd8b5ef35af09
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262245
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36904}
2022-05-17 08:23:24 +00:00
2e521f5a25 Update WebRTC code version (2022-05-17T04:04:40).
Bug: None
Change-Id: I323023722ba3d5d467439a57cc23cb9f16b08b95
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262724
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36903}
2022-05-17 05:17:46 +00:00
b3fb240785 Roll chromium_revision 607d61e739..99a40fa7f7 (1003703:1003838)
Change log: 607d61e739..99a40fa7f7
Full diff: 607d61e739..99a40fa7f7

Changed dependencies
* src/build: bdfae14b09..4b864c708c
* src/ios: 60ba7494de..d534abaffc
* src/testing: c5e0fd55f4..060c3c7ca1
* src/third_party: 507cc33701..f4a34bfe66
* src/third_party/androidx: GFFcbQiZc4RpAtuTiDatE9n-TscfDIeynLmz84iC0yUC..rDwcNUcalxE4oDXQjUyJUWv381pDqXoZNHb_1Dgv2qcC
* src/third_party/perfetto: 378c48e919..c585628f45
* src/third_party/turbine: FJ-IOPRGQsHUZwVeYmVw_idRk5mUUP6_Uj2i6mKQlEMC..aSG-acwWsASjZaTfSzYcOuM9qoD6S_o3JL6iIFslVdUC
* src/tools: 92ca313c4f..442185b165
DEPS diff: 607d61e739..99a40fa7f7/DEPS

No update to Clang.

BUG=None

Change-Id: Iaa2ade706b8e4a57c04ef1fa73f07ece105f7e78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262603
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36902}
2022-05-16 18:37:24 +00:00
43feb9e5a2 Check PipeWire server version when dropping single modifier
PipeWire server in older versions would mark the negotiation as
finished and start creating buffers.

Upstream bug: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1732

Bug: webrtc:13429
Change-Id: I7194e6672716d7fef1c2aadc40d3acf55cb282a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262621
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#36901}
2022-05-16 18:30:34 +00:00
6aa5cea4d3 Remove periodic mode from PacingController.
This completes the removal of the legacy pacer.

Bug: webrtc:10809
Change-Id: I8962ad56aa673f46b2c0e2cf8a5630e2c9942c92
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262421
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36900}
2022-05-16 15:56:34 +00:00
c782cf883c Introduce a stable playout delay mode for NetEq.
A packet arrival history is used to store the timing of incoming packets and tracks the earliest and latest packets by taking the difference between rtp timestamp and arrival time. The history is windowed to 2 seconds by default. The packet arrival history will replace the relative arrival delay tracker in a follow up cl.

The playout delay is estimated by taking the difference between the current playout timestamp and the earliest packet arrival in the history. This method works better when DTX is used compared to the buffer level filter that it replaces.

The threshold for acceleration is changed to be the maximum of the target delay and the maximum packet arrival delay in the history. This prevents any acceleration immediately after an underrun and gives some time to adapt the target delay to new network conditions.

The logic when to decode the next packet after a packet loss is also changed to do concealment for the full loss duration unless the delay is too high.

The new mode is default disabled and can be enabled using a field trial.

Bug: webrtc:13322,webrtc:13966
Change-Id: Idfa0020584591261475b9ca350cc7c6531de9911
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259820
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36899}
2022-05-16 15:39:14 +00:00
35f4b4c755 Remove more trampoline functions from ChannelManager
Bug: webrtc:13931
Change-Id: I3a1b48aeffd91ee6abaf78eb1ec69c1653b210e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262640
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36898}
2022-05-16 15:12:27 +00:00
2698353d43 Disable quality scaling if multiple spatial layers are requested for VP9
VP9 automaticResizeOn is disabled if more than one spatial layer is configured via scalability mode.

Bug: webrtc:13960
Change-Id: I7c6351bca6d2f32bcc7391894e8dcc9e74ca2050
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261315
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36897}
2022-05-16 15:11:24 +00:00
dab50c6fe8 Revert "Use ADM internal state for init state check."
This reverts commit 0e2221eb2f02ed950f4fd9c7fea40b382ea0a0c8.

Reason for revert: Speculative revert, breaks downstream.

Original change's description:
> Use ADM internal state for init state check.
>
> When ADM is terminated and its state requires reinitialized, VoipCore::initialized_ field will falsely skip required reinitializing.
>
> Bug: webrtc:14054
> Change-Id: Ibeb4987a7e9763b8e40926acc4d7eaabde7a3478
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261924
> Reviewed-by: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Tim Na <natim@google.com>
> Commit-Queue: Tim Na <natim@google.com>
> Cr-Commit-Position: refs/heads/main@{#36893}

Bug: webrtc:14054
Change-Id: I1fa0a1ff440b9619aba60ec25970ce88a67739db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262660
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36896}
2022-05-16 14:08:04 +00:00
6928f4ccc6 Roll chromium_revision b16b91b21b..607d61e739 (1003283:1003703)
Change log: b16b91b21b..607d61e739
Full diff: b16b91b21b..607d61e739

Changed dependencies
* src/base: dae121b08b..8db0ea4764
* src/build: aa9b88051d..bdfae14b09
* src/buildtools/third_party/libc++abi/trunk: f8b9fcc8e2..e112e5ec5b
* src/buildtools/third_party/libunwind/trunk: cd5b90c8ef..cf88e03ee0
* src/ios: af3328a730..60ba7494de
* src/testing: 6eff384607..c5e0fd55f4
* src/third_party: 0140ab632d..507cc33701
* src/third_party/androidx: mt-ZF-6_HFdvpVXuaVQwcn_VAafyKXPqDwTExLwF_iwC..GFFcbQiZc4RpAtuTiDatE9n-TscfDIeynLmz84iC0yUC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/925e601986..25ac622b73
* src/third_party/depot_tools: aa7d7e45cd..f8300fba9d
* src/third_party/gtest-parallel: 11cce5c287..38191e2733
* src/third_party/harfbuzz-ng/src: 6454cec085..acdab17ed3
* src/third_party/perfetto: d09ebb9e2b..378c48e919
* src/tools: 222207725f..92ca313c4f
* src/tools/luci-go: git_revision:93b14d0f421647ad3bebf0ab4261c38f78bd1a8d..git_revision:29b908616bc920e58bf384d1e47b91b6cf9188b8
* src/tools/luci-go: git_revision:93b14d0f421647ad3bebf0ab4261c38f78bd1a8d..git_revision:29b908616bc920e58bf384d1e47b91b6cf9188b8
DEPS diff: b16b91b21b..607d61e739/DEPS

No update to Clang.

BUG=None

Change-Id: Ie831c83de042dcc699e397447490a2ef5dd7bb53
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262583
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@{#36895}
2022-05-16 12:32:14 +00:00
d3dc80a31e Update gtest-parallel to the latest patch.
Bug: b/232753887
Change-Id: I8db137b8339b94b51a55aaaa18a755ebdddf1bcd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262641
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36894}
2022-05-16 12:04:14 +00:00
0e2221eb2f Use ADM internal state for init state check.
When ADM is terminated and its state requires reinitialized, VoipCore::initialized_ field will falsely skip required reinitializing.

Bug: webrtc:14054
Change-Id: Ibeb4987a7e9763b8e40926acc4d7eaabde7a3478
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261924
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Tim Na <natim@google.com>
Commit-Queue: Tim Na <natim@google.com>
Cr-Commit-Position: refs/heads/main@{#36893}
2022-05-14 02:17:45 +00:00
c92ee5f3c3 Revert "Update local_ssrc without needing to recreate video streams."
This reverts commit 16a8b25d809e4d4982f9fc4b4e973acd506b8bca.

Reason for revert: Checking if this is blocking the Chromium autoroller.

Original change's description:
> Update local_ssrc without needing to recreate video streams.
>
> This is comparable to this change done previously for for audio streams:
> https://webrtc-review.googlesource.com/c/src/+/222042
>
> Bug: webrtc:11993
> Change-Id: Ic953f816a8f7c56d1c3dc9a16d85bef3696a663d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261960
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36876}

Bug: webrtc:11993
Change-Id: I3a8d2f6a7e89b6784754d8e891a4e01479807c2d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262422
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36892}
2022-05-13 22:30:44 +00:00
9d80fb7d3e Roll chromium_revision cfad8bb245..b16b91b21b (1003145:1003283)
Change log: cfad8bb245..b16b91b21b
Full diff: cfad8bb245..b16b91b21b

Changed dependencies
* src/base: 19e6b0439c..dae121b08b
* src/build: 1507aa67e3..aa9b88051d
* src/ios: 411fd095b3..af3328a730
* src/testing: 22cd2252ca..6eff384607
* src/third_party: b16f73b5b1..0140ab632d
* src/third_party/androidx: 4Ha7eDDth3WsPxnrW_ERVwW58mNuvLt8WNPyhJ_DpAMC..mt-ZF-6_HFdvpVXuaVQwcn_VAafyKXPqDwTExLwF_iwC
* src/third_party/depot_tools: 7d20ae05d5..aa7d7e45cd
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/ef14518388..a1d676b44f
* src/tools: b5b49a6aae..222207725f
DEPS diff: cfad8bb245..b16b91b21b/DEPS

No update to Clang.

BUG=None

Change-Id: I4bf3697f25370f352db1cff77b4ffac93603d78f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262405
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@{#36891}
2022-05-13 20:47:15 +00:00
f3f3a61167 Remove legacy PacedSender.
The new TaskQueuePacedSender has been default-on in code since M97, and
there are no further usages of it that I can find. Let's clean this up!

The PacingController and associated tests will be cleaned up in a
follow-up cl.

Bug: webrtc:10809
Change-Id: I0cb888602939add953415977ee79ff0b3878fea5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258025
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36890}
2022-05-13 20:31:06 +00:00
6a979149e4 Roll chromium_revision c2d571699f..cfad8bb245 (1003044:1003145)
Change log: c2d571699f..cfad8bb245
Full diff: c2d571699f..cfad8bb245

Changed dependencies
* src/base: 164845aba1..19e6b0439c
* src/build: a11973d87d..1507aa67e3
* src/ios: 1db990f578..411fd095b3
* src/testing: 2c3dd587c4..22cd2252ca
* src/third_party: ed2dd68e52..b16f73b5b1
* src/third_party/androidx: lgU7MqXGbA9T3_l-cHfgKoUImTeSXU2y6zGL1fc65poC..4Ha7eDDth3WsPxnrW_ERVwW58mNuvLt8WNPyhJ_DpAMC
* src/third_party/perfetto: f7b904a467..d09ebb9e2b
* src/tools: 1d52d64c83..b5b49a6aae
DEPS diff: c2d571699f..cfad8bb245/DEPS

No update to Clang.

BUG=None

Change-Id: I91777c22bee8cad89e37e2b9ee67dfdb9f2598c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262403
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@{#36889}
2022-05-13 16:43:04 +00:00
f7fc71da44 dcsctp: Cleanup Metrics
This CL first restricts Metrics to be retrievable when the socket is
created. This avoids having most fields as optional and makes it
easier to add more metrics.

Secondly, the peer implementation is moved into Metrics.

Bug: webrtc:13052
Change-Id: I6cb53eeef3f84ac34f3efc883853338f903cc758
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262256
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36888}
2022-05-13 15:11:34 +00:00
d14e8894fc Adopt absl::string_view in modules/rtp_rtcp
Bug: webrtc:13579
Change-Id: Ic4e1431bedc69492358cb2e3749b50a941306f44
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262250
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36887}
2022-05-13 15:01:18 +00:00
76d84f122e Adopt absl::string_view in common_audio/
Bug: webrtc:13579
Change-Id: I7f9beb34f92d1ea587eda87d1222774ce944a625
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262249
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36886}
2022-05-13 15:00:14 +00:00
63ee39d0be Revert "Add a prefix for objc category."
This reverts commit 181ea6e414c5982015ce161e6368120be3658ec4.

Reason for revert: Breaks downstream project. Kári will help to land it next week.

Original change's description:
> Add a prefix for objc category.
>
> According to the Google Objective-C style [1], category names should
> start with an appropriate prefix. WebRTC has some category definitions
> for system interfaces, but it doesn't use prefixes.
>
> $ otool -ov WebRTC.framework/WebRTC | grep -E "^[0-9a-z]{16} 0x[0-9a-z]+ __OBJC_._CATEGORY" | grep -v "_RTC"
> 0000000002160840 0x217c3c0 __OBJC_$_CATEGORY_UIDevice_$_H264Profile
> 0000000002160850 0x21808b8 __OBJC_$_CATEGORY_AVCaptureSession_$_DevicePosition
> 0000000002160858 0x2180968 __OBJC_$_CATEGORY_NSString_$_StdString
> 0000000002160860 0x21809c8 __OBJC_$_CATEGORY_NSString_$_AbslStringView
>
> To avoid conflicts, prefix the names and methods of those categories.
> Also remove sdk/objc/Framework/Classes/Common/NSString+StdString.h as
> it is not used by any other files.
>
> [1] https://google.github.io/styleguide/objcguide.html#category-naming
>
> Bug: webrtc:13884
> Change-Id: I2cf2742af198ab4e0bfb15c0476d72971e50ceee
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262341
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36880}

Bug: webrtc:13884
Change-Id: I85257088e4a3a62e01ff925ab5e77af83b078ef3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262420
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Auto-Submit: Artem Titov <titovartem@webrtc.org>
Owners-Override: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36885}
2022-05-13 14:47:54 +00:00
059548919b Enable VP8 configuration via scalability mode
Bug: webrtc:13959
Change-Id: I16054506ca4086767323443fb9b1e623224e234d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258791
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36884}
2022-05-13 13:53:44 +00:00
fb9ae767aa Reland "Run iOS tests on multiple shards."
This is a reland of commit 5a71f1585875a9ef80b79d9f247d1e21319a17d6

Original change's description:
> Run iOS tests on multiple shards.
>
> Bug: b/230824012
> Change-Id: I6d27a8ed2c07eb76972b3bbe3679f6346ba58e06
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261306
> Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
> Commit-Queue: Jeremy Leconte <jleconte@google.com>
> Cr-Commit-Position: refs/heads/main@{#36796}

Bug: b/230824012
Change-Id: I4a8627e87a6f22953238a28a714af3a97de065b9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261724
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36883}
2022-05-13 13:49:44 +00:00
807328fec7 Move frame drop config to VideoCodec and VideoEncoderConfig.
Intend to delete corresponding codec-specific settings in a followup.

Bug: webrtc:6883
Change-Id: I78ab07729a5aee1055f80d39d8f7289beb6721e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262244
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36882}
2022-05-13 13:40:14 +00:00
8f44ae4fa5 Remove dead code in cricket::FakeVideoRenderer
Remove unused accessors
move helper implementation into .cc file

Bug: None
Change-Id: Iccd877180901b278af4800f681669089b8a046ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262254
Commit-Queue: Niels Moller <nisse@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36881}
2022-05-13 13:36:35 +00:00