remote-outbound-rtp's remoteTimestamp field uses the time base of NTP (1 Jan 1900) instead of DOMHighResTimeStamp (1 Jan 1970)
Categories
(Core :: WebRTC, defect, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox96 | --- | fixed |
People
(Reporter: pehrsons, Assigned: pehrsons)
References
Details
Attachments
(23 files, 2 obsolete files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
| Assignee | ||
Comment 1•4 years ago
|
||
The timestamps from libwebrtc are also not going through the same precision reduction logic that our own TimestampMaker has. Could fix that here too.
Comment 2•4 years ago
•
|
||
Good catch. I am not sure about degrading the timestamps, as they can be used to uniquely identify specific packets, though I am not sure how accurate the current conversion code is. We should at least put that behind a pref to start.
| Assignee | ||
Comment 3•4 years ago
|
||
Gotcha. Well let me know in review and I'll make adjustments. The patches are already written.
| Assignee | ||
Comment 5•4 years ago
|
||
I'll leave out the precision reduction on remote timestamps then, but put them on local receive timestamps, which I'll be taking from libwebrtc now.
| Assignee | ||
Comment 6•4 years ago
|
||
| Assignee | ||
Comment 7•4 years ago
|
||
| Assignee | ||
Comment 8•4 years ago
|
||
| Assignee | ||
Comment 9•4 years ago
|
||
NTP time starts at "midnight on January first 1900" (RFC868).
DOMHighResTimeStamp starts at "midnight at the beginning of 1 January 1970 UTC"
(ECMA-262).
| Assignee | ||
Comment 10•4 years ago
|
||
This is needed in order to provide precision reduction on timestamps from
libwebrtc.
| Assignee | ||
Comment 11•4 years ago
|
||
| Assignee | ||
Comment 12•4 years ago
|
||
Updated•4 years ago
|
Updated•4 years ago
|
| Assignee | ||
Comment 13•4 years ago
|
||
This solves issues around translating timestamps from the libwebrtc clock to
DOMHighResTimeStamp which is using our timestamp maker. With the regular
upstream clock there's a risk those timestamps appear in the future, compared
to Performance.now, leading to test failures in stats.
Updated•4 years ago
|
Updated•4 years ago
|
| Assignee | ||
Comment 14•4 years ago
|
||
This lets us define our own monotonic system clock for libwebrtc to use.
This patch corresponds to the libwebrtc part of chromium bug 516700
(https://crbug.com/516700).
It consists of the following libwebrtc patches squashed:
https://webrtc.googlesource.com/src/+/b73c9f0bc3c0331c177fcbd54224b350153aebcd
https://webrtc.googlesource.com/src/+/da20c739a8607e9f43e6ac04024ea622167ec694
https://webrtc.googlesource.com/src/+/373bb7bec4d2df7378d3dae965313548e6817246
https://webrtc.googlesource.com/src/+/bb52bdf09516ca548c4aff50526eda561f239bc0
| Assignee | ||
Comment 15•4 years ago
|
||
This lets us inject our own clock to a Call and control the wall-clock time.
This patch corresponds to upstream bug 11327
(https://bugs.chromium.org/p/webrtc/issues/detail?id=11327) and is a squash of
the following upstream commits:
- https://webrtc.googlesource.com/src/+/314b78d467c224159fb28c8dddf1d6fd78be7faa
- https://webrtc.googlesource.com/src/+/e9dad5f053c6d206f1ebab3d99945f81f597ff70
- https://webrtc.googlesource.com/src/+/704d6e518aa789a5e76378b7b758d6a77b60312e
- https://webrtc.googlesource.com/src/+/6817809e26f7631b1caa3013ee45075b9fef58d3
- https://webrtc.googlesource.com/src/+/0de1ed0244a8da395811ad8952e5f5f8a2643e2a
- https://webrtc.googlesource.com/src/+/b59e9045bf215aaec869412b16d0fd39bf0df4ec
- https://webrtc.googlesource.com/src/+/2491dbdf0b59cc080ea7218c32c109f4c8b304fe
- https://webrtc.googlesource.com/src/+/95f1e5192c95903d0fb7ed14f0e3acf0b510a440
- https://webrtc.googlesource.com/src/+/47ed99872d8b6392d2eb2e3c890b0eb00209fa20
- https://webrtc.googlesource.com/src/+/00f6e75671b7c73af5b3c88d2b554ee7873275f9
- https://webrtc.googlesource.com/src/+/fe3dd51f326b8d418a2ce055b313a099af58a815
- https://webrtc.googlesource.com/src/+/a6b0d53dc250aaebc14315a44515971da72980cc
- https://webrtc.googlesource.com/src/+/46fbefa3023ca7d1c1967e92b68c343173a00db2
- https://webrtc.googlesource.com/src/+/cab90db24ac2e4ddbb9e7619f65bf5dc582783c0
| Assignee | ||
Comment 16•4 years ago
|
||
| Assignee | ||
Comment 17•4 years ago
|
||
| Assignee | ||
Comment 18•4 years ago
|
||
| Assignee | ||
Comment 19•4 years ago
|
||
| Assignee | ||
Comment 20•4 years ago
|
||
| Assignee | ||
Comment 21•4 years ago
|
||
| Assignee | ||
Comment 22•4 years ago
|
||
| Assignee | ||
Comment 23•4 years ago
|
||
This patch makes libwebrtc use our clock for timestamps.
It also makes sure future libwebrtc updates don't introduce unaudited use of the
libwebrtc realtime clock.
Updated•4 years ago
|
| Assignee | ||
Comment 24•4 years ago
|
||
| Assignee | ||
Comment 25•4 years ago
|
||
| Assignee | ||
Comment 26•4 years ago
|
||
| Assignee | ||
Comment 27•4 years ago
|
||
| Assignee | ||
Comment 28•4 years ago
|
||
| Assignee | ||
Comment 29•4 years ago
|
||
| Assignee | ||
Comment 30•4 years ago
|
||
This avoid triggering an assertion in RTPSenderVideo::SendVideo that doesn't
like negative timestamps.
Comment 31•4 years ago
|
||
Comment 32•4 years ago
|
||
Backed out for causing multiple build bustages.
Failure log for Windows 2012 x64 debug
Failure log for OS X Cross Compiled plain
Failure log for Linux x64 plain
and also this tier 2 builds
Failure log for Windows MinGW all MinGW-Clang builds for Windows 64-bits
Failure log for Windows MinGW all MinGW-Clang builds for Windows 32-bits
Comment 33•4 years ago
|
||
Comment 34•4 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/1a55783edb50
https://hg.mozilla.org/mozilla-central/rev/75b2e5b22dd8
https://hg.mozilla.org/mozilla-central/rev/2bee95385d95
https://hg.mozilla.org/mozilla-central/rev/ff2adec471a1
https://hg.mozilla.org/mozilla-central/rev/404b8c40b078
https://hg.mozilla.org/mozilla-central/rev/89f79325e50a
https://hg.mozilla.org/mozilla-central/rev/d954e42b9fc3
https://hg.mozilla.org/mozilla-central/rev/fdeabccf0376
https://hg.mozilla.org/mozilla-central/rev/064f668b8497
https://hg.mozilla.org/mozilla-central/rev/b4b99d2a0e4b
https://hg.mozilla.org/mozilla-central/rev/9c79b8f388ac
https://hg.mozilla.org/mozilla-central/rev/bad692b90c78
https://hg.mozilla.org/mozilla-central/rev/ba5966905e63
https://hg.mozilla.org/mozilla-central/rev/88281da6942e
https://hg.mozilla.org/mozilla-central/rev/f5f9031ad36d
https://hg.mozilla.org/mozilla-central/rev/2311db30725c
https://hg.mozilla.org/mozilla-central/rev/fe6f8e1d360c
https://hg.mozilla.org/mozilla-central/rev/6ff38fcddbbc
https://hg.mozilla.org/mozilla-central/rev/8f90f559af34
https://hg.mozilla.org/mozilla-central/rev/f8e7943414f2
https://hg.mozilla.org/mozilla-central/rev/facac6bb25c3
https://hg.mozilla.org/mozilla-central/rev/5388fb363fd2
https://hg.mozilla.org/mozilla-central/rev/7a84736b96c0
| Assignee | ||
Updated•4 years ago
|
| Assignee | ||
Updated•3 years ago
|
Description
•