Commit graph

2369 commits

Author SHA1 Message Date
Jonas Oreland
7252348d76 Create EncoderStreamFactory in VideoStreamEncoder
This cl/ changes so that the EncoderStreamFactory is
not created inside WebRtcVideoSendStream (webrtc_video_engine).

The benifit of this is that the VideoStreamEncoder can then
amend the EncoderStreamFactory with state (and types)
w/o exposing it in VideoEncoderConfig.

I.e as an alternative to changes done inside
https://webrtc-review.googlesource.com/c/src/+/276742.

The fake_webrtc_call is modified to (if needed) create
it's own EncoderStreamFactory if needed.

Note: this cl/ will have to be merged with with
https://webrtc-review.googlesource.com/c/src/+/277002.

Bug: webrtc:14451
Change-Id: I3d896b227d39725ba6409622e8d09d14bd45d5fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277160
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38237}
2022-09-28 17:47:52 +00:00
Artem Titov
7fee2f7908 Migrate CallSimulator to the new perf metrics logging API
Bug: b/246095034
Change-Id: I613f702d2f469b6bc8d1634f8dda40d444ff7cf2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276632
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38213}
2022-09-26 19:37:51 +00:00
Byoungchan Lee
e2f2cae3fb Cleanup: Deduplicate static functions that create network links
Bug: None
Change-Id: I8ac401ed594bf2af724f1478c9a86f8f41d632f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275900
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38212}
2022-09-26 16:45:30 +00:00
Byoungchan Lee
4086721e6a Make ExpectationToString generate detailed logs in more cases.
ExpectationToString is used to explain why RTC_DCHECK_RUN_ON is
triggered.
Unfortunately, the current implementation only generates verbose strings
when SequenceCheckerImpl is passed as an argument.

Modify ExpectationToString to generate detailed messages even for
derived classes of SequenceCheckerImpl.

Bug: None
Change-Id: I55f76d44ad59dbe6f21cee7d7d8e19188e0f3088
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276061
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38211}
2022-09-26 16:24:04 +00:00
Byoungchan Lee
8c4601b831 Fix ambiguous overloaded operator== in C++20
Polymorphic comparison operators doesn't work in C++20.
(-Wambiguous-reversed-operator)
Fix this issue by using the non-virtual interface pattern.

Bug: chromium:1284275
Change-Id: I79e2bbcd3ae2f3b089183146f7e7c775c493e3f4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276560
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#38210}
2022-09-26 16:23:00 +00:00
Artem Titov
183e9968ce Increase backward compatibility for PrintResultProxyMetricsExporter
Bug: b/246095034
Change-Id: Ie6f3dd86a402c2d5cec4dce90b5aa08c2a96ac27
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276741
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38206}
2022-09-26 14:16:10 +00:00
Florent Castelli
4c7d3f82f9 PCLF: Ignore discarded frames in the DefaultVideoQualityAnalyzer
Bug: webrtc:14453, webrtc:11607
Change-Id: Iad0da2d85d9db74026205591e8b2ced399988998
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276420
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38204}
2022-09-26 13:42:01 +00:00
Artem Titov
f01ceb6f93 Introduce MetricsAccumulator
Bug: b/246095034
Change-Id: Ic267254245399238d3eece421e4e4e72134dd0e9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276740
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38203}
2022-09-26 13:12:40 +00:00
Henrik Boström
da6297dc53 [Stats] Avoid DCHECK crashing if SSRCs are not unique.
To properly handle SSRC collisions in non-BUNDLE we need to change how
RTP stats IDs are generated, but that is a riskier change to be dealt
with in a separate CL.

For now, we just make sure that crashing is not a possibility during
SSRC collisions as a mitigation for https://crbug.com/1361612. This is
achieved by adding a TryAddStats() method to RTCStatsReport returning
whether successful.

Bug: chromium:1361612
Change-Id: I8577ae4c84a7c1eb3c7527e9efd8d1b0254269a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275766
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38197}
2022-09-26 10:28:01 +00:00
Artem Titov
d7dbe7fda8 Remove global MetricsLoggerAndExporter instance in favor of MetricsLogger
Bug: b/246095034
Change-Id: Ie3dd5947f0f593bd17cfecfa333d5254fa40769d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276628
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38190}
2022-09-25 09:33:10 +00:00
Artem Titov
f863182ce5 Migrate test_main_lib on new global metrics API
Bug: b/246095034
Change-Id: I99cd631cdae49ad1e0812f1204a6be4d6f43bc34
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276604
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38184}
2022-09-23 19:22:37 +00:00
Artem Titov
5baa5b6278 Add global MetricsLogger and export APIs
Bug: b/246095034
Change-Id: Id4cab9352b2155d967d0604b830fd87511675789
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276603
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38183}
2022-09-23 15:22:23 +00:00
Florent Castelli
bfdb9577ff PCLF: Separate SFU functionality configuration into a new struct
Creates the EmulatedSFUConfig that will receive the parameters for
controlling the virtual SFU used in the call.
Its current only field is the previous target_spatial_index from
VideoSimulcastConfig.
This allow to filter out the bottom layers for SVC S mode tests
and enable them.

Bug: webrtc:11607
Change-Id: Id4f3a96b3a03b9be7155796c3bafefce01f32b7d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/274162
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38182}
2022-09-23 15:08:37 +00:00
Artem Titov
7b0f4a211a Introduce MetricsLogger to separate logging and export logic
Bug: b/246095034
Change-Id: If870016b87126feefb9c63b1544091f0855e169f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276600
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38180}
2022-09-23 14:00:07 +00:00
Jonas Oreland
0deda15c96 Reland "RtpEncodingParameters::request_resolution patch 1"
This reverts commit b625101da8.

Reason for revert: Found problem that was specific how
configuration is handled for VP9. A 1-line change in webrtc_video_engine.cc line 3715.
Thanks Rasmus and great that this was tested!

Original change's description:
> Revert "RtpEncodingParameters::request_resolution patch 1"
>
> This reverts commit ef7359e679.
>
> Reason for revert: Breaks downstream test
>
> Original change's description:
> > RtpEncodingParameters::request_resolution patch 1
> >
> > This patch adds RtpEncodingParameters::request_resolution
> > with documentation and plumming. No behaviour is changed yet.
> >
> > Bug: webrtc:14451
> > Change-Id: I1f4f83a312ee8c293e3d8f02b950751e62048304
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276262
> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> > Reviewed-by: Henrik Boström <hbos@webrtc.org>
> > Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> > Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
> > Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#38172}
>
> Bug: webrtc:14451
> Change-Id: I4b9590e23ec38e9e1c2e51a4600ef96b129439f2
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276541
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
> Owners-Override: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38176}

Bug: webrtc:14451
Change-Id: Ica9b74180bce22d09bf289126bb5ac137bf9eb70
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276543
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38178}
2022-09-23 11:48:19 +00:00
Björn Terelius
b625101da8 Revert "RtpEncodingParameters::request_resolution patch 1"
This reverts commit ef7359e679.

Reason for revert: Breaks downstream test

Original change's description:
> RtpEncodingParameters::request_resolution patch 1
>
> This patch adds RtpEncodingParameters::request_resolution
> with documentation and plumming. No behaviour is changed yet.
>
> Bug: webrtc:14451
> Change-Id: I1f4f83a312ee8c293e3d8f02b950751e62048304
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276262
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
> Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38172}

Bug: webrtc:14451
Change-Id: I4b9590e23ec38e9e1c2e51a4600ef96b129439f2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276541
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Owners-Override: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38176}
2022-09-23 08:27:47 +00:00
Jonas Oreland
ef7359e679 RtpEncodingParameters::request_resolution patch 1
This patch adds RtpEncodingParameters::request_resolution
with documentation and plumming. No behaviour is changed yet.

Bug: webrtc:14451
Change-Id: I1f4f83a312ee8c293e3d8f02b950751e62048304
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276262
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38172}
2022-09-22 14:16:20 +00:00
Byoungchan Lee
636dc3d208 Implement RTCOutboundRtpStreamStats.targetBitrate for video
Spec: https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-targetbitrate

Bug: webrtc:13394
Change-Id: I4749b38088a24d1a775137d5fe2c65f96effd185
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276380
Auto-Submit: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38170}
2022-09-22 12:37:30 +00:00
Artem Titov
f68a06c34b [PCLF] Cleanup old video dumping API
Bug: b/240540206
Change-Id: I1184f3f73a6de430e7103783b8959d8ff222e31e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/270485
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38163}
2022-09-21 16:58:22 +00:00
Artem Titov
3680605caa [PCLF] Enable exporting of perf metric via new API
Bug: b/246095034
Change-Id: I05f28e5dfc6df793c035110f89d9ac40783687f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276267
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38161}
2022-09-21 15:55:09 +00:00
Artem Titov
45c6f5e2e1 Change StdoutMetricsExporter format to improve readability
Change from
<test case>/<metric name>

to
<test case> / <metric name>

to increase readability when <test case> itself contains "/" or
<metric name> contains "/"

Bug: b/246095034
Change-Id: If870fdcac37275aecf87e7d57e8aada05a5ef454
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276263
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38155}
2022-09-21 13:30:11 +00:00
Alessio Bazzica
8eeb9b03a8 RtpPacketInfo: deprecated ctors and getter removed
Bug: webrtc:10739, b/246753278
Change-Id: I04d8a7886a7a1be7e155300a0c0ff3266fe6f28b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275944
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38152}
2022-09-21 12:00:56 +00:00
Sameer Vijaykar
52dd1a566a Reland "Add an active ICE controller that wraps a legacy controller (#7/n)"
This is a reland of commit 6326c9c201

Original change's description:
> Add an active ICE controller that wraps a legacy controller (#7/n)
>
> The wrapping ICE controller will allow existing ICE controller implementations to migrate to the active interface, and eventually deprecate the legacy interface.
>
> Follow-up CL has unit tests for P2PTransportChannel using the new wrapping controller.
>
> Bug: webrtc:14367, webrtc:14131
> Change-Id: I6c517449ff1e503e8268a7ef91afda793723fdeb
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275302
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
> Commit-Queue: Sameer Vijaykar <samvi@google.com>
> Cr-Commit-Position: refs/heads/main@{#38130}

Bug: webrtc:14367, webrtc:14131
Change-Id: I5662595db1df8c06b3acac9b39749f236906fa7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276044
Auto-Submit: Sameer Vijaykar <samvi@google.com>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38149}
2022-09-21 11:02:26 +00:00
Artem Titov
e11d5e378c [DVQA] Add ability to export metrics with MetricsLoggerAndExporter
Bug: b/246095034
Change-Id: Ibbadd11ff27f65cc128efd891eace89df3c59316
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276101
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38145}
2022-09-21 08:15:30 +00:00
Artem Titov
164bb2fcca [PCLF] Add possibility to use new perf metrics api in VideoQualityMetricsReporter
Bug: b/246095034
Change-Id: Ia7a50404750538a65042562bd80f0cb88f78ab90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276102
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38142}
2022-09-21 07:25:10 +00:00
Artem Titov
a5d2c7ecd6 Introduce PrintResultProxyMetricsExporter for migration from old to new API
Bug: b/246095034
Change-Id: I7597ddad84c4b2af1d59e38c558b1f0f56bd3f4e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276047
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38141}
2022-09-21 06:52:30 +00:00
Artem Titov
539c1da98d Rename Metric Units: kTimeMs->kMilliseconds and kSizeInBytes->kBytes
Rename C++ API units to match new proto format units in metric.proto

Bug: b/246095034
Change-Id: Ice5d388a080c474f275ef597f98fac1bcb98cf49
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276100
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38137}
2022-09-20 21:54:21 +00:00
Artem Titov
01f3841e38 Fix: convert mean and stddev values when exporting to CPD
Also simplify exporter implementation

Bug: b/246095034
Change-Id: I656f17f7ee63d26445f3e420f3d22c52f336fa21
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276049
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38135}
2022-09-20 18:40:30 +00:00
Artem Titov
a3253e35b1 Fix test name in StdoutMetricsExporterTest
Bug: b/246095034
Change-Id: I645cc8de065ce34af49bb1c4cd633e3d7ef64bda
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276048
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38134}
2022-09-20 17:51:40 +00:00
Sameer Vijaykar
50a2a73ed9 Revert "Add an active ICE controller that wraps a legacy controller (#7/n)"
This reverts commit 6326c9c201.

Reason for revert: breaks upstream project

Original change's description:
> Add an active ICE controller that wraps a legacy controller (#7/n)
>
> The wrapping ICE controller will allow existing ICE controller implementations to migrate to the active interface, and eventually deprecate the legacy interface.
>
> Follow-up CL has unit tests for P2PTransportChannel using the new wrapping controller.
>
> Bug: webrtc:14367, webrtc:14131
> Change-Id: I6c517449ff1e503e8268a7ef91afda793723fdeb
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275302
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
> Commit-Queue: Sameer Vijaykar <samvi@google.com>
> Cr-Commit-Position: refs/heads/main@{#38130}

Bug: webrtc:14367, webrtc:14131
Change-Id: I61dd98de62657852068c7566b55f19f662df9ff4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276043
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Auto-Submit: Sameer Vijaykar <samvi@google.com>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#38131}
2022-09-20 14:37:49 +00:00
Sameer Vijaykar
6326c9c201 Add an active ICE controller that wraps a legacy controller (#7/n)
The wrapping ICE controller will allow existing ICE controller implementations to migrate to the active interface, and eventually deprecate the legacy interface.

Follow-up CL has unit tests for P2PTransportChannel using the new wrapping controller.

Bug: webrtc:14367, webrtc:14131
Change-Id: I6c517449ff1e503e8268a7ef91afda793723fdeb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275302
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Sameer Vijaykar <samvi@google.com>
Cr-Commit-Position: refs/heads/main@{#38130}
2022-09-20 13:52:24 +00:00
Alessio Bazzica
56b96ffe6a Surface local_capture_clock_offset from RtpSource
- Propagating `RtpPacketInfo::local_capture_clock_offset`, an
  existing field that is related to the abs-capture-timestamp
  header extension field `estimated_capture_clock_offset`
- Propagated through `SourceTracker::SourceEntry`

Bug: webrtc:10739, b/246753278
Change-Id: I21d9841e4f3a35da5f8d7b31582898309421d524
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275241
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38129}
2022-09-20 12:51:22 +00:00
Artem Titov
034f17aa4e Introduce MetricsExporter for Chrome Perf Dashboard
Bug: b/246095034
Change-Id: I12ac5898909fcdcefc8238464bc74c5166c0177e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/274900
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38127}
2022-09-20 12:25:09 +00:00
Artem Titov
275d63a13e Add MetricsSetProtoFileExporter
Bug: b/246095034
Change-Id: I002d0d5b132e61887b4bc87542fbf70dd81e488b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275881
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38125}
2022-09-20 09:44:20 +00:00
Alessio Bazzica
a1d035655e RtpPacketInfo: new ctor + deprecated ctors clean-up
New ctor added without optional and media specific fields.

Bug: webrtc:10739, b/246753278
Change-Id: I7e15849aced6ed0a7ada725ea171a15ea1e9bc5a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275941
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38124}
2022-09-20 08:58:38 +00:00
Markus Handell
f76a823132 Enable Chromium's rtc::ThreadWrapper to use TaskQueueTest.
Bug: webrtc:14449
Change-Id: Ie279cb3b2610ba561ca4b2e2a8e1b10ab2c795e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275943
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38117}
2022-09-19 15:40:19 +00:00
Artem Titov
44161f542b Introduce MetricsLoggerAndExporter
Introduce main API for new test performance metrics logging system.

Bug: b/246095034
Change-Id: I9b33740bfe69158c2d7f3f73e18442d1683aa8d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/274901
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38116}
2022-09-19 11:19:38 +00:00
Sameer Vijaykar
1adcde9dfe Use active ICE controller in P2PTransportChannel with an adapter (#6/n)
Controlled by a field trial, P2PTransportChannel can now use an active ICE controller instead of a legacy ICE controller.

P2PTransportChannel unit tests need non-trivial changes to exercise the refactored code path, so the testing changes are added in a follow-up CL.

Bug: webrtc:14367, webrtc:14131
Change-Id: I00d4930a5692c7d6d331ea9d6c2a2199304e363c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/274701
Commit-Queue: Sameer Vijaykar <samvi@google.com>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38114}
2022-09-19 09:41:30 +00:00
Artem Titov
27f91afa38 Introduce MetricsExporter API with stdout implementation
Bug: b/246095034
Change-Id: I9979fb03b9a02e76808145f43910420524fe633a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/274880
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38107}
2022-09-17 00:56:29 +00:00
Alessio Bazzica
31996f48f4 RtpSource: remove deprecated ctor, use designated initializers
Bug: webrtc:10739, b/246753278
Change-Id: I215483709e1f415170bc42ea6d523ffad8eb1e76
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275561
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38085}
2022-09-15 07:42:27 +00:00
Artem Titov
c898c82884 Introduce Metric object for new perf metrics logging system
Bug: b/246095034
Change-Id: I854ee8e5ea93e4046837ae9f54a652a8c92dd1bc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/274861
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38078}
2022-09-14 12:32:16 +00:00
Sameer Vijaykar
6fa8a759b4 Add an active ICE controller factory to IceTransportInit (#3/n)
P2PTransportChannel can then use either of the ICE controller factories configured with field trials.

Bug: webrtc:14367, webrtc:14131
Change-Id: I09ab99673d6ef81f56abe88987f5b67d84c24cb5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271292
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Sameer Vijaykar <samvi@google.com>
Cr-Commit-Position: refs/heads/main@{#38076}
2022-09-14 11:40:36 +00:00
Henrik Boström
41263fab8f Delete UMA histograms relating to Plan B vs Unified Plan.
Plan B having been deleted from Chrome, there is no need to collect UMAs
relating to Plan B vs Unified Plan setups.

Bug: chromium:1357994
Change-Id: Icb5d16823ea9d849798583cd1c82683014b8a15c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275309
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38069}
2022-09-13 14:19:29 +00:00
Mirko Bonadei
399a2b5ef6 Remove CoDel from webrtc::SimulatedNetwork.
This is unused at the moment and webrtc::SimulatedNetwork is going
through a refactoring, to keep things simple and well tested this CL
removes CoDel but nothing blocks us from re-implementing it when needed.

No-Try: True
Bug: webrtc:14426
Change-Id: Ie7d40d20a66d3939fc7d3251c47e4f13f3869a27
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/274407
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38032}
2022-09-08 06:51:05 +00:00
Philipp Hancke
b5cf12d9e8 stats: replace new with std::make_unique
apart from the certificate stats which need to update the
reference to the previous certificate stats in the chain.

BUG=None

Change-Id: I27f58084b849fd9afe236e5b57139bedb8eb1811
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/274175
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38026}
2022-09-07 11:06:19 +00:00
Rasmus Brandt
7faf7171b0 Remove xoogler as API owner
Bug: none
No-try: true
Change-Id: Ifecc70ef081191ff283ca2eb83d982e55abafbde
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273822
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38017}
2022-09-06 08:46:08 +00:00
Åsa Persson
178937de8e api/video_codecs: Add scalability mode helper functions.
Bug: webrtc:13960
Change-Id: I8c86e440223929594aec06e8b32b4bbe73546a94
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273303
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37994}
2022-09-02 13:40:38 +00:00
Philipp Hancke
7baa63ff9c peerconnection: invalidate stats cache during SLD/SRD
which may allow caching some relatively persistent statistics
such as codec statistics that only change during renegotiation.

BUG=webrtc:8693

Change-Id: Ifd68c9d666d9f328d0efecb64e4201d003788ca8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273324
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37981}
2022-09-01 15:18:27 +00:00
Andrey Logvin
24c1079b2f Reland "rtpsender interface: make pure virtual again"
This reverts commit fbb7ce8a93.

Reason for revert: Relanding because the upstream project should be compatible with the changes now.

Original change's description:
> Revert "rtpsender interface: make pure virtual again"
>
> This reverts commit 021512b76a.
>
> 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}

Bug: None
Change-Id: I531e17d5252d4bd5450d5ac5c64fc8f51b4a1d1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273701
Commit-Queue: Andrey Logvin <landrey@google.com>
Reviewed-by: Philipp Hancke <phancke@microsoft.com>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Andrey Logvin <landrey@google.com>
Cr-Commit-Position: refs/heads/main@{#37969}
2022-08-31 14:47:14 +00:00
Åsa Persson
ecfe8da46b Add support for more scalability modes (1.5:1 resolution ratio).
Added modes:
- S2T1h
- S2T2h
- S2T3h
- S3T1h
- S3T2h
- S3T3h

Bug: webrtc:13960
Change-Id: I618a30c68b0ce1609847ee33a2298fe8fa0720c9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273664
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37968}
2022-08-31 11:01:16 +00:00