Commit Graph

505 Commits

Author SHA1 Message Date
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
2d1907bfd2 [PCLF] Add possibility to use new perf metrics api in DefaultAudioQualityAnalyzer
Bug: b/246095034
Change-Id: I045fd739ac31c0f13ee46adc831063d9773c39c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276180
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38144}
2022-09-21 08:13:40 +00:00
c9f66907fc [PCLF] Add possibility to use new perf metrics api in StatsBasedNetworkQualityMetricsReporter
Bug: b/246095034
Change-Id: Iaba2b0656978552482754d8170afe356f3715f6a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276200
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38143}
2022-09-21 08:01:20 +00:00
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
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
11093b2ca3 [PCLF] Add ability to specifiy DegradationPreference
Bug: None
Change-Id: I5fca1ae70b75b53b54c99a10cdada504146785b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273120
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37942}
2022-08-30 09:45:41 +00:00
926c707b12 PCLF: Read the interlayer prediction mode from scalability mode
The value of VP9().interLayerPred isn't used in the VP9 encoder
when scalability_mode is present.

Bug: webrtc:11607
Change-Id: I2ce606e5a91dfe087f652763cbcc258db0156f5f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273400
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37937}
2022-08-29 22:57:22 +00:00
209d71d27f [DVQA] Remove old OnDecoderError method
Bug: b/243855428
Change-Id: Id028f245df3bb729d558c2f6d0b0c167a7edc187
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273341
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@google.com>
Cr-Commit-Position: refs/heads/main@{#37933}
2022-08-29 14:53:02 +00:00
7d18a5a4c0 [DVQA] Add support for processing decoder errors correctly
Bug: b/243855428
Change-Id: I3f1a6fab0aecf0586b97076054a7e46f624397a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272966
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37930}
2022-08-29 12:30:22 +00:00
f02212b8b0 [DVQA] Make entities loggable
Make StreamCodecInfo and FrameDropPhase generally loggable

Bug: b/243855428
Change-Id: Id8424596f82d1489fe6f7deaf0670e6960375df0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273103
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37916}
2022-08-26 10:31:40 +00:00
ba62aff028 [DVQA] Fix reporting of time_between_freezes_ms
Fix reporting of time_between_freezes_ms when all peers were
unregistered before end of the call.

Bug: b/243501613
Change-Id: Ie2b77d8399e4f4bf672e80f62ed27609336af171
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272650
Reviewed-by: Andrey Logvin <landrey@google.com>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37885}
2022-08-24 08:53:19 +00:00
325c1b2195 [DVQA] Use all known peers count when determine metic's name
Bug: b/243115145
Change-Id: Ib375bc7373e3c70a05e8fe6ddd156bb524cc6f99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272548
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Auto-Submit: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37860}
2022-08-22 10:31:27 +00:00
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
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
e519f38eaa Remove rtc::Location from SendTask test helper
that rtc::Location parameter was used only as extra information for the
RTC_CHECKs directly in the function, thus call stack of the crash should
provide all the information about the caller.

Bug: webrtc:11318
Change-Id: Iec6dd2c5de547f3e1601647a614be7ce57a55734
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/270920
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37748}
2022-08-11 12:55:32 +00:00
53cc9adfe2 Keep microseconds when computing e2e test time results
Using ms() was converting the value to an int before putting it into a
double, causing the microseconds to be dropped. This has the most impact
on decode time metrics which are ofter less than 1ms.

Bug: webrtc:14339
Change-Id: Ie8401ba5a46eb3b35e8a699acfdad2dcd32a8240
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271163
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37734}
2022-08-10 14:38:59 +00:00
d2209256ab [PCLF] Introduce export_frame_ids option for video dump
Bug: b/240540206
Change-Id: I2d09be585804aa38b0bbc9e7b34dcd8f91f58846
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/270425
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37675}
2022-08-03 11:39:05 +00:00
72bc2e24cc [PCLF] Introduce VideoDumpOptions API to better control video dumping
This CL propose a new API for video dumps in PCLF also removing
differences between p2p and multipeer usage of API.

Bug: b/240540206
Change-Id: Id4d32cc98250500949b3f9e2cf2e86c4bdce7efb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/270400
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37665}
2022-08-02 15:13:04 +00:00
208129fb53 [PCLF] Add ability to use fixed frame reate for video dump
Bug: b/237997865
Change-Id: I4e93db1f8a0ac84d8d1c014073cbcd0f58482203
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268763
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37547}
2022-07-18 13:28:41 +00:00
bfe9f5c5b1 [PCLF] Remove old VideoQualityAnalyzerInjectionHelper ctor without clock
Bug: b/237997865
Change-Id: I7ac5e086d29801cfc0617731c51076e38d365274
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268764
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37546}
2022-07-18 13:00:31 +00:00
8faaa584f8 [PCLF] Add ctor for VideoQualityAnalyzerInjectionHelper with Clock
Add ctor for VideoQualityAnalyzerInjectionHelper with Clock to enable
future usage of FixedFpsVideoFrameWriterAdaptor from
https://webrtc-review.googlesource.com/c/src/+/268545

Bug: b/237997865
Change-Id: Id77d7377869c318af106d6c657ce6dd6599016e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268546
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37535}
2022-07-15 22:10:29 +00:00
9c125c6603 Migrate test/ to absl::AnyInvocable based TaskQueueBase interface
Bug: webrtc:14245
Change-Id: Ib410d1b03a23e5f00927456f7239c0dc7e68b824
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268184
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37497}
2022-07-08 14:24:54 +00:00
9f1104731e [PCLF] Fix deadlock when stats are requested during peer destruction
Bug: b/238308795
Change-Id: If420846a73df22ed07184d1803bf35295a88ecff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268148
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37491}
2022-07-08 11:02:20 +00:00
f9f9d544a5 Use TimeDelta for harmonic framerate calculation in DVQA.
Bug: None
Change-Id: I678c12c7994fe0c772f2ec479ad37cef5c05417e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267825
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37464}
2022-07-06 13:09:24 +00:00
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
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
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
90b74389a2 SVC: Add end to end tests for VP8 and VP9
The tests check that the various scalability mode are supported
and the frames are marked properly by the encoder with their
spatial and temporal index.
The same information is then checked on the receiving side.

A new member is added on EncodedImage to store the temporal index,
and is filled by the encoders and retreived by the ref finder
objects on the decoding side.

Bug: webrtc:11607
Change-Id: I7522f6a6fc5402244cab0c4c64b544ce09bc5204
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260189
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37303}
2022-06-22 11:07:01 +00:00
ae271ff05a [DVQA] Add support for removing peer from analyzer instrumentation
Add support for removing peer from EncodedImageDataExtractor and
from VideoQualityAnalyzerInjectionHelper.

Bug: b/231397778
Change-Id: Ic33da18b7a68149ef68e5e4ba0ee7eabfb634973
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/266364
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37285}
2022-06-21 08:27:38 +00:00
86ebbdba50 [DVQA] Add ability to remove peer in the middle of the call.
Bug: b/231397778
Change-Id: I8c68cb6db9bcf28ab600e507b26203a0bb78b588
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265873
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37281}
2022-06-20 22:54:51 +00:00
9c55fa5a0e [DVQA] Add support for removing peer from the StreamState
Bug: b/231397778
Change-Id: I8ce1486f91f6c84e246e043f2a4e2dd94fc29d06
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265809
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37220}
2022-06-15 10:39:28 +00:00
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
69a32cc2d3 [DVQA] Rewrite MultiHeadQueue and add ability to remove head
Rewrite MultiHeadQueue reducing space complexity from
O(readers count * queue size) to O(queue size + readers count).

Bug: b/231397778
Change-Id: Ifbd9c686915368773916ed86467f4de3f8e06af1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265621
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37197}
2022-06-13 14:00:46 +00:00
42d09cb1ba [DVQA] Extract FrameInFlight into separate file
Also add ability to remove expected receivers for the frame.

Bug: b/231397778
Change-Id: Id1fb2df05a69e0dca4f05eaa995521b6be2ac52a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265396
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37191}
2022-06-13 10:02:36 +00:00
71f406e52b [DVQA] Extract StreamState into separate file
Bug: b/231397778
Change-Id: Ic7207cd17e8179151824a2257b3173481e9f4f6e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265399
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37187}
2022-06-13 08:04:37 +00:00
9a665402d7 Reland "TaskQueue: unexpose delayed task convenience methods."
This reverts commit 4cd3a0d082d0b9d44fd78eef3d53d4360e99a674.

Reason for revert: Downstream build should be fixed.

Original change's description:
> Revert "TaskQueue: unexpose delayed task convenience methods."
>
> This reverts commit 08bb6295ea1f438a26f8c1ab01769cfa63943756.
>
> Reason for revert: Breaks downstream tests
>
> Original change's description:
> > TaskQueue: unexpose delayed task convenience methods.
> >
> > Bug: webrtc:14165
> > Change-Id: Ieb8580670e9e521580afd68cca6ff631fb6df3f8
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265400
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Auto-Submit: Markus Handell <handellm@webrtc.org>
> > Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#37166}
>
> Bug: webrtc:14165
> Change-Id: Ia7368cf205622be448ec0ead5d22f211aa071a29
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265411
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Owners-Override: Björn Terelius <terelius@webrtc.org>
> Auto-Submit: Björn Terelius <terelius@webrtc.org>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37167}

Bug: webrtc:14165
Change-Id: I3d963d272e8a1431103a5d5fb4568ccacd81119c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265395
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37186}
2022-06-13 07:27:37 +00:00
0f0978d36e [DVQA] Extract NamesCollection into separate file
Extract NamesCollection into separate file and add ability to
remove peer after it was added. In such case we need to preserve
old indexes, because DVQA still may request removed name from
collection due to async processing.

Bug: b/231397778
Change-Id: I87bdfb4653e7eca50d311482553d2353b1d9974e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265394
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37181}
2022-06-10 16:20:54 +00:00
5f308fdd89 [PCLF] Make it possible to unregister participant for stats poller
Bug: b/231397778
Change-Id: I54c95543cbcf7d6ec9ae0bd121a07fd4e2a1fd4c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265408
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37169}
2022-06-09 20:09:43 +00:00
4cd3a0d082 Revert "TaskQueue: unexpose delayed task convenience methods."
This reverts commit 08bb6295ea1f438a26f8c1ab01769cfa63943756.

Reason for revert: Breaks downstream tests

Original change's description:
> TaskQueue: unexpose delayed task convenience methods.
>
> Bug: webrtc:14165
> Change-Id: Ieb8580670e9e521580afd68cca6ff631fb6df3f8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265400
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Auto-Submit: Markus Handell <handellm@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37166}

Bug: webrtc:14165
Change-Id: Ia7368cf205622be448ec0ead5d22f211aa071a29
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265411
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37167}
2022-06-09 15:48:23 +00:00
08bb6295ea TaskQueue: unexpose delayed task convenience methods.
Bug: webrtc:14165
Change-Id: Ieb8580670e9e521580afd68cca6ff631fb6df3f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265400
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Markus Handell <handellm@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37166}
2022-06-09 14:08:54 +00:00
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
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
1f1abd1dcc Fix observer ref counting.
By calling release() the ref counter is not decremented and when the
observer is later wrapped in a scoped_refprt its counter will be 2
instead of 1, leading to a memory leak.

Bug: b/231912631
Change-Id: I466e5c29ba4f4aee43e8cf23f2e04fa4b6351b4c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261954
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36862}
2022-05-12 09:58:21 +00:00
6566bd5484 Add some more frame stats to PCLF
Metrics for calculating sent/recv key frame rate:
num_encoded_frames -- number of encoded frames
num_decoded_frames -- number of decoded frames
num_send_key_frames -- number of sent keyframes
num_recv_key_frames -- number of received keyframes

Metrics for frame size (in bytes) distribution:
recv_key_frame_size_bytes -- key frame size
recv_delta_frame_size_bytes -- delta frame size

The stats are only reported if the user so requests. This is
because the stats may not be useful for regression tracking,
but mainly for adhoc analysis.

Tested:
```
~/s/w/src (frame_stats↑1|✚1) $ autoninja -C out/Debug && out/Debug/test_support_unittests --gtest_filter="PeerConnectionE2EQualityTestSmokeTest.Smoke" 2>/dev/null
Note: Google Test filter = PeerConnectionE2EQualityTestSmokeTest.Smoke
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from PeerConnectionE2EQualityTestSmokeTest
[ RUN      ] PeerConnectionE2EQualityTestSmokeTest.Smoke
...
RESULT num_encoded_frames: Smoke/alice-video= 31 count_biggerIsBetter
RESULT num_decoded_frames: Smoke/alice-video= 31 count_biggerIsBetter
RESULT num_send_key_frames: Smoke/alice-video= 2 count_biggerIsBetter
RESULT num_recv_key_frames: Smoke/alice-video= 2 count_biggerIsBetter
RESULT recv_key_frame_size_bytes: Smoke/alice-video= {1847,126} count_biggerIsBetter
RESULT recv_delta_frame_size_bytes: Smoke/alice-video= {1150.1034,393.66329} count_biggerIsBetter
...
RESULT num_encoded_frames: Smoke/charlie-video= 31 count_biggerIsBetter
RESULT num_decoded_frames: Smoke/charlie-video= 31 count_biggerIsBetter
RESULT num_send_key_frames: Smoke/charlie-video= 2 count_biggerIsBetter
RESULT num_recv_key_frames: Smoke/charlie-video= 2 count_biggerIsBetter
RESULT recv_key_frame_size_bytes: Smoke/charlie-video= {1847,126} count_biggerIsBetter
RESULT recv_delta_frame_size_bytes: Smoke/charlie-video= {1150.1034,393.66329} count_biggerIsBetter
...
[----------] 1 test from PeerConnectionE2EQualityTestSmokeTest (2196 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (2196 ms total)
[  PASSED  ] 1 test.
```

Bug: webrtc:14019
Change-Id: I3d5ea0cf659a6299c6d94f5004cbf0c763b267e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260924
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36759}
2022-05-04 12:23:27 +00:00
a63b6b7d40 [PCLF] Allow configuring RtpEncodingParameters with singlecast
With the encoding parameters in the SimulcastConfig objects, it wasn't
possible to configure explicit encoding parameters when using singlecast,
required for example to use the spec standard SVC API.

Bug: webrtc:11607
Change-Id: I92b1446e772e2ecec93379dc91a3da159b8bc209
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260002
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36731}
2022-05-02 10:30:14 +00:00
d8e84b1ab1 [PCLF] Remove video_configs and video_subscription from Params
Bug: b/213863770
Change-Id: I0b6758dd52ebe5c2543a8423cff7c6820d9c5320
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260183
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36671}
2022-04-27 13:03:03 +00:00
a92d051e0f [PCLF] Introduce API to safely mutate ConfigurableParams in TestPeer
Bug: b/213863770
Change-Id: I90b7b5cd55ac5a8ebee5d790205a4fa6700dfff4
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260117
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36668}
2022-04-27 11:00:11 +00:00
82caafd607 [PCLF] Make PeerParamsPreprocessor C++ style compliant
Bug: b/213863770
Change-Id: I9749ac9fdc5561c1bc145b199a2e39633615938b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260111
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36662}
2022-04-26 19:14:15 +00:00
10f42a3b62 [PCLF] Remove TestPeer::params2()
Bug: b/213863770
Change-Id: Id11e7a7693c29077a333f017b2080e69877149db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260110
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36661}
2022-04-26 18:15:35 +00:00
b2ed905eb3 [PCLF] Extract configurable params from params
Bug: b/213863770
Change-Id: I6d4f5f3910c315da7fe5dfa7088da769b9f87212
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260109
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36658}
2022-04-26 15:10:15 +00:00