Contact emails
Explainer
https://github.com/WICG/video-raf/blob/gh-pages/explainer.md
Spec
Link to the spec (the explainer has all the information for now). WICG discourse.
Github repo.Summary
HTMLVideoElement.requestAnimationFrame() registers a one-shot callback, called after a video frame has been presented for composition. It also provides useful metadata about that frame. This is useful for WebGL and <canvas> applications, automated quality/metric analysis, and writing reliable web tests.
Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes
Risks
Interoperability and Compatibility
Video stacks and compositor implementations can be very different from browser to browser. There will have to be some balance between defining a spec that offers useful guarantees, while still being implementable by all browsers.
Edge: Public support
Firefox: No signals
Web / Framework developers: Positive comments on the WICG discussion thread. Safari: No "official" signals. One response expressing issues with the naming, and when this is fired within the event loop processing model.
The naming issue has come up during TAG review. I have opened a spec issue to address the second point.
Ergonomics
Are there any other platform APIs this feature will frequently be used in tandem with?
This API might be used in tandem with window.rAF, and so their interactions should be well defined.
Could the default usage of this API make it hard for Chrome to maintain good performance
This is unlikely.
Activation Will it be challenging for developers to take advantage of this feature immediately, as-is?
The usage of the API should be relatively straightforward and intuitive, and provide immediate benefits.
Is this feature fully tested by web-platform-tests?
This bug to migrate the current tests (file 1, file 2, file 3)
Entry on the feature dashboard
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABrVPoY5tzDUMDtC8Jo-aWcALnw2rd5kZTLkadG5Ac1%3DQye7Rg%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to blin...@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABrVPoYMsshLVWQs2cnoym35cmN%3DJC-04ijKjfwFGX7iVqN7CQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYdK9a6aqBjUqDVn%2BEKxh%3Dy1nvane6PXYGUHT29-oVaFDA%40mail.gmail.com.
LGTM2
/Daniel
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABrVPoYMsshLVWQs2cnoym35cmN%3DJC-04ijKjfwFGX7iVqN7CQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABrVPoYMsshLVWQs2cnoym35cmN%3DJC-04ijKjfwFGX7iVqN7CQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
-Boris
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0084894f-77c6-4b0f-0a68-edfe09fda621%40mit.edu.
Thomas, I know you already have the 3 LGTMs, one of them being mine, but it seems like the discussion was not as complete as you and I and the rest of us thought. There was one thing in particular that I would like to be investigated and that is if this feature, as it's designed, can introduce performance problems through the sync between the threads.
Until we know that there are no more misunderstandings, I'm
putting my previous lgtm "on hold".
/Daniel
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CANWt0Wrt1mJYf26cMQ2QhJiVG6PbqdtuXbcn36eDv7-_HwUPjg%40mail.gmail.com.
Thomas, I know you already have the 3 LGTMs, one of them being mine, but it seems like the discussion was not as complete as you and I and the rest of us thought. There was one thing in particular that I would like to be investigated and that is if this feature, as it's designed, can introduce performance problems through the sync between the threads.
Until we know that there are no more misunderstandings, I'm putting my previous lgtm "on hold".
/Daniel
On 2020-03-13 18:33, Paul Adenot wrote:
All,
Yes there has been a single private email on this, but it's mostly paraphrases of the standard-position link above with some re-explanation maybe, but nothing drastically different from my initial feedback.
I'll put in in the public thread on monday (it's getting late here) because there are some answers to the new questions asked in the answer to my initial points, but yes, it feels like most of my questions and concerns haven't been answered, and I do believe they are legitimate.
Thanks,Paul.
On Fri, Mar 13, 2020 at 6:25 PM Boris Zbarsky <bzba...@mit.edu> wrote:
On 3/13/20 1:18 PM, Chris Harrelson wrote:
> Could you point me to Paul's feedback or add me to threads with him that
> may not be on public repos? I'm having a hard time finding it so far.
Chris,
I assume that you've read
<https://github.com/mozilla/standards-positions/issues/250>, right?
Past that, I believe a large fraction of the feedback has been in
private mails, but I'll let Paul speak for himself; adding him to cc.
-Boris
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/01ca02b9-88aa-9e94-b1bd-a0c9abc79637%40gmail.com.
Adaptive sync is the most important thing that has happened to video playback since battery-powered video playing devices exist. We can't simply ignore it here. We might find that it just works however, but we need to look into it and to allow for it to kick-in.
Thanks Boris and Paul for raising flags and sorry for misjudging how much there could still be to discuss.I had made two assumptions here:
- Synchronization guarantees are actually impossible, because video keeps decoding and rendering even if the main thread is blocked. (Similar to scrolling.) Because of that, if the main thread takes too long, the information delivered could be stale.
- Hooking this into the rendering loop in HTML answers basically all questions. Because the conditions for when animation frame callbacks are invoked aren't changed, this is just providing information about what the video frame is likely to be, but it cannot be guaranteed.
However, it sounds from Paul in https://github.com/mozilla/standards-positions/issues/250 like guarantees aren't impossible, at least not in all engines, which is interesting. This bit is also potentially critical feedback:
Adaptive sync is the most important thing that has happened to video playback since battery-powered video playing devices exist. We can't simply ignore it here. We might find that it just works however, but we need to look into it and to allow for it to kick-in.
https://github.com/WICG/video-raf/issues/29 will hopefully make it quite clear what use cases can and can't be addressed by this proposal.Hoping to see this make progress. Thomas, are there additional issues that should be filed in https://github.com/WICG/video-raf/issues for any of the feedback? Can you update this thread when the issues have been addressed?
On Mon, Mar 16, 2020 at 3:28 PM Philip Jägenstedt <foo...@chromium.org> wrote:Thanks Boris and Paul for raising flags and sorry for misjudging how much there could still be to discuss.I had made two assumptions here:
- Synchronization guarantees are actually impossible, because video keeps decoding and rendering even if the main thread is blocked. (Similar to scrolling.) Because of that, if the main thread takes too long, the information delivered could be stale.
- Hooking this into the rendering loop in HTML answers basically all questions. Because the conditions for when animation frame callbacks are invoked aren't changed, this is just providing information about what the video frame is likely to be, but it cannot be guaranteed.
These assumptions are correct.However, it sounds from Paul in https://github.com/mozilla/standards-positions/issues/250 like guarantees aren't impossible, at least not in all engines, which is interesting. This bit is also potentially critical feedback:I don't think it's impossible in Chrome either, but it would mean blocking the start of page composition until after video composition. Which for reasons you mention above and more isn't something we really want to do. Other
Adaptive sync is the most important thing that has happened to video playback since battery-powered video playing devices exist. We can't simply ignore it here. We might find that it just works however, but we need to look into it and to allow for it to kick-in.There's no special consideration necessary for VRR modes with this API since it ties to the existing rAF, but only triggers at the video rate. So whatever ends up decided for HTML5/rAF in general is fine: https://github.com/whatwg/meta/issues/158
https://github.com/WICG/video-raf/issues/29 will hopefully make it quite clear what use cases can and can't be addressed by this proposal.Hoping to see this make progress. Thomas, are there additional issues that should be filed in https://github.com/WICG/video-raf/issues for any of the feedback? Can you update this thread when the issues have been addressed?We're going to VC with Paul tomorrow to discuss. Thanks for your help!
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYdbEnHCK4%2BVYpefOiMXo%2B5GG8tOjnTN3RE_MhMX0K65Dw%40mail.gmail.com.
I do not think that there are any other blocking issues regarding this API.
LGTM2
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.