Set proper timestamps on video frames from canvas.captureStream()

RESOLVED FIXED in Firefox 53

Status

()

defect
P2
normal
Rank:
25
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: pehrsons, Assigned: pehrsons)

Tracking

unspecified
mozilla53
Points:
---

Firefox Tracking Flags

(firefox53 fixed)

Details

Attachments

(1 attachment)

With bug 1330918 we're switching MediaRecorder to record video frames based on timestamps instead of durations.

Canvas.captureStream() produces frames based on refresh driver ticks, but I think the VideoChunk timestamp gets set in the following NotifyPull(). This means the timestamp accuracy is dependent on MediaStreamGraph iterations, which are typically 10ms apart.

The best thing would be to get timestamps off the refresh driver. For the most part this should be driven by vsync, and if we can get the timestamp from the vsync driver they should be accurate.
Rank: 25
Priority: -- → P2
Comment on attachment 8826570 [details]
Bug 1330919 - Pass RefreshDriver timestamp to captured frames from canvas.

https://reviewboard.mozilla.org/r/104520/#review105176
Attachment #8826570 - Flags: review?(rjesup) → review+
Pushed by pehrsons@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/5acfb0d242bf
Pass RefreshDriver timestamp to captured frames from canvas. r=jesup
https://hg.mozilla.org/mozilla-central/rev/5acfb0d242bf
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
You need to log in before you can comment on or make changes to this bug.