2235 Commits

Author SHA1 Message Date
Jonas Oreland
6545516a14 RtpSenderInterface::SetEncoderSelector
This cl/ adds a way of setting an EncoderSelector on a specific
RtpSenderInterface. This makes it possible to easily use different
EncoderSelector on different streams within the same or different PeerConnections.

The cl/ is almost identical to the impl. of RtpSenderInterface::SetFrameEncryptor.

Iff a EncoderSelector is set on the RtpSender, it will take precedence
over the VideoEncoderFactory::GetEncoderSelector.

Bug: webrtc:14122
Change-Id: Ief4f7c06df7f1ef4ce3245de304a48e9de0ad587
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264542
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37150}
2022-06-08 11:06:52 +00:00
Tommi
b5af6ee6df [StunMessage] Remove/deprecate StunMessage::SetType
Removes all remaining usage of SetType and marks the method as
deprecated.

Bug: none
Change-Id: I98dc613978ffe7ad8a4ffd951dd974d56ed92983
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265100
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37137}
2022-06-07 10:19:16 +00:00
Tommi
e83500e17b [Connection] Construct ping/connection requests in one step.
This moves the construction of StunMessage instances for
ConnectionRequest, outside of the Prepare() method.

Following this, removing Construct()+Prepare() is relatively
straight forward.

Bug: none
Change-Id: Ibcf0510cef30a6e648005b43602c7ae1fb06729e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264558
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37122}
2022-06-03 20:04:24 +00:00
Björn Terelius
b22cabcf76 Add AbslParse functions for TimeMode enum. (This allows creation of TimeMode ABSL_FLAGs.)
Bug: webrtc:14145
Change-Id: Id79c4411ba4443a3ee8a0da3990c36955cc9aa35
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264821
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37090}
2022-06-02 10:07:16 +00:00
Artem Titov
7c3219265e [PCLF] Add ToString function to VideoSubscription
Bug: b/231394729
Change-Id: I1bdebf5eb266d566452b98e2bf52f08b609c427d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264700
Auto-Submit: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37087}
2022-06-02 09:12:37 +00:00
Artem Titov
bccb452eb6 [PCLF] Add ToString function for VideoResolution
Bug: b/231394729
Change-Id: Iac803440153d368f0c2ea143e64fe347323eeeef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264556
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37082}
2022-06-01 21:40:56 +00:00
Tommi
408143d5af Refactor StunMessage a bit
* Add ctors for providing the type and transaction id at construction.
* Update tests to use them instead of SetType+SetTransactionID
* Make sure stun message enum types are based on uint16_t
* Mark SetTransactionID as deprecated.
* Mark SetStunMagicCookie as deprecated (unused in webrtc).
* Add SetTransactionIdForTest for the one test that uses it (might not
  actually need it)
* Make StunRequest::Construct() protected.
  * Add a TODO to follow up on this since construction of StunRequest
    goes through an unnecessarily complex 3-step process involving
    other classes and a virtual method.

Bug: none
Change-Id: Ib013e58f28e7b2b4fcb3b3e1034da31dfc93e9d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264546
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37079}
2022-06-01 17:43:55 +00:00
Artem Titov
cff66f537c [DVQA] Add support for frames without frame id
Bug: b/234176678
Change-Id: Ibbd82e3341d7b4034173e6e5ada882e079449f8e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264552
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37077}
2022-06-01 13:31:46 +00:00
Artem Titov
fd8ed05cee [PCLF] Add equals method for VideoSubscription
Bug: b/231394729
Change-Id: I0957d96640e962d331f05c9541c36e8420e9f5aa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264557
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37075}
2022-06-01 12:36:45 +00:00
Jakob Ivarsson
1a5a81340d Rename discarded_primary_packets to packets_discarded.
This it what it is called in the spec:
https://w3c.github.io/webrtc-stats/#dom-rtcreceivedrtpstreamstats-packetsdiscarded

Also log the metric in neteq_rtpplay.

Bug: webrtc:8199
Change-Id: Ie0262d17b913eb6949daa703844d90327eee0aa4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263725
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37063}
2022-05-31 13:24:24 +00:00
Niels Möller
c4b5f4da97 New struct SimulcastStream.
Currently has the same contents as struct SpatialLayer. Intention is
to add a ScalabilityMode member, which isn't appropriate for a spatial
layer.

Bug: webrtc:11607
Change-Id: I75c9e9b39407e3f24ec117bb17dc37830076b26f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262255
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37062}
2022-05-31 13:14:45 +00:00
Jonas Oreland
f096e74157 WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 18/inf
This cl/ creates a constructor for a FieldTrials object that is
not backed by the global string. Use with care!

Bug: webrtc:10335
Change-Id: I8c48d1e8bb52fef78524d890cc90473355be617f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264461
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37057}
2022-05-31 10:50:58 +00:00
Philipp Hancke
6fb8d1a2d7 stats: expose minPlayoutDelay as nonstandard stat
This currently only exists as a goog legacy stat and has no spec
equivalent according to
  https://docs.google.com/document/d/1z-D4SngG36WPiMuRvWeTMN7mWQXrf1XKZwVl3Nf1BIE/edit
Yet it is useful to debug issues sometimes. Exposing it as a
nonstandard stat will make it show up in chrome://webrtc-internals,
removing a need to switch to the legacy stats API there.

BUG=webrtc:14118

Change-Id: I506357ad54ff33df3ba46fb81558aa32187ac8e9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264420
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37055}
2022-05-31 10:05:35 +00:00
Jakob Ivarsson
30cc7d6199 Add jakobi@ to api/neteq/OWNERS.
Bug: none
Change-Id: I7131285b6f3da19e2a6ec082eea569aaa3c41d65
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263726
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37045}
2022-05-30 15:45:34 +00:00
Niels Möller
c397fc62d8 Use string_view to pass track ids to constructors
Bug: webrtc:13579
Change-Id: Icbd08d5fba9d150295675d730b7261d23992488c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264441
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37035}
2022-05-30 10:28:57 +00:00
philipel
f5c06f3a42 Forward video format to VP9Encoder::Create().
Bug: webrtc:14127
Change-Id: Ib2608aa220ecc10cb5f6759fb9f3a09ebaaaff7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263600
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37001}
2022-05-25 10:32:31 +00:00
Tommi
1def899931 Remove legacy (unused) config param: jitter_buffer_enable_rtx_handling
Bug: none
Change-Id: I14164546950cc63c37e54544cdc80bfd4eddf211
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262962
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36955}
2022-05-21 23:06:21 +00:00
Niels Möller
be2fb41b32 Delete codec-specific frameDroppingOn settings.
Followup to https://webrtc-review.googlesource.com/c/src/+/262244

Bug: webrtc:6883
Change-Id: Iefac43709f14424c74470aa878ec512b7dacc68a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262258
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36949}
2022-05-20 14:54:31 +00:00
Niels Möller
c0a9f35248 Define SimulcastStream as an alias for SpatialLayer
Step one in making it a separate type, that will be done as a
followup, after downstream code is updated to use the new name.

Bug: webrtc:11607
Change-Id: I6fa664a0729b1cfd71b7f02b6441880beee0e741
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262806
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36946}
2022-05-20 13:12:21 +00:00
Evan Shrubsole
5b8dc1dbad Add RTC_EXPORT to CurrentTaskQueueSetter
This allows for its use in test targets in Chromium Windows, which fixes
the compiled errors found in https://chromium-review.googlesource.com/c/chromium/src/+/3649679

Change-Id: I738b2eaab8eca73c40e847ede67ff5e7757ec512
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262811
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36939}
2022-05-20 10:38:20 +00:00
Niels Möller
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
Philipp Hancke
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
Erik Språng
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
Erik Språng
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
Niels Möller
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
Florent Castelli
b5671da00d [PCLF] Remove previously replaced configuration options
VideoSimulcastConfig::encoding_params and VideoConfig::min/max_encode_bitrate_bps
were replaced by VideoConfig::encoding_params.
All usage of the previous options has been updated to the new option.

Bug: webrtc:11607
Change-Id: I52cd9efa6e640929485da7aa1e61d15a1a693b1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261949
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36865}
2022-05-12 14:26:53 +00:00
Florent Castelli
8c6d88ff5c api: Add MockDtmfSender
Similar mocks are used internally, there should only be one in WebRTC.

Bug: None
Change-Id: Ic5163ae0c554c602344a0d25d17c3f0d46fc2e95
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261955
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36864}
2022-05-12 13:11:15 +00:00
Philipp Hancke
1f49157b41 stats: implement transport iceState
https://w3c.github.io/webrtc-stats/#dom-rtctransportstats-selectedcandidatepairid

BUG=webrtc:14022

Change-Id: I206bff7048d2df3e3aff0af55072097f49d54e8f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261720
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#36840}
2022-05-10 13:55:21 +00:00
Danil Chapovalov
adaf511221 Extend UnitBase multiplication to support size_t
Bug: None
Change-Id: I8dcb85cdb2819df54d4cb0cae59b77d7d629123a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260941
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36828}
2022-05-10 07:41:30 +00:00
Niels Möller
14d01508be Move VP8 SupportsScalabilityMode utility to its own build target
Intended to let Vp8TemporalLayersFactory (an api/ target) reuse
this function, without depending on the codec implementation, and
without introducing a dependency cycle with the webrtc_vp8 build
target.

Bug: webrtc:11607
Change-Id: I671422e994e1005da8c7d768e8dd8ff795553e51
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261308
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36816}
2022-05-09 13:25:25 +00:00
Niels Möller
ea1e6f44f8 Delete rtc_base/format_macros.h
It defined RTC_PRIuS, which was needed for compatibility with MSVC
prior to version 2015.

Bug: webrtc:6424
Change-Id: I5668d473376201cad3e8da65927c967fc397804b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261314
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36814}
2022-05-09 12:03:21 +00:00
Niels Möller
42a829e623 Delete implicit conversion from rtc::scoped_refptr<T> to T*
Bug: webrtc:13464
Change-Id: I24c742c11a4ea5c4e307e170ee4fbd4e81cf1814
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260325
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36808}
2022-05-09 09:06:44 +00:00
Niels Möller
3b0481389f Update SupportsScalabilityMode functions to use enum ScalabilityMode.
And add missing values to ScalabilityMode.

Bug: webrtc:11607
Change-Id: I892ac35a3528db11b0901d26902699ecfe8f49a4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260982
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36792}
2022-05-06 07:29:20 +00:00
philipel
8615bf0582 Move FrameBuffer3 to api/
The webrtc::VideoStreamDecoderInterface was basically created as a public version of FrameBuffer2, but to hide the complexity of FrameBuffer2 it was also combined with decoding so that the public API could be reasonably simple to use. FrameBuffer3 has a simple API with a clear purpose, so its API can be exposed directly.

Bug: webrtc:14026
Change-Id: I81dc84b869e4d16c5e02feb5c876fbcede3d4a25
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261181
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36781}
2022-05-05 14:34:48 +00:00
Florent Castelli
26d12fcc71 Remove rtc_base:rtc_base_approved
It's now empty, let's remove it!

Bug: webrtc:9838
Change-Id: I4b3310e882ea95fdf47903f9ad31e2efb35703f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261242
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36774}
2022-05-05 09:43:31 +00:00
Philipp Hancke
95b1a3497c stats: implement iceLocalUsernameFragment
https://www.w3.org/TR/webrtc-stats/#dom-rtctransportstats-icelocalusernamefragment

BUG=webrtc:14022

Change-Id: If56ebe66d83f4e535c2245f2ca3848469914679f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261243
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#36772}
2022-05-05 08:08:48 +00:00
Philipp Hancke
cc1b9b060d stats: implement iceRole
https://www.w3.org/TR/webrtc-stats/#dom-rtctransportstats-icerole

BUG=webrtc:14022

Change-Id: I88de2c843a2042ce99076d55ce41be22589e2d92
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261201
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#36766}
2022-05-05 05:05:40 +00:00
Evan Shrubsole
44be579b4a Make all VideoReceiveStream2Test use simulated time
Adds matchers to webrtc::VideoFrame to help with the tests.

Bug: webrtc:14003
Change-Id: I62fc1c577bb76b21a96741ba829f6dcd53a308c1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260184
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36755}
2022-05-04 11:27:16 +00:00
Sam Zackrisson
eeffb6aaf7 Remove deprecated audio option residual_echo_detector
The feature is now enabled in other ways. See PSA or linked Monorail issue for details.
https://groups.google.com/g/discuss-webrtc/c/mJV5cDysBDI/m/7PTPBjVHCgAJ

Bug: webrtc:11539
Change-Id: I0f5816baf2bfa1508a1c85ddbd7b775417434c62
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260107
Auto-Submit: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36742}
2022-05-03 07:07:58 +00:00
Philipp Hancke
a16a6a6341 stats: implement inbound-rtp totalProcessingDelay for video
https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-totalprocessingdelay

BUG=webrtc:13984

Change-Id: Ifd821bd8553add46218f09a11366096d62f5d09f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259768
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36732}
2022-05-02 10:56:22 +00:00
Florent Castelli
a63b6b7d40 [PCLF] Allow configuring RtpEncodingParameters with singlecast
With the encoding parameters in the SimulcastConfig objects, it wasn't
possible to configure explicit encoding parameters when using singlecast,
required for example to use the spec standard SVC API.

Bug: webrtc:11607
Change-Id: I92b1446e772e2ecec93379dc91a3da159b8bc209
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260002
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36731}
2022-05-02 10:30:14 +00:00
Philipp Hancke
69c1df2f44 stats: add dtlsRole to transport
https://w3c.github.io/webrtc-stats/#dom-rtctransportstats-dtlsrole

BUG=webrtc:13978

Change-Id: Ib158427d2df0307884381bdd46c411f60f56a371
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259761
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#36730}
2022-05-02 10:13:54 +00:00
Niels Möller
79d566b0cf New enum ScalabilityMode.
Used instead of string representation in lower-levels of encoder configuration, to avoid string comparisons (with risk of misspelling) in lots of places.

Bug: webrtc:11607
Change-Id: I4d51c2265aac297c29976d2aa601d8ffb33b7326
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259870
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36706}
2022-04-29 12:16:42 +00:00
Niels Möller
9432768024 Prepare for deletion of implicit conversion from rtc::scoped_refptr<T> to T*
Bug: webrtc:13464
Change-Id: I4c7095d3a1c7c1a9ab609f5f1595545f6cad18db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249087
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36693}
2022-04-28 12:58:56 +00:00
Rasmus Brandt
e890e36c99 PCLF: Reserve vector before pushing.
Bug: None
Change-Id: I961f555085032330028b426e46a2c4ac576a2b03
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260283
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36686}
2022-04-28 09:49:34 +00:00
Evan Shrubsole
d425f506ad Switch VideoReceiveStream2 internals to Time units
Change-Id: Ifcee6372120e968499acbdf3bf2c0d002d1c4724
Bug: webrtc:13756
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259777
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Johannes Kron <kron@google.com>
Cr-Commit-Position: refs/heads/main@{#36685}
2022-04-28 09:38:54 +00:00
Niels Möller
df209e797b Avoid more usage of implicit conversion from scoped_refptr<T> to T*
Update api/, call/, examples/ and rtc_tools/.

Bug: webrtc:13464
Change-Id: I7b0008cca68c579e89b45527a45300d1e67c3483
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260000
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36673}
2022-04-27 13:18:30 +00:00
Artem Titov
a92d051e0f [PCLF] Introduce API to safely mutate ConfigurableParams in TestPeer
Bug: b/213863770
Change-Id: I90b7b5cd55ac5a8ebee5d790205a4fa6700dfff4
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260117
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36668}
2022-04-27 11:00:11 +00:00
Harald Alvestrand
e2c780ea24 Reland "Add canonical mock for MediaStreamInterface"
This reverts commit fc61750523120d0d7d7b02e4f6af7fb607a6b824.

Reason for revert: Fixed downstream project.

Original change's description:
> Revert "Add canonical mock for MediaStreamInterface"
>
> This reverts commit e217217bf3782dbd3ea27be33d5ebd26ae0500ca.
>
> Reason for revert: break upstream project (name collision)
>
> Original change's description:
> > Add canonical mock for MediaStreamInterface
> >
> > Needed to let upstream APIs integrate changes more easily.
> >
> > Bug: webrtc:13980
> > Change-Id: I6cd46f75d56597c10e08d0d66e16089516f5129c
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259821
> > Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#36613}
>
> Bug: webrtc:13980
> Change-Id: I18b91327225e0f844af5dd86c9b4ca8d6301d03e
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259860
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36614}

Bug: webrtc:13980
Change-Id: I84dbe5ec754389d30e5d22f9f9553fd9e9ee5bd5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260115
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36660}
2022-04-26 17:23:45 +00:00
Florent Castelli
c3e6e3a3e8 Remove dependency on rtc_base_approved from most targets
Bug: webrtc:9838
Change-Id: Ibd0199803597eff48ca139a5cecdc3209c62c5d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259873
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36643}
2022-04-25 12:15:30 +00:00