Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add XR support to video.rVFC #25555

Merged
merged 1 commit into from Sep 16, 2020

Conversation

chromium-wpt-export-bot
Copy link
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented Sep 15, 2020

Currently, when we enter an immersive XRSession, window.rAF calls stops,
which means we no longer deliver video.requestVideoFrameCallback calls.

This CL adds video.rVFC support to immersive XRSessions. If we find an
immersive XRSession, we schedule video.rVFC callbacks there instead of
the ScriptedAnimationController (SAC).

There can only be one immersive XRSession. If we don't find a session,
but we find that the XRFrameProvider exists, we request to be notified
when an immersive session start. This allows us to keep callbacks going
if the callbacks were already scheduled in the SAC when starting an
XRSession. Simmilarly, if the session ends when callbacks were pending
in the XRSession, we reschedule ourselves in the SAC.

Bug: 1107578
Change-Id: If0acf9445bb789bc848e0043908fc9b769cc5bdd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2406522
Commit-Queue: Thomas Guilbert <tguilbert@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#807653}

Copy link
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Chromium project.

Currently, when we enter an immersive XRSession, window.rAF calls stops,
which means we no longer deliver video.requestVideoFrameCallback calls.

This CL adds video.rVFC support to immersive XRSessions. If we find an
immersive XRSession, we schedule video.rVFC callbacks there instead of
the ScriptedAnimationController (SAC).

There can only be one immersive XRSession. If we don't find a session,
but we find that the XRFrameProvider exists, we request to be notified
when an immersive session start. This allows us to keep callbacks going
if the callbacks were already scheduled in the SAC when starting an
XRSession. Simmilarly, if the session ends when callbacks were pending
in the XRSession, we reschedule ourselves in the SAC.

Bug: 1107578
Change-Id: If0acf9445bb789bc848e0043908fc9b769cc5bdd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2406522
Commit-Queue: Thomas Guilbert <tguilbert@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#807653}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants