Markus Handell 8039cdbe48 Measure wall clock time of capture and encode processing.
(NOTE: This and dependent CLs will be reverted in a few days after
data collection from the field is complete.)

This change introduces a new task queue concept, Voucher. They
are associated with a currently running task tree. Whenever
tasks are posted, the current voucher is inherited and set as
current in the new task.

The voucher exists for as long as there are direct and indirect
tasks running that descend from the task where the voucher was
created.

Vouchers aggregate application-specific attachments, which perform
logic unrelated to Voucher progression. This particular change adds
an attachment that measures time from capture to all encode operations
complete, and places it into the WebRTC.Video.CaptureToSendTimeMs UMA.

An accompanying Chrome change crrev.com/c/4992282 ensures survival of
vouchers across certain Mojo IPC.

Bug: chromium:1498378
Change-Id: I2a27800a4e5504f219d8b9d33c56a48904cf6dde
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325400
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41061}
2023-11-01 16:10:17 +00:00
..
2023-05-10 21:34:52 +00:00
2023-04-21 06:17:42 +00:00
2023-04-21 06:17:42 +00:00
2019-07-08 13:45:15 +00:00
2023-04-21 06:17:42 +00:00
2023-04-21 06:17:42 +00:00
2023-04-21 06:17:42 +00:00
2022-08-19 07:11:06 +00:00
2022-06-07 07:14:06 +00:00
2019-07-08 13:45:15 +00:00
2023-04-21 06:17:42 +00:00
2023-04-21 06:17:42 +00:00
2022-01-28 15:13:45 +00:00
2023-04-21 06:17:42 +00:00
2023-04-21 06:17:42 +00:00
2021-08-31 14:27:49 +00:00
2019-07-08 13:45:15 +00:00
2023-04-21 06:17:42 +00:00
2023-04-21 06:17:42 +00:00
2019-11-26 14:05:20 +00:00
2019-07-08 13:45:15 +00:00
2023-04-21 06:17:42 +00:00
2021-09-21 15:17:26 +00:00
2023-04-21 06:17:42 +00:00
2023-04-21 06:17:42 +00:00
2019-07-08 13:45:15 +00:00
2019-07-08 13:45:15 +00:00