2251 Commits

Author SHA1 Message Date
Henrik Boström
5abfc920b5 Reland "[Stats] Cleanup: Remove unimplemented metrics and obsolete TODOs."
This is a reland of commit 626f87d90501fd8d7a4ea071686cd8befd0d430c

Original change's description:
> [Stats] Cleanup: Remove unimplemented metrics and obsolete TODOs.
>
> In preparation for the spec moving closer to PR, let's not have
> placeholder metrics not implemented.
>
> Bug: webrtc:14167
> Change-Id: If4688ef85b57f88154d490186b306b30414874e4
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265383
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37205}

Bug: webrtc:14167
Change-Id: Ib12488fb8510fb3430e92bcd72d88c7879ecb0ab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265861
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37226}
2022-06-15 15:03:18 +00:00
Johannes Kron
bbf639e930 Add low-latency stream signaling to VideoFrame and VCMTiming
This is the first CL out of three to make the low-latency stream signaling
explicit. At the moment this is done by setting the render time to 0.
There's a dependency between Chromium and WebRTC which is why this is
split into three CLs to not break any existing functionality.

Bug: chromium:1327251
Change-Id: Ie6b268746d587a99334485db77181fb2c6e9b567
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264502
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37225}
2022-06-15 14:04:28 +00:00
Niels Möller
9bda4905d2 Add public visibility for scalability_mode target
Bug: webrtc:11607
Change-Id: I93681ef6ff5918bd3bb26b006a9db9cab1805df2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265862
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37223}
2022-06-15 11:26:38 +00:00
Evan Shrubsole
66fcd16a41 FrameBuffer::InsertFrame returns true on successful insertion
This is cleaner than checking the size before and after, as is currently
done in FrameBufferProxy

Bug: webrtc:14168
Change-Id: Iac896ddf7b1b0b8513159451de7cd8a10668a49a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265663
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37222}
2022-06-15 10:56:48 +00:00
Niels Möller
105711e9ad Move rtc::make_ref_counted to api/
Bug: webrtc:12701
Change-Id: If49095b101c1a1763c2a44a0284c0d670cce953f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265390
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@{#37219}
2022-06-15 09:47:38 +00:00
Henrik Boström
67d2d35443 Revert "Reland "[Stats] Cleanup: Remove unimplemented metrics and obsolete TODOs.""
This reverts commit 2843bbc96dc3deee0406bac5ec9440cf3385ef2e.

Reason for revert: Even more references to unimplemented metrics remaining...

Original change's description:
> Reland "[Stats] Cleanup: Remove unimplemented metrics and obsolete TODOs."
>
> This is a reland of commit 626f87d90501fd8d7a4ea071686cd8befd0d430c
>
> Original change's description:
> > [Stats] Cleanup: Remove unimplemented metrics and obsolete TODOs.
> >
> > In preparation for the spec moving closer to PR, let's not have
> > placeholder metrics not implemented.
> >
> > Bug: webrtc:14167
> > Change-Id: If4688ef85b57f88154d490186b306b30414874e4
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265383
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Henrik Boström <hbos@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#37205}
>
> Bug: webrtc:14167
> Change-Id: Ifdc37e7a48fea516c727c06d2f510780386cb204
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265805
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Auto-Submit: Henrik Boström <hbos@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37215}

Bug: webrtc:14167
Change-Id: I959d61512d5896224302a70aadbac6f75afc819e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265810
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#37217}
2022-06-15 08:11:48 +00:00
Henrik Boström
2843bbc96d Reland "[Stats] Cleanup: Remove unimplemented metrics and obsolete TODOs."
This is a reland of commit 626f87d90501fd8d7a4ea071686cd8befd0d430c

Original change's description:
> [Stats] Cleanup: Remove unimplemented metrics and obsolete TODOs.
>
> In preparation for the spec moving closer to PR, let's not have
> placeholder metrics not implemented.
>
> Bug: webrtc:14167
> Change-Id: If4688ef85b57f88154d490186b306b30414874e4
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265383
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37205}

Bug: webrtc:14167
Change-Id: Ifdc37e7a48fea516c727c06d2f510780386cb204
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265805
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37215}
2022-06-15 06:29:38 +00:00
Niels Möller
3de806535a Delete unneeded include of port.h
Bug: webrtc:8733
Change-Id: I350486114a48a83a112d1d1ab0c6eb4ef76fa87a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265801
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37207}
2022-06-14 09:36:07 +00:00
Henrik Boström
378b1c6826 Revert "[Stats] Cleanup: Remove unimplemented metrics and obsolete TODOs."
This reverts commit 626f87d90501fd8d7a4ea071686cd8befd0d430c.

Reason for revert: Breaks one downstream project, will re-land after the dependency stops referencing an unimplemented RTT metric

Original change's description:
> [Stats] Cleanup: Remove unimplemented metrics and obsolete TODOs.
>
> In preparation for the spec moving closer to PR, let's not have
> placeholder metrics not implemented.
>
> Bug: webrtc:14167
> Change-Id: If4688ef85b57f88154d490186b306b30414874e4
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265383
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37205}

Bug: webrtc:14167
Change-Id: I7e9ac60eb474b44fab678d4c08ddcae846ce456c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265800
Auto-Submit: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37206}
2022-06-14 08:48:37 +00:00
Henrik Boström
626f87d905 [Stats] Cleanup: Remove unimplemented metrics and obsolete TODOs.
In preparation for the spec moving closer to PR, let's not have
placeholder metrics not implemented.

Bug: webrtc:14167
Change-Id: If4688ef85b57f88154d490186b306b30414874e4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265383
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37205}
2022-06-14 07:46:57 +00:00
Niels Möller
7c8c4db8ea Add rtc::make_ref_counted to api/
This cl adds a forwarding header, a build target, and migrates headers
in api/ to use it.

Moving actual implementation, will follow, in
https://webrtc-review.googlesource.com/c/src/+/265390.

Bug: webrtc:12701
Change-Id: Id950725d7d054de8a83b3800b9c9a6437344de86
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265660
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37200}
2022-06-13 15:53:27 +00:00
Danil Chapovalov
1220855430 In RemoteEstimatorProxy use Timestamp type
to assemble rtcp::TransportFeedback

Bug: webrtc:13757
Change-Id: I668d9e61d82b454a6884eff223804afc882d86a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264900
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37192}
2022-06-13 10:07:46 +00:00
Joe Downing
87bcc1cab9 Adding some AV1 constants and helper functions
I've added a basic AV1 impl to Chrome Remote Desktop and am looking into
what is needed to test with I444 (Profile-1) in our platform. This CL
adds a few helper functions, constants, and enums that can be used to
configure the SDP with different AV1 profiles. More work is still needed
but I wanted to get this in place first so I can build on it in the CRD
host code.

Change-Id: I1af9ebf31f833138e8c36e0c0a30e32289e7b58e
Bug: chromium:1329660
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264000
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Joe Downing <joedow@google.com>
Cr-Commit-Position: refs/heads/main@{#37182}
2022-06-10 16:39:54 +00:00
Niels Möller
10da2b5357 Delete unused test class DummyPeerConnection
Introduced in https://webrtc-review.googlesource.com/c/src/+/152820
but never used.

Bug: None
Change-Id: I8888db9e0cad39a6eb073e8f662b5ad2690d03e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265409
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37173}
2022-06-10 07:29:54 +00:00
Niels Möller
f1d822b03b Delete variant of rtc::split that copies the output fields
Bug: webrtc:13579
Change-Id: I065a32704d48d5eed21aee0e9757cac9ecf7aa99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261951
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37160}
2022-06-09 08:29:33 +00:00
Jakob Ivarsson
664e30ff57 Remove redundant LastDecodedTimestamps.
The same information can be found in `AudioFrame.packet_infos_`.

Bug: none
Change-Id: Ib63bc41ffb896677a445d875afce0a98acea6999
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265161
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37153}
2022-06-08 13:31:52 +00:00
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