Commit graph

550 commits

Author SHA1 Message Date
Florent Castelli
acabb3641b pc: Add asynchronous RtpSender::SetParameters() call
As the synchronous version only posts a task to recreate the encoder
later, it is not possible to catch errors and state changes that
could appear then.
The asynchronous version of SetParameters() aims to solve this by
providing a callback to wait for the completion of the encoder
reconfiguration, allowing any error to be propagate and subsequent
getParameters() call to have up to date information.

Bug: webrtc:11607
Change-Id: I5548e75aa14a97f8d9c0c94df1e72e9cd40887b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278420
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38627}
2022-11-15 15:31:40 +00:00
Artem Titov
5f42cdcb31 Remove deprecated API for emulated network stats
Bug: None
Change-Id: Ib70a117d67002d108474214490ed1a8bb61da463
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283140
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38619}
2022-11-14 17:51:42 +00:00
Artem Titov
b41568b6fd Add infrastructure stats for network emulation layer
Bug: b/240540204
Change-Id: I66dfd25775faa9d1bc7e75a932a36e8aa97c0f57
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/282320
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38613}
2022-11-12 00:01:49 +00:00
Jeremy Leconte
a3e51df5f3 Add a new PeerConnectionE2EQualityTestFixture::AddPeer method.
Change-Id: Ic5879613db51a00e3e958931f5eda19fda1ae94a
Bug: webrtc:14627
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/282640
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38608}
2022-11-10 16:54:19 +00:00
Florent Castelli
123a0ed604 Revert "Add checks for api/test mocks to make sure they're complete"
This reverts commit e87ec28b80.

Reason for revert: Breaks upstream.

Original change's description:
> Add checks for api/test mocks to make sure they're complete
>
> Also unifies the mock inheritance if they inherited from a ref counted
> interface:
>  - it should only inherit from the interface
>  - it should use make_ref_counted
>
> Bug: webrtc:14594
> Change-Id: I7b0514b632ccd0798028b50f19812ac0a196e13c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262423
> Commit-Queue: Florent Castelli <orphis@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38602}

Bug: webrtc:14594
Change-Id: I9f2d9c3656b43e3006ec03ae7d792d0a53f47ebd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/282940
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#38604}
2022-11-10 13:33:59 +00:00
Jeremy Leconte
389228d0f0 Remove PeerConfigurer interface.
PeerConfigurerImpl is renamed to PeerConfigurer.

Change-Id: Ie52c581126c21740536d42ff4831f0c4ed445ea4
Bug: webrtc:14627
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/281883
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#38603}
2022-11-10 12:52:25 +00:00
Florent Castelli
e87ec28b80 Add checks for api/test mocks to make sure they're complete
Also unifies the mock inheritance if they inherited from a ref counted
interface:
 - it should only inherit from the interface
 - it should use make_ref_counted

Bug: webrtc:14594
Change-Id: I7b0514b632ccd0798028b50f19812ac0a196e13c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262423
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38602}
2022-11-10 12:47:31 +00:00
Artem Titov
e4c1b1cbed Simplify Network Emulation stats API
Bug: b/240540204
Change-Id: I669b5b01d0a10ae5d8f0bafa661dbda6fc9260b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/282420
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38590}
2022-11-09 11:50:44 +00:00
Jeremy Leconte
0e2cf6cc01 Use classes from media_configuration.h instead of the ones in PeerConnectionE2EQualityTestFixture.
Classes defined inside the class PeerConnectionE2EQualityTestFixture are replaced by the ones define in media_configuration.h.

Change-Id: I1c025ff10aacf8cbc3df9bfa742a40622fe0807a
Bug: webrtc:14627
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/281860
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38568}
2022-11-07 16:56:47 +00:00
Jeremy Leconte
e91d4bc517 Move media configuration classes out of PeerConnectionE2EQualityTestFixture.
The goal is to remove the dependency between PeerConfigurerImpl and PeerConnectionE2EQualityTestFixture so that PeerConfigurerImpl can be used in PeerConnectionE2EQualityTestFixture API.

Change-Id: I29ae44b9d0e39075d0c395ff9d9f8d313be12176
Bug: webrtc:14627
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/281740
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#38560}
2022-11-07 09:34:59 +00:00
Mirko Bonadei
248fdb16ba Reland "Add documentation, tests and simplify webrtc::SimulatedNetwork."
This is a reland of commit c1d5fda22c

Original change's description:
> Add documentation, tests and simplify webrtc::SimulatedNetwork.
>
> This CL increases the test coverage for webrtc::SimualtedNetwork, adds
> some more comments to the class and the interface it implements and
> simplify the logic around capacity and delay management in the
> simulated network.
>
> More CLs will follow to continue the refactoring but this is the
> ground work to make this more modular in the future.
>
> Bug: webrtc:14525, b/243202138
> Change-Id: Ib0408cf6e2c1cdceb71f8bec3202d2960c5b4d3c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278042
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38388}

Bug: webrtc:14525, b/243202138, b/256595485
Change-Id: Iaf8160eb8f8e29034b8f98e81ce07eb608663d30
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280963
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38557}
2022-11-06 13:14:26 +00:00
Jeremy Leconte
d16f290e41 Move PeerConfigurerImpl to the test public api.
End goal is to remove PeerConnectionE2EQualityTestFixture::PeerConfigurer interface.

Change-Id: I4a6aa0ab1fb5a0d6f85154159b7da16de9b53059
Bug: webrtc:14627
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/281501
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#38551}
2022-11-04 08:02:53 +00:00
Artem Titov
15b97d6d90 [PCLF] Propagate relevant metadata to all metrics
Bug: None
Change-Id: Ifcb67a59b68cc3468dd06e932a2a3da7b40d9845
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/281680
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38545}
2022-11-03 16:11:31 +00:00
Artem Titov
19813a4222 Remove unused MetricsLoggerAndExporter
Bug: None
Change-Id: I9e05e5c29cd80bf991bd50c3bd4ee4f09ddf8134
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/281420
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38531}
2022-11-02 07:35:47 +00:00
Artem Titov
96002fa8da [PCLF] Include video resolution into video dump file name
Bug: b/240540204
Change-Id: Idad6a5c67c2dcedb07cfa915ac986590c1e29275
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280383
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@google.com>
Cr-Commit-Position: refs/heads/main@{#38470}
2022-10-25 17:21:47 +00:00
Harald Alvestrand
0137e730b7 Fix errors in new SessionDescriptionInterface mock
and really compile it with CompileAllHeaders.

Bug: webrtc:14594
Change-Id: I51b0364cbede0e1d614ee708fbc01580bda68d3d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280223
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Auto-Submit: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38465}
2022-10-25 09:27:40 +00:00
Harald Alvestrand
98fe985480 Add MockSessionDescriptionInterface
This is needed to get rid of a mock in Chrome.

Bug: webrtc:14594
Change-Id: I27df2a1466e6a2dea87a211f803b3f2c7aa57478
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280041
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38458}
2022-10-24 12:21:31 +00:00
Jonas Oreland
4b2a106af2 Add optional init_send_encodings to AddTrack
This patch adds variant of PeerConnectionInterface::AddTrack
that takes an initial_send_encodings.

This allows for setting/modifying encoding parameters before sdp
negotiation is performed/complete (e.g requested_resolution).

This is already available if using RtpTransciverInit and AddTransceiver,
but was not added to AddTrack because of concerns that it complicated matching with existing transceivers. This CL sidesteps that by never matching to a preexisting transceiver if initial_send_encodings are specified.

Note:
1) The patch adds a new method rather than an extra (e.g optional)
argument to existing AddTrack. This is to avoid problems with downstream mocks.

2) chromium "problems" was fixed in https://chromium-review.googlesource.com/c/chromium/src/+/3952684 and https://chromium-review.googlesource.com/c/chromium/src/+/3956060

Bug: webrtc:14451
Change-Id: I19b5a03872730280fbf868ca5d3a2f46443359f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278783
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38437}
2022-10-19 09:13:08 +00:00
Rasmus Brandt
baf5c9fabd Revert "Add documentation, tests and simplify webrtc::SimulatedNetwork."
This reverts commit c1d5fda22c.

Reason for revert: This CL created thousands of metric alerts in the perf tests. It's possible that these are all expected, but since mbonadei@ is OOO right now, I think it's better to revert, and have him re-land when he is back.

Most alerts are here: https://bugs.chromium.org/p/webrtc/issues/detail?id=14549

Original change's description:
> Add documentation, tests and simplify webrtc::SimulatedNetwork.
>
> This CL increases the test coverage for webrtc::SimualtedNetwork, adds
> some more comments to the class and the interface it implements and
> simplify the logic around capacity and delay management in the
> simulated network.
>
> More CLs will follow to continue the refactoring but this is the
> ground work to make this more modular in the future.
>
> Bug: webrtc:14525, b/243202138
> Change-Id: Ib0408cf6e2c1cdceb71f8bec3202d2960c5b4d3c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278042
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38388}

Bug: webrtc:14525, b/243202138
Change-Id: I5bc56c954bb12e7c27cb859e838f0b7a89e006f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/279522
Owners-Override: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38415}
2022-10-17 13:11:34 +00:00
Mirko Bonadei
c1d5fda22c Add documentation, tests and simplify webrtc::SimulatedNetwork.
This CL increases the test coverage for webrtc::SimualtedNetwork, adds
some more comments to the class and the interface it implements and
simplify the logic around capacity and delay management in the
simulated network.

More CLs will follow to continue the refactoring but this is the
ground work to make this more modular in the future.

Bug: webrtc:14525, b/243202138
Change-Id: Ib0408cf6e2c1cdceb71f8bec3202d2960c5b4d3c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278042
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38388}
2022-10-13 14:17:00 +00:00
Artem Titov
2068d0daa7 [PCLF] Add ability to provide custom VideoFrameWriter
Bug: b/240540204
Change-Id: Ica85954ea61b7caf4e2d726895b6a439b47d7bbb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278800
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38368}
2022-10-12 14:08:00 +00:00
Per Kjellander
78d80f9be7 Add SmokeSendAndReceivePacketsOnOneThread
Only use the network thread for sending and receiving packets.
The one and only network thread is used as a worker thread in all
PeerConnections. Pacing when sending packets is done on the worker thread.

Bug: webrtc:14502
Change-Id: Ib373315688ae4d810ae1e4421101a859fca93b31
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278621
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38354}
2022-10-11 13:33:52 +00:00
Mirko Bonadei
9d9c2d5795 Make header files self contained.
This CL adds #includes to header files in order to make them
self contained after the preprocessor pass.

Bug: b/251890128
Change-Id: I81c3ba38fb8ab8a2bbd151ba99aa871fae9f1b1b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278422
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38327}
2022-10-08 08:38:36 +00:00
Artem Titov
9b73159888 Add support for NV12 frame generator
Bug: b/240540204
Change-Id: Id2205e8bd0dfd59476dcd68c32c4981f98b51422
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278402
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38322}
2022-10-07 14:30:31 +00:00
Björn Terelius
dd4b8d4853 Improve backwards compatibility of metrics exporter
Bug: b/248979985
Change-Id: I7c472bfa9cde2f0dc7fc61599b836dd74cad70d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278240
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38317}
2022-10-07 12:42:20 +00:00
Tommi
96c1a9b9e2 Clean up decoders when stopping video receive stream.
This updates VideoReceiveStream2::Stop() to symmetrically tear down
state that's built up in VideoReceiveStream2::Start().

Bug: webrtc:11993, webrtc:14486
Change-Id: I41f4feea5584e5baaeed2143432136f8b9761321
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272537
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38244}
2022-09-29 12:03:13 +00:00
Jonas Oreland
6c2dae21e9 Move VideoEncoderConfig from api/ into video/config
This cl move VideoEncoderConfig from api/ to video/config.

VideoStreamEncoderInterface and VideoStreamEncoderObserver
are moved as collateral.

brandt@ think that the reason these were in api/ in the
first place had to downstream project.

Functionality wise, this is a NOP, but it makes it easier
to modify the encoder (config).

Bug: webrtc:14451
Change-Id: I2610d815aeb186298498e7102cac773ecac8cd36
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277002
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38242}
2022-09-29 09:44:43 +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
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
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
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
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
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
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
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
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