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

web,video: Add H264 decoding using the WebCodecs API #16794

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

torokati44
Copy link
Member

@torokati44 torokati44 commented Jun 20, 2024

A continuation of #14654.

Not really done yet, just pushing for visibility, and so that it doesn't get forgotten.
(Just look at the commit history lol.)

Due to this API being based on callbacks, this currently adds at least one additional (video) frame of delay as compared to a synchronous decoder, such as OpenH264 on desktop. I think this should be acceptable.
It would be possible to wire the callback straight from the browser through the video backend to the renderer backend, to update the texture immediately (off the regular frame pacing schedule), but I think that would be a bit too complicated, and could potentially result in less smooth playback.

Mostly works, in Chrome and in Firefox 129+.

I don't think this could be problematic at all from a patents/licensing/royalty standpoint.

Advances #8891.

@danielhjacobs danielhjacobs added A-web Area: Web & Extensions A-video labels Jun 20, 2024
@torokati44 torokati44 force-pushed the external-video-webcodecs branch 5 times, most recently from 65c01d8 to e9c744b Compare June 27, 2024 18:30
@torokati44 torokati44 force-pushed the external-video-webcodecs branch 5 times, most recently from 816e327 to c96c40c Compare July 23, 2024 19:23
@torokati44 torokati44 force-pushed the external-video-webcodecs branch 4 times, most recently from 9afffe8 to d40c036 Compare August 22, 2024 19:36
@torokati44 torokati44 force-pushed the external-video-webcodecs branch 2 times, most recently from c47534e to f3bd05b Compare September 11, 2024 10:03
@torokati44 torokati44 force-pushed the external-video-webcodecs branch 2 times, most recently from 35cf89c to bf5c71c Compare September 12, 2024 11:06
@danielhjacobs danielhjacobs added the T-compat Type: Compatibility with Flash Player label Sep 17, 2024
@torokati44 torokati44 force-pushed the external-video-webcodecs branch 2 times, most recently from 74cf97b to cf85e0f Compare September 18, 2024 08:29
@torokati44
Copy link
Member Author

Rebased on top of #17878.

@torokati44 torokati44 force-pushed the external-video-webcodecs branch 2 times, most recently from 98302d1 to d45c3de Compare October 21, 2024 13:55
@torokati44 torokati44 force-pushed the external-video-webcodecs branch 5 times, most recently from 9250fe2 to 8132286 Compare November 6, 2024 15:13
@torokati44 torokati44 marked this pull request as ready for review November 6, 2024 15:14
@torokati44 torokati44 added the waiting-on-review Waiting on review from a Ruffle team member label Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-video A-web Area: Web & Extensions newsworthy T-compat Type: Compatibility with Flash Player waiting-on-review Waiting on review from a Ruffle team member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants