- From: Andreas Pehrson via GitHub <sysbot+gh@w3.org>
- Date: Fri, 02 Sep 2022 13:34:32 +0000
- To: public-webrtc@w3.org
Pehrsons has just created a new issue for https://github.com/w3c/webrtc-stats: == remoteTimestamp does not specify how to derive the RTCP SR NTP timestamp == The spec for [RTCRemoteOutboundRtpStreamStats](https://www.w3.org/TR/webrtc-stats/#dom-rtcremoteoutboundrtpstreamstats).remoteTimestamp says: > _remoteTimestamp_ of type DOMHighResTimeStamp > [remoteTimestamp](https://www.w3.org/TR/webrtc-stats/#dom-rtcremoteoutboundrtpstreamstats-remotetimestamp), of type [DOMHighResTimeStamp](https://www.w3.org/TR/hr-time-3/#dom-domhighrestimestamp) [[HIGHRES-TIME](https://www.w3.org/TR/webrtc-stats/#bib-highres-time)], represents the remote [timestamp](https://www.w3.org/TR/webrtc-stats/#dom-rtcstats-timestamp) at which these statistics were sent by the remote endpoint. This differs from timestamp, which represents the time at which the statistics were generated or received by the local endpoint. The [remoteTimestamp](https://www.w3.org/TR/webrtc-stats/#dom-rtcremoteoutboundrtpstreamstats-remotetimestamp), if present, is derived from the NTP timestamp in an [RTCP Sender Report](https://www.w3.org/TR/webrtc-stats/#dfn-sender-report) (SR) block, which reflects the remote endpoint's clock. That clock may not be synchronized with the local clock. The [text on the timestamp referred to in RFC3550](https://www.rfc-editor.org/rfc/rfc3550#section-6.4.1) says: ``` NTP timestamp: 64 bits Indicates the wallclock time (see Section 4) when this report was sent so that it may be used in combination with timestamps returned in reception reports from other receivers to measure round-trip propagation to those receivers. Receivers should expect that the measurement accuracy of the timestamp may be limited to far less than the resolution of the NTP timestamp. The measurement uncertainty of the timestamp is not indicated as it may not be known. On a system that has no notion of wallclock time but does have some system-specific clock such as "system uptime", a sender MAY use that clock as a reference to calculate relative NTP timestamps. It is important to choose a commonly used clock so that if separate implementations are used to produce the individual streams of a multimedia session, all implementations will use the same clock. Until the year 2036, relative and absolute timestamps will differ in the high bit so (invalid) comparisons will show a large difference; by then one hopes relative timestamps will no longer be needed. A sender that has no notion of wallclock or elapsed time MAY set the NTP timestamp to zero. ``` What could be useful here is specifying what an implementation should do when coming across a relative timestamp, or one that is zero. This came up because a whereby.com SFU sent timestamps that when interpreted as absolute pointed to June 1900. These triggered a debug assert in Firefox. Chromium assumes the timestamp is absolute when it does its conversion to DOMHighResTimeStamp. Firefox does the same (in non-debug builds). Please view or discuss this issue at https://github.com/w3c/webrtc-stats/issues/665 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Friday, 2 September 2022 13:34:34 UTC