2123 Commits

Author SHA1 Message Date
Florent Castelli
33155d763c svc: Remove references to bogus modes
Those never existed, were likely a copy-paste error in the spec
that we somehow inherited.

Bug: webrtc:11607
Change-Id: Ib4a038f061123e879f1099656273f6392f092213
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273485
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37953}
2022-08-30 14:03:21 +00:00
Florent Castelli
38de6bc0b8 svc: Remove use of the VideoFrameTrackingIdAdvertised trial
AV1 tests seem to be running fine now that we have the dependency
descriptor enabled, so remove the need for the RTP header extension
as it doesn't allow discarding frames.

Bug: webrtc:11607
Change-Id: Ifd0670ab61a5b69d0570f65ba30c352a31376992
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273488
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37952}
2022-08-30 14:00:11 +00:00
Åsa Persson
319531efa6 Add support for more scalability modes (1.5:1 resolution ratio).
Added modes:
- L2T2h
- L2T3h
- L3T1h
- L3T2h
- L3T3h

Bug: webrtc:13960
Change-Id: I046a9a1f90629f6d4a5a82d4434e7cc0fa983263
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273345
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37951}
2022-08-30 12:33:41 +00:00
Andrey Logvin
fbb7ce8a93 Revert "rtpsender interface: make pure virtual again"
This reverts commit 021512b76a872b04e803d61f46c740ed363d641b.

Reason for revert: Breaks upstream project. It relies on the default implementation. The CL will be relanded after the migration is done. We will make sure to do it shortly.

Original change's description:
> rtpsender interface: make pure virtual again
>
> after providing default implementations in Chromium tests
>
> BUG=None
>
> Change-Id: I53bf26b3a99416f4005e7df75b9b86dfbf2489cb
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273100
> Commit-Queue: Philipp Hancke <phancke@microsoft.com>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37941}

Bug: None
Change-Id: I40f27c36819365fadae32032521f7e11184bee62
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273484
Owners-Override: Andrey Logvin <landrey@google.com>
Commit-Queue: Andrey Logvin <landrey@google.com>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Andrey Logvin <landrey@google.com>
Cr-Commit-Position: refs/heads/main@{#37947}
2022-08-30 11:27:50 +00:00
Åsa Persson
6d0516412e Add support for scalability modes S2T2, S3T1, S3T2.
Bug: webrtc:13960
Change-Id: Icafd3a5a3f8889777d65da5313b24e56a57af4d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273301
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37943}
2022-08-30 09:51:11 +00:00
Philipp Hancke
021512b76a rtpsender interface: make pure virtual again
after providing default implementations in Chromium tests

BUG=None

Change-Id: I53bf26b3a99416f4005e7df75b9b86dfbf2489cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273100
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37941}
2022-08-30 09:19:45 +00:00
Åsa Persson
46f4de5722 Add support for scalability modes L3T1_KEY, L3T2, L3T2_KEY.
Bug: webrtc:13960
Change-Id: Ib5c8309271d83a0fcfdecf7a93fdd61483c7d3e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273105
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37927}
2022-08-29 11:55:52 +00:00
Diep Bui
9068f456a3 Improve IPv6 selection logic when gathering candidates.
- If there are more than 5 IPv6 networks, then diversify IPv6 interface types selection.
- Passing field_trial from peer_connection_factory.cc when creating BasicPortAllocator object.

Bug: webrtc:14334
Change-Id: I7d100d944f4e60414e3421f422997bc3f168cc24
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271581
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37924}
2022-08-29 10:51:28 +00:00
Florent Castelli
f992510ce9 svc: Add E2E tests for all codecs with the dependency descriptor
This tests all existing codecs (VP8, VP9) with the depdendency
descriptor and adds the AV1 tests that requires it as well.

Placeholders for missing modes have been added for both VP9 and AV1.

Bug: webrtc:11607
Change-Id: Ie900bddc54ccbf4dcc466f3a7a6c8241906a243a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272807
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37906}
2022-08-25 15:54:09 +00:00
Harald Alvestrand
0166be8208 Let SDP operations always look at all simulcast layers
This simplifies the logic of what simulcast layers to signal, and avoids
situations where the upper layers get confused about which layers exist.

Bug: chromium:1350245
Change-Id: I9edeb93cbb30e872c4d3f3429a85a1fccf17996a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272902
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37905}
2022-08-25 15:15:02 +00:00
Danil Chapovalov
97bdfa32d4 Remove dependency on rtc::MessageHandler in session description factory
Bug: webrtc:9702
Change-Id: Iedbcc1f8d223c4df3e0e8c5811d5a4b78dfe8d3d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272620
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37891}
2022-08-24 16:12:39 +00:00
Danil Chapovalov
b7da81621c Replace RTCCertificateGeneratorCallback interface with an AnyInvocable
follow up of the https://webrtc-review.googlesource.com/c/src/+/272402

Bug: None
Change-Id: Ie47aff9fccdb4037c1f560801c780dd549b373ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272553
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37870}
2022-08-22 16:53:14 +00:00
Danil Chapovalov
b22f0c2238 Remove a sigslot from webrtc_session_description_factory
callback are know at construction time and only need some synchronization at destruction time. In this case such synchronization can be done with cheaper/simpler WeakPtr concept.

Asynchronous call to SetCertificate is no longer needed thanks to
previous removal of sigslot in
https://webrtc-review.googlesource.com/c/src/+/192362

Bug: webrtc:11943
Change-Id: Icadbcb4f83be9ed4b8f53a72beaef8573f2c9356
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272402
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37868}
2022-08-22 14:12:47 +00:00
Fredrik Solenberg
5cb3a90870 Remove sigslot usage from SctpTransportInternal
Bug: webrtc:11943
Change-Id: I42edf8e2e15e580bcda090447a7aae4a56366b33
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/270661
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37867}
2022-08-22 13:51:17 +00:00
Danil Chapovalov
c6c346da61 Remove usage of rtc::MessageHandler in pc/remote_audio_source
Bug: webrtc:9702
Change-Id: Ibef43b8c1b61afe4cf4e79a7c6549af6d5bff93f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272546
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37859}
2022-08-22 10:12:17 +00:00
Danil Chapovalov
372ecc30fa Remove MessageHandler usage in pc test helpers
Bug: webrtc:11988
Change-Id: If4175c51b990d1d8ff6eb9a9ba63fa92139b95b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272404
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37848}
2022-08-19 20:37:57 +00:00
Philipp Hancke
4a3b5ccfd5 Reland "dtls: allow dtls role to change during DTLS restart"
This is a reland of commit 02b5f3c9c12cddf3fc6e9125238b77ddb44f3b53
without making SetRemoteFingerprint private (but adding a deprecation warning)

Original change's description:
> dtls: allow dtls role to change during DTLS restart
>
> which is characterized by a change in remote fingerprint and
> causes a new DTLS handshake. This allows renegotiating the
> client/server role as well.
> Spec guidance is provided by
>   https://www.rfc-editor.org/rfc/rfc5763#section-6.6
>
> BUG=webrtc:5768
>
> Change-Id: I0e8630c0c5907cc92720762a4320ad21a6190d28
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271680
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Philipp Hancke <phancke@microsoft.com>
> Cr-Commit-Position: refs/heads/main@{#37821}

Bug: webrtc:5768
Change-Id: I8dd674db8b683160013e1b4aa7776775d130978f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272221
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#37838}
2022-08-19 10:55:47 +00:00
Danil Chapovalov
5d37ba29de Rewrite PeerConnectionMessageHandler to not use rtc::MessageHandler
Bug: webrtc:9702
Change-Id: I92390262b4794b1061702663621a9a4db22d367f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272023
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37836}
2022-08-19 10:21:36 +00:00
Markus Handell
2cfc1af78a Update rtc::Event::Wait call sites to use TimeDelta.
Bug: webrtc:14366
Change-Id: I949c1d26f030696b18153afef977633c9a5bd4cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272003
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37835}
2022-08-19 10:07:28 +00:00
Björn Terelius
fb5fc4307d Revert "dtls: allow dtls role to change during DTLS restart"
This reverts commit 02b5f3c9c12cddf3fc6e9125238b77ddb44f3b53.

Reason for revert: SetRemoteFingerprint called by downstream code.

Original change's description:
> dtls: allow dtls role to change during DTLS restart
>
> which is characterized by a change in remote fingerprint and
> causes a new DTLS handshake. This allows renegotiating the
> client/server role as well.
> Spec guidance is provided by
>   https://www.rfc-editor.org/rfc/rfc5763#section-6.6
>
> BUG=webrtc:5768
>
> Change-Id: I0e8630c0c5907cc92720762a4320ad21a6190d28
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271680
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Philipp Hancke <phancke@microsoft.com>
> Cr-Commit-Position: refs/heads/main@{#37821}

Bug: webrtc:5768
Change-Id: I266b7fdc9cc0b6dc9d3fa732fca37407b98e0816
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272220
Owners-Override: Björn Terelius <terelius@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37822}
2022-08-18 11:49:56 +00:00
Philipp Hancke
02b5f3c9c1 dtls: allow dtls role to change during DTLS restart
which is characterized by a change in remote fingerprint and
causes a new DTLS handshake. This allows renegotiating the
client/server role as well.
Spec guidance is provided by
  https://www.rfc-editor.org/rfc/rfc5763#section-6.6

BUG=webrtc:5768

Change-Id: I0e8630c0c5907cc92720762a4320ad21a6190d28
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271680
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#37821}
2022-08-18 11:23:16 +00:00
Danil Chapovalov
2aaef45876 Replace Invoke in tests with SendTask test helper
Bug: webrtc:11318
Change-Id: I14e3fbc694d41c785a61c88d8207005c681576c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271540
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37774}
2022-08-12 23:42:16 +00:00
Danil Chapovalov
cc903d99bd Remove rtc::Location from pc/proxy as unused
Bug: webrtc:11318
Change-Id: Ie1ec35a61f8ad029127d5feb824308d0297919ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271542
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37772}
2022-08-12 20:05:30 +00:00
Fredrik Solenberg
da2afbd70c Remove sigslot usage from DtmfProviderInterface
Bug: webrtc:11943
Change-Id: I452efbb099affc10e9197573fa0e40094a0d90ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/270420
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37681}
2022-08-03 14:16:35 +00:00
Philipp Hancke
a204ad210d clean up misc TimeDelta use
follow-up from https://webrtc-review.googlesource.com/c/src/+/262810

* replace Time::Millis(0) and TimeDelta::Millis(0) with ::Zero()
* drop unnecessary webrtc namespace from some TimeDeltas
* make TimeDelta do the unit conversion for stats

BUG=webrtc:13756

Change-Id: Ic60625ae0fc7959a47a6be9f5051851feaf76373
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265875
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
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@{#37664}
2022-08-02 13:52:36 +00:00
Philipp Hancke
684e241323 stats: implement outbound-rtp.active
implementing
  https://github.com/w3c/webrtc-stats/pull/649

BUG=webrtc:14291

Change-Id: Ib8453d4d7c335834cd8dd2aa29111aef26211dff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269520
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#37639}
2022-07-28 13:35:40 +00:00
Henrik Boström
808a8fc29e TrackMediaInfoMap: Use rtc::ArrayView in Initialize.
Drive-by improvement as suggested in
https://webrtc-review.googlesource.com/c/src/+/269404.

Bug: webrtc:14289
Change-Id: Ib6579916cb4ab1076c1522275b318859400b731e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269202
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37625}
2022-07-27 11:28:25 +00:00
Henrik Boström
fc67b455e6 [ModernStats] Replace uses of std::unique_ptr<> with absl::optional<>.
Optional better describes "optionality" so let's do it for the sake of
style. But a side-effect of switching to optional may be better memory
locality than std::unique_ptr<>. (Anecdotally I saw a pprof suggesting a
significant amount of time being spent allocating/reading these maps.
This CL is unlikely to make the difference but it can't hurt.)

Bug: webrtc:14289
Change-Id: I7dcea9625b95c2f1a23e7d9595d27b58883570e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269404
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37624}
2022-07-27 11:18:41 +00:00
Danil Chapovalov
6e7c2685e3 Allow recursive check for RTC_DCHECK_RUN_ON macro
instead of using Lock/Unlock attributes, use Assert attribute to annotate code is running on certain task queue or thread.

Such check better matches what is checked, in particular allows to
recheck (and thus better document) currently used task queue

Bug: None
Change-Id: I5bc1c397efbc8342cf7915093b578bb015c85651
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269381
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37619}
2022-07-26 09:27:23 +00:00
Henrik Boström
a5cc0accfb Add DEPRECATED prefix to track stats IDs.
There's no way to add a deprecation warning unique to using
RTCMediaStreamTrackStats, but we could signal to users that it is
deprecated by adding "DEPRECATED_" to its ID.

This could break apps with hardcoded assumptions about what the stats
IDs are, but apps doing this are using the API incorrectly anyway, so
if anyone is affected by this change that would be a good time to
remove any dependency on this (see https://crbug.com/webrtc/10656
regading the fact that IDs should be unpredictable).

Bug: webrtc:14175
Change-Id: I6242c4efc08e9570420c00af5aaf491b1af819f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269004
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37595}
2022-07-22 11:34:46 +00:00
Byoungchan Lee
10a7d23be5 Fix degradation_preference setting being ignored using RtpSender.SetParameters.
RtpSenderBase::SetParametersInternal stores init_parameters_
if media_channel_ does not exist. When RtpSenderBase::SetSsrc is called,
init_parameters_ is used to set the initial encoding parameters and
degradation_preference. However, if no encoding parameter is specified,
degradation_preference will not be set.

This CL modifies the RtpSender so that degradation_preference is not
ignored even in this case.

Bug: webrtc:14279
Change-Id: I7e95ecdf5fcb19037e4f118981d1314d78ffca5a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268960
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#37574}
2022-07-20 13:48:27 +00:00
Ivo Creusen
1a84b565ac Implement RTCInboundRTPStreamStats.JitterBufferMinimumDelay
This metric was recently added to the standard (see https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-jitterbufferminimumdelay). This CL implements it for audio streams.

Bug: webrtc:14141
Change-Id: I79d918639cd12361ebbc28c2be41549e33fa7e2a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262770
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37567}
2022-07-20 09:14:03 +00:00
Danil Chapovalov
c05a1be5b4 Migrate remaining webrtc usage of TaskQueueBase to absl::AnyInvocable
Bug: webrtc:14245
Change-Id: I8de2c23da5fbdfc0b1efbbe07fb6e8de744424a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268191
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37565}
2022-07-20 08:15:08 +00:00
Philipp Hancke
6f22eb55b3 peerconnection: measure invalid ice-chars in remote description
in order to deprecate the non-spec usage

BUG=chromium:1053756

Change-Id: I2588aba64a6e7ff05b39c5505504579a5f58a75f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268380
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37522}
2022-07-14 15:29:47 +00:00
Henrik Boström
2b1f509f3a Disallow invalid arguments in RestoreEncodingLayers.
Changing DCHECK into CHECK for good measure.

Bug: chromium:1343889
Change-Id: I2cede85dc2d2a4238739f73afe25275047f4aa50
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268460
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37511}
2022-07-13 10:55:03 +00:00
Ali Tofigh
b7821cea6b Remove unnecessary overload in RtcEventLogOutput
Bug: webrtc:13579
Change-Id: I3ea4b8ce8d111ae6b9ce7e92f75bd4196bc9656b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268420
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37508}
2022-07-12 22:09:36 +00:00
Philipp Hancke
c501f30333 sdp: temporarily relax channel requirements for statically assigned payload types
to allow for downstream users to upgrade.

BUG=chromium:1338902

Change-Id: Ie1205ad2c9c1be3f4ed8e133b1a5e54afd04ebd9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268193
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37501}
2022-07-11 14:32:55 +00:00
Philipp Hancke
9799fe036a peerconnection: move first connect metrics gathering to helper function
since it has grown too large

BUG=None

Change-Id: I9dfffd6264db3206c0674a3446c857c139ba6fb8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267826
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#37492}
2022-07-08 11:44:02 +00:00
Ali Tofigh
eb91fe48fe Remove unnecessary std::string overloads
Makes std::string version of rtc::RtcEventLogOutput::Write() no longer pure virtual while making the absl::string_view version pure virtual. Also removes unnecessary overloads in subclasses.

BUG=webrtc:13579

Change-Id: I8fb449560b795a1ef76fab27533d9042d0c34cd1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268062
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37484}
2022-07-07 14:24:14 +00:00
Danil Chapovalov
a30439bbe6 Migrate pc/ to absl::AnyInvocable based TaskQueueBase interface
Bug: webrtc:14245
Change-Id: I9043aa507421a93f0d7ba7406e237f727999b696
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268121
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37478}
2022-07-07 10:33:28 +00:00
Philipp Hancke
62c20f305e sdp: temporarily relax clockrate requirements for statically assigned payload types
to allow for downstream users to upgrade.

BUG=chromium:1338902

Change-Id: If6b56ab63f7859c13e9ebc70326e1088e5dfff1a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268141
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37475}
2022-07-07 09:49:54 +00:00
Artem Titov
92159dc3ad [PCLF] Remove references to the old location of VideoQualityAnalyzerInterface
Bug: None
Change-Id: Ie14e6c279f268f76061fbc3ead1ae7b5febd3b9c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267824
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37463}
2022-07-06 12:41:15 +00:00
Byoungchan Lee
a1a7c638ec Let PCF.GetRtpSenderCapabilities return codecs' scalabilityModes.
Also move ScalabilityModeToString to api and add RTC_EXPORT so that
Chromium can use it.

Bug: chromium:986069
Change-Id: I5dbbb6de9b14ca20f3ae0630552dcd44595ad5ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267780
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#37444}
2022-07-05 13:28:33 +00:00
Ivo Creusen
11fdb08282 Implement RTCInboundRTPStreamStats.JitterBufferTargetDelay
This CL also removes the existing non-standard implementation of the metric.

Bug: webrtc:14147, webrtc:11789
Change-Id: I70fd1c451dfd59380fe5ce959086f37b31697c16
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265360
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37441}
2022-07-05 11:34:53 +00:00
Björn Terelius
63299a3124 Add absl::string_view overload for RtcEventLogOutput::Write
Bug: webrtc:13579
Change-Id: I13f63fb6be6aa62c2e011c18327499fa16b5824e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267641
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37440}
2022-07-05 10:47:47 +00:00
Niels Möller
b5b159d98c Update old TODO comments
Bug: None
Change-Id: I531ed648fe3d1f0dd1202f53c59ed023aed1ea7c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267664
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37432}
2022-07-05 09:09:44 +00:00
Henrik Boström
f785989170 Rename StatsCollector to LegacyStatsCollector.
We should have done this a long time ago.

Let's do the same for stats_types.h in a separate CL because that file
is part of the api/ folder and needs some special care (typedefs and
temporarily include helper to avoid breaking downstream projects).

Bug: webrtc:14180
Change-Id: Id9c71ebd53dd97dd238bdf7527c36d7cf0e91f85
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267642
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37426}
2022-07-05 07:49:43 +00:00
Henrik Boström
5023ffbb38 DCHECK that RTCStatsCollector does not block-invoke more than twice.
In the modern getStats implementation, we currently do two
block-invokes when we trigger stats collection, once for
signaling -> worker and once for signaling -> network inside, both take
place inside the "prepare" method:
RTCStatsCollector::PrepareTransceiverStatsInfosAndCallStats_s_w_n.

For comparison, the legacy stats collector currently require 4 block
invokes to operate.

Bug: webrtc:14247
Change-Id: Ie739cbcf29d87041484183b520aeba520aafcaba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267660
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37424}
2022-07-05 06:49:22 +00:00
Philipp Hancke
3719a0c4e8 stats: use decoded framerate for inbound-rtp framesPerSecond
instead of the framerate received on the network. This is specified in
  https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-framespersecond

BUG=webrtc:13765

Change-Id: I9a0a89d29de49ac5257254deae9b7e5212e09363
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267409
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#37422}
2022-07-05 04:59:32 +00:00
Harald Alvestrand
1c5808145e Ignore RID that appears without an a=simulcast entry
RID is defined for multiple usages in RFC 8851, but we only support
usage with a=simulcast as specified in RFC 8853.

Bug: chromium:1341043
Change-Id: Ie72074c5b394bdc41865938a86ec9c7629e1f5e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267628
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37417}
2022-07-04 11:04:12 +00:00