Bug 283533
| Summary: | [WebM] requestVideoFrameCallback may only works once. | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Jean-Yves Avenard [:jya] <jean-yves.avenard> |
| Component: | Media | Assignee: | Jean-Yves Avenard [:jya] <jean-yves.avenard> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Jean-Yves Avenard [:jya]
In the VideoMediaSampleRenderer, when we queue a frame for display, we call and then clear the callback.
So in the situation where we would do something like:
VMSR.enqueueSample();
VMSR.notifyWhenHasAvailableVideoFrame(...); // 1
VMSR.enqueueSample();
VMSR.notifyWhenHasAvailableVideoFrame(...); // 2
Now we decode and render on the work queue, after the 2nd enqueueSample has been called.
We resolve the callback and clear it. So when it comes time to decode the 2nd sample, there's no callback to call anymore, and the client won't set it again.
As a consequence, if that callback was to deal with a requestVideoFrameCallback, it won't happen.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/140384096>
Jean-Yves Avenard [:jya]
Pull request: https://github.com/WebKit/WebKit/pull/36999
EWS
Committed 286994@main (2f99587301dd): <https://commits.webkit.org/286994@main>
Reviewed commits have been landed. Closing PR #36999 and removing active labels.