From 1acc485ffba3c12886e146f03557068d898a1f48 Mon Sep 17 00:00:00 2001
From: Markus Handell
The process of freeing a candidate is defined in [[RFC8445]] Section 8.3.
+
+ The following terms are defined in mediacapture-extensions
+ video timestamp concepts
+
+ The user agent defines a frame timestamp being the same as the [=capture timestamp=]
+ of the frame being produced on the {{RTCRtpSender}} {{MediaStreamTrack}} if it is set.
+ If it is unset the user agent estimates a timestamp from the sent frame's [= presentation timestamp =] together with the
+ time it was received by the {{RTCRtpSender}}.
+
+ The NTP and RTP timestamps of the encoded frame corresponding to the frame being produced on the {{RTCRtpSender}}
+ {{MediaStreamTrack}} are sourced from the [= frame timestamp =].
+
+ The [=RTP timestamp=] of frames being produced on the {{RTCRtpSender}} is ignored.
+
+
+ For a frame produced in a {{RTCRtpReceiver}} track, the user agent computes a
+ remote capture timestamp. It is a best-effort estimate of the local capture
+ time on the sender translated to the receiver clock, and can use methods like using RTCP SR
+ as specified in [[?RFC3550]] Section 6.4.1, or by other alternative means if use by RTCP SR
+ isn't feasible.
+
+ Each frame's [= capture timestamp =] is set to the [= remote capture timestamp =], if available.
+
+ For a frame produced in a {{RTCRtpReceiver}} track, the frame's [=RTP timestamp=] is set
+ from the RTP timestamp of constituent packets of the corresponding received encoded frame.
+
+ For a frame produced in a {{RTCRtpReceiver}} track, the [=receive timestamp=] is set
+ as the time the corresponding encoded frame was received by the platform, i.e. the time at which the
+ last packet belonging to this frame was received over the network.
+
The user agent defines a frame timestamp being the same as the [=capture timestamp=]
of the frame being produced on the {{RTCRtpSender}} {{MediaStreamTrack}} if it is set.
- If it is unset the user agent estimates a timestamp from the sent frame's [= presentation timestamp =] together with the
+ If it is unset the user agent estimates a timestamp from the sent frame's [=presentation timestamp=] together with the
time it was received by the {{RTCRtpSender}}.
The NTP and RTP timestamps of the encoded frame corresponding to the frame being produced on the {{RTCRtpSender}}
- {{MediaStreamTrack}} are sourced from the [= frame timestamp =].
+ {{MediaStreamTrack}} are sourced from the [=frame timestamp=].
The [=RTP timestamp=] of frames being produced on the {{RTCRtpSender}} is ignored.
@@ -1579,7 +1579,7 @@ Terminology
+
@@ -1540,6 +1553,46 @@
Event summary
Timestamp behavior
+ RTCRtpSender timestamp effects on packet NTP and RTP timestamps
+ RTCRtpReceiver timestamps
+ Remote capture timestamp
+ Received RTP timestamp
+ Receive timestamp
+
Security Considerations
From 92a79db41a4d39cb310fa49f0d371a419d9aaa8a Mon Sep 17 00:00:00 2001
From: Markus Handell
RTCRtpSender timestamp effects on packet NTP and RTP timestamps
Remote capture timestamp
as specified in [[?RFC3550]] Section 6.4.1, or by other alternative means if use by RTCP SR
isn't feasible.
- Each frame's [= capture timestamp =] is set to the [= remote capture timestamp =], if available. + Each frame's [=capture timestamp=] is set to the [=remote capture timestamp=], if available.
diff --git a/webrtc-extensions.js b/webrtc-extensions.js index 468cac8..7cc3dc4 100644 --- a/webrtc-extensions.js +++ b/webrtc-extensions.js @@ -1,52 +1,50 @@ var respecConfig = { - "group": "webrtc", - github: { - repoURL: "https://github.com/w3c/webrtc-extensions/", - branch: "main" - }, - latestVersion: null, - "xref": ["html", "webidl", "webrtc", "hr-time", "mediacapture-streams", "webrtc-stats", "infra", "dom"], - "specStatus": "ED", - editors: [ - // { name: "Your Name", url: "http://example.org/", - // company: "Your Company", companyURL: "http://example.com/" }, - { - name: "Bernard Aboba", company: "Microsoft Corporation", - w3cid: "65611" - } - ], - formerEditors: [ - { name: "Henrik Boström", company: "Google", w3cid: "96936", retiredDate: "2021-02-01" } - ], - authors: [ - ], - wgPublicList: "public-webrtc", - otherLinks: [ - { - key: "Participate", - data: [ - { - value: "Mailing list", - href: "https://lists.w3.org/Archives/Public/public-webrtc/" - } - ] - } - ], - localBiblio: { - "IANA-STUN-6": { - "title": "STUN Error Codes", - "href": "https://www.iana.org/assignments/stun-parameters/stun-parameters.xhtml#stun-parameters-6", - "publisher": "IANA" + "group": "webrtc", + github: { + repoURL: "https://github.com/w3c/webrtc-extensions/", + branch: "main" }, - "CRYPTEX": { - "aliasOf": "RFC9335" - }, - "RTP-EXT-CAPTURE-TIME": { - "title": "RTP Header Extension for Absolute Capture Time", - "publisher": "WebRTC Project", - href: "https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/abs-capture-time", - "status": "Experimental RTP Header Extension" + latestVersion: null, + "xref": ["html", "webidl", "webrtc", "hr-time", "mediacapture-streams", "webrtc-stats", "infra", "dom"], + "specStatus": "ED", + editors: [ + // { name: "Your Name", url: "http://example.org/", + // company: "Your Company", companyURL: "http://example.com/" }, + { name: "Bernard Aboba", company: "Microsoft Corporation", + w3cid: "65611" + } + ], + formerEditors: [ + { name: "Henrik Boström", company: "Google", w3cid: "96936", retiredDate: "2021-02-01" } + ], + authors: [ + ], + wgPublicList: "public-webrtc", + otherLinks: [ + { + key: "Participate", + data: [ + { + value: "Mailing list", + href: "https://lists.w3.org/Archives/Public/public-webrtc/" + } + ] + } + ], + localBiblio: { + "IANA-STUN-6": { + "title": "STUN Error Codes", + "href": "https://www.iana.org/assignments/stun-parameters/stun-parameters.xhtml#stun-parameters-6", + "publisher": "IANA" + }, + "CRYPTEX": { + "aliasOf": "RFC9335" + }, + "RTP-EXT-CAPTURE-TIME": { + "title": "RTP Header Extension for Absolute Capture Time", + "publisher": "WebRTC Project", + href: "https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/abs-capture-time", + "status": "Experimental RTP Header Extension" + } } - }, - "xref": ["webrtc", "hr-time", "mediacapture-streams", "webrtc-stats", "mediacapture-extensions"] }