d81992197c
[Stats] Update totalPacketSendDelay to only cover time in pacer queue.
...
This metric was always supposed to be the spec's answer to
googBucketDelay, and is defined as "The total number of seconds that
packets have spent buffered locally before being transmitted onto the
network." But our implementation measured the time between capture and
send, including encode time. This is incorrect and yields a much larger
value than expected.
This CL updated the metric to do what the spec says. Implementation-wise
we measure the time between pushing and popping each packet from the
queue (in modules/pacing/prioritized_packet_queue.cc).
The spec says to increment the delay counter at the same time as we
increment the packet counter in order for the app to be able to do
"delta totalPacketSendDelay / delta packetSent". For this reason,
`total_packet_delay` is added to RtpPacketCounter. (Previously, the
two counters were incremented on different threads and observers.)
Running Google Meet on a good network, I could observe a 2-3 ms average
send delay per packet with this implementation compared to 20-30 ms
with the old implementation. See b/137014977#comment170 for comparison
with googBucketDelay which is a little bit different by design -
totalPacketSendDelay is clearly better than googBucketDelay.
Since none of this depend on the media kind, we can wire up this metric
for audio as well in a follow-up:
https://webrtc-review.googlesource.com/c/src/+/280523
Bug: webrtc:14593
Change-Id: If8fcd82fee74030d0923ee5df2c2aea2264600d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280443
Reviewed-by: Erik Språng <sprang@webrtc.org >
Commit-Queue: Henrik Boström <hbos@webrtc.org >
Cr-Commit-Position: refs/heads/main@{#38480}
2022-10-26 21:29:20 +00:00
e58f1991dc
Add Timestamp -> AbsoluteSendTime conversion function
...
instead of ms -> AbsoluteSendTime helper
Bug: webrtc:13757
Change-Id: I57389a66a43b4f4838023f9c224a985f2cd57107
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/266024
Reviewed-by: Åsa Persson <asapersson@webrtc.org >
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/main@{#37350}
2022-06-28 09:26:42 +00:00
e62c2f2c77
WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 12/inf
...
rename WebRtcKeyValueConfig to FieldTrialsView
Bug: webrtc:10335
Change-Id: If725bd498c4c3daf144bee638230fa089fdde833
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256965
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org >
Commit-Queue: Jonas Oreland <jonaso@webrtc.org >
Reviewed-by: Harald Alvestrand <hta@webrtc.org >
Cr-Commit-Position: refs/heads/main@{#36365}
2022-03-29 10:14:00 +00:00
a2ee9234b4
Migrate to Timestamp and TimeDelta types in RtpPacketHistory
...
Bug: webrtc:13757
Change-Id: Ie542fca50b97fe9dc450e45da40f05e2b66c7da5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252981
Reviewed-by: Erik Språng <sprang@webrtc.org >
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/main@{#36132}
2022-03-04 15:02:58 +00:00
9af4aa7cf4
Reland "Represent RtpPacketToSend::capture_time with Timestamp"
...
This reverts commit 56db8d09529d5ba92d24954a1d78a90c8ea2cd85.
Reason for revert: downstream problem addressed
Original change's description:
> Revert "Represent RtpPacketToSend::capture_time with Timestamp"
>
> This reverts commit 385eb9714daa80306d2f92d36678c42892dab555.
>
> Reason for revert: Causes problems downstream:
>
> #
> # Fatal error in: rtc_base/units/unit_base.h, line 122
> # last system error: 0
> # Check failed: value >= 0 (-234 vs. 0)
>
> Original change's description:
> > Represent RtpPacketToSend::capture_time with Timestamp
> >
> > Bug: webrtc:13757
> > Change-Id: I0ede22cd34e3a59afe1477d8edd495dce64e3242
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252586
> > Reviewed-by: Erik Språng <sprang@webrtc.org >
> > Reviewed-by: Rasmus Brandt <brandtr@webrtc.org >
> > Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
> > Cr-Commit-Position: refs/heads/main@{#36083}
>
> Bug: webrtc:13757
> Change-Id: I8442abd438be8726cf671d0f372d50ecfac6847e
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252720
> Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org >
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com >
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org >
> Cr-Commit-Position: refs/heads/main@{#36087}
Bug: webrtc:13757
Change-Id: I1fa852757480116f35deb2b6c3c27800bdf5e197
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252781
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org >
Reviewed-by: Erik Språng <sprang@webrtc.org >
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org >
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/main@{#36093}
2022-02-28 10:04:37 +00:00
56db8d0952
Revert "Represent RtpPacketToSend::capture_time with Timestamp"
...
This reverts commit 385eb9714daa80306d2f92d36678c42892dab555.
Reason for revert: Causes problems downstream:
#
# Fatal error in: rtc_base/units/unit_base.h, line 122
# last system error: 0
# Check failed: value >= 0 (-234 vs. 0)
Original change's description:
> Represent RtpPacketToSend::capture_time with Timestamp
>
> Bug: webrtc:13757
> Change-Id: I0ede22cd34e3a59afe1477d8edd495dce64e3242
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252586
> Reviewed-by: Erik Språng <sprang@webrtc.org >
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org >
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
> Cr-Commit-Position: refs/heads/main@{#36083}
Bug: webrtc:13757
Change-Id: I8442abd438be8726cf671d0f372d50ecfac6847e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252720
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org >
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com >
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org >
Cr-Commit-Position: refs/heads/main@{#36087}
2022-02-26 10:35:13 +00:00
385eb9714d
Represent RtpPacketToSend::capture_time with Timestamp
...
Bug: webrtc:13757
Change-Id: I0ede22cd34e3a59afe1477d8edd495dce64e3242
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252586
Reviewed-by: Erik Språng <sprang@webrtc.org >
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org >
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/main@{#36083}
2022-02-25 16:44:07 +00:00
4ad09762da
Delete legacy RtpPacketSendInfo::ssrc field
...
Bug: webrtc:12713
Change-Id: I8785eaabbb8725fb119067f5897ef245e6187996
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239642
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org >
Commit-Queue: Erik Språng <sprang@webrtc.org >
Reviewed-by: Erik Språng <sprang@webrtc.org >
Cr-Commit-Position: refs/heads/main@{#35460}
2021-12-02 11:59:37 +00:00
5f1d406cc9
Move legacy RtpRtcpModule to deferred sequencing.
...
Bug: webrtc:11340
Change-Id: I45ba6c37fe7fec8de756dee1eb914aceebbeae93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228437
Commit-Queue: Erik Språng <sprang@webrtc.org >
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#34734}
2021-08-12 10:22:59 +00:00
913cfa76ec
Use backticks not vertical bars to denote variables in comments for /modules/rtp_rtcp
...
Bug: webrtc:12338
Change-Id: I52eb3b6675c4705e22f51b70799ed6139a3b46bc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227164
Reviewed-by: Harald Alvestrand <hta@webrtc.org >
Commit-Queue: Artem Titov <titovartem@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#34686}
2021-08-09 15:51:03 +00:00
6a0a55907b
Reland "Correctly handle retransmissions/padding in early loss detection."
...
This is a reland of e9ae4729e03f60dbe3b1828dd9009b401097cd3f
TBR=philipel@webrtc.org ,terelius@webrtc.org
Original change's description:
> Correctly handle retransmissions/padding in early loss detection.
>
> This CL makes sure we don't cull packets from the history based on
> incorrect ack mapping, just like it's predecessor:
> https://webrtc-review.googlesource.com/c/src/+/218000
>
> It also changes the logic to make sure retransmits counts towards
> history pruning - and properly ignores padding/fec.
>
> Bug: webrtc:12713
> Change-Id: I7835d10e483687e960a9cce41d4e2f1a6c3189b4
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221863
> Reviewed-by: Björn Terelius <terelius@webrtc.org >
> Reviewed-by: Philip Eliasson <philipel@webrtc.org >
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org >
> Commit-Queue: Erik Språng <sprang@webrtc.org >
> Cr-Commit-Position: refs/heads/master@{#34293}
Bug: webrtc:12713
Change-Id: Iec123d71edafea98fe289acde007b57e212681f4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222640
Commit-Queue: Erik Språng <sprang@webrtc.org >
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#34297}
2021-06-16 08:14:27 +00:00
d6957c2eed
Revert "Correctly handle retransmissions/padding in early loss detection."
...
This reverts commit e9ae4729e03f60dbe3b1828dd9009b401097cd3f.
Reason for revert: Internal test failure
Original change's description:
> Correctly handle retransmissions/padding in early loss detection.
>
> This CL makes sure we don't cull packets from the history based on
> incorrect ack mapping, just like it's predecessor:
> https://webrtc-review.googlesource.com/c/src/+/218000
>
> It also changes the logic to make sure retransmits counts towards
> history pruning - and properly ignores padding/fec.
>
> Bug: webrtc:12713
> Change-Id: I7835d10e483687e960a9cce41d4e2f1a6c3189b4
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221863
> Reviewed-by: Björn Terelius <terelius@webrtc.org >
> Reviewed-by: Philip Eliasson <philipel@webrtc.org >
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org >
> Commit-Queue: Erik Språng <sprang@webrtc.org >
> Cr-Commit-Position: refs/heads/master@{#34293}
TBR=danilchap@webrtc.org ,terelius@webrtc.org ,sprang@webrtc.org ,philipel@webrtc.org ,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: Iaca6dc7739d953e97add5f5d516139b4819e43ee
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:12713
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222601
Reviewed-by: Erik Språng <sprang@webrtc.org >
Commit-Queue: Erik Språng <sprang@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#34294}
2021-06-15 15:59:10 +00:00
e9ae4729e0
Correctly handle retransmissions/padding in early loss detection.
...
This CL makes sure we don't cull packets from the history based on
incorrect ack mapping, just like it's predecessor:
https://webrtc-review.googlesource.com/c/src/+/218000
It also changes the logic to make sure retransmits counts towards
history pruning - and properly ignores padding/fec.
Bug: webrtc:12713
Change-Id: I7835d10e483687e960a9cce41d4e2f1a6c3189b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221863
Reviewed-by: Björn Terelius <terelius@webrtc.org >
Reviewed-by: Philip Eliasson <philipel@webrtc.org >
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org >
Commit-Queue: Erik Språng <sprang@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#34293}
2021-06-15 15:39:19 +00:00
eee0e9e9d4
Remove passing rtp packet metadata through webrtc as array of bytes
...
Instead metadata is now passed via refcounted class.
Bug: b/178094662
Change-Id: I9591fb12990282b60310ca01aea2a7b73d92487a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/204060
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org >
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#33134}
2021-02-02 12:22:57 +00:00
5312a8f532
Add option to attach custom object to an rtp packet
...
As an alternative to attaching custom array of bytes.
Bug: b/178094662
Change-Id: I92dcbf04998d8206091125febc520ebfcc4bcebf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203264
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org >
Reviewed-by: Harald Alvestrand <hta@webrtc.org >
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org >
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#33069}
2021-01-25 18:31:34 +00:00
36274f9158
Reland "Reland "Default enable WebRTC-SendSideBwe-WithOverhead.""
...
This is a reland of 1dbe30c7e895c7eb4da51c968a7a8897f25ad7e6
Original change's description:
> Reland "Default enable WebRTC-SendSideBwe-WithOverhead."
>
> This is a reland of 87c1950841c3f5e465e1663cc922717ce191e192
>
> Original change's description:
> > Default enable WebRTC-SendSideBwe-WithOverhead.
> >
> > Bug: webrtc:6762
> > Change-Id: I18ace06a33b3b60d5a19796d4769f70cd977d604
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188801
> > Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org >
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org >
> > Reviewed-by: Ali Tofigh <alito@webrtc.org >
> > Cr-Commit-Position: refs/heads/master@{#32472}
>
> Bug: webrtc:6762
> Change-Id: Icf096a8755d29600a13bd08b1f22f5a79de21e90
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190143
> Reviewed-by: Ali Tofigh <alito@webrtc.org >
> Reviewed-by: Stefan Holmer <stefan@webrtc.org >
> Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org >
> Cr-Commit-Position: refs/heads/master@{#32492}
Bug: webrtc:6762
Change-Id: I6d79894a213fc42d2338409e7513247725881b1a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191221
Reviewed-by: Stefan Holmer <stefan@webrtc.org >
Reviewed-by: Ali Tofigh <alito@webrtc.org >
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#32534}
2020-11-02 11:05:56 +00:00
d546186b89
Revert "Reland "Default enable WebRTC-SendSideBwe-WithOverhead.""
...
This reverts commit 1dbe30c7e895c7eb4da51c968a7a8897f25ad7e6.
Reason for revert: Speculative revert due to failing tests.
Original change's description:
> Reland "Default enable WebRTC-SendSideBwe-WithOverhead."
>
> This is a reland of 87c1950841c3f5e465e1663cc922717ce191e192
>
> Original change's description:
> > Default enable WebRTC-SendSideBwe-WithOverhead.
> >
> > Bug: webrtc:6762
> > Change-Id: I18ace06a33b3b60d5a19796d4769f70cd977d604
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188801
> > Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org >
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org >
> > Reviewed-by: Ali Tofigh <alito@webrtc.org >
> > Cr-Commit-Position: refs/heads/master@{#32472}
>
> Bug: webrtc:6762
> Change-Id: Icf096a8755d29600a13bd08b1f22f5a79de21e90
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190143
> Reviewed-by: Ali Tofigh <alito@webrtc.org >
> Reviewed-by: Stefan Holmer <stefan@webrtc.org >
> Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org >
> Cr-Commit-Position: refs/heads/master@{#32492}
TBR=stefan@webrtc.org ,jakobi@webrtc.org ,alito@webrtc.org
Change-Id: I7e0378788576236059627cf8c3bad58cd70aff7e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6762
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190500
Reviewed-by: Björn Terelius <terelius@webrtc.org >
Commit-Queue: Björn Terelius <terelius@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#32504}
2020-10-27 10:51:46 +00:00
1dbe30c7e8
Reland "Default enable WebRTC-SendSideBwe-WithOverhead."
...
This is a reland of 87c1950841c3f5e465e1663cc922717ce191e192
Original change's description:
> Default enable WebRTC-SendSideBwe-WithOverhead.
>
> Bug: webrtc:6762
> Change-Id: I18ace06a33b3b60d5a19796d4769f70cd977d604
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188801
> Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org >
> Reviewed-by: Stefan Holmer <stefan@webrtc.org >
> Reviewed-by: Ali Tofigh <alito@webrtc.org >
> Cr-Commit-Position: refs/heads/master@{#32472}
Bug: webrtc:6762
Change-Id: Icf096a8755d29600a13bd08b1f22f5a79de21e90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190143
Reviewed-by: Ali Tofigh <alito@webrtc.org >
Reviewed-by: Stefan Holmer <stefan@webrtc.org >
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#32492}
2020-10-26 12:35:47 +00:00
27af3c4c24
Revert "Default enable WebRTC-SendSideBwe-WithOverhead."
...
This reverts commit 87c1950841c3f5e465e1663cc922717ce191e192.
Reason for revert: breaks downstream tests
Original change's description:
> Default enable WebRTC-SendSideBwe-WithOverhead.
>
> Bug: webrtc:6762
> Change-Id: I18ace06a33b3b60d5a19796d4769f70cd977d604
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188801
> Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org >
> Reviewed-by: Stefan Holmer <stefan@webrtc.org >
> Reviewed-by: Ali Tofigh <alito@webrtc.org >
> Cr-Commit-Position: refs/heads/master@{#32472}
TBR=stefan@webrtc.org ,jakobi@webrtc.org ,alito@webrtc.org
Change-Id: If59fd41dcd8f6db76ea297c34c25fe19ae2ae973
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6762
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/189973
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org >
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#32474}
2020-10-22 16:57:18 +00:00
87c1950841
Default enable WebRTC-SendSideBwe-WithOverhead.
...
Bug: webrtc:6762
Change-Id: I18ace06a33b3b60d5a19796d4769f70cd977d604
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188801
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org >
Reviewed-by: Stefan Holmer <stefan@webrtc.org >
Reviewed-by: Ali Tofigh <alito@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#32472}
2020-10-22 13:37:18 +00:00
e7c015e112
Migrate modules/rtp_rtcp to webrtc::Mutex.
...
Bug: webrtc:11567
Change-Id: I4c71f3a28ef875af2c232b1b553840d6e21649d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178804
Commit-Queue: Markus Handell <handellm@webrtc.org >
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#31645}
2020-07-07 12:13:47 +00:00
593e6a4238
Fork RtpSenderEgress.
...
The forked and deprecated implementation is used by the
deprecated ModuleRtpRtcpImpl implementation.
Change-Id: If67ca1181f40969791cf9c8903c0e49679c86834
Bug: webrtc:11581, webrtc:11611
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176566
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org >
Commit-Queue: Tommi <tommi@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#31459}
2020-06-08 08:02:50 +00:00