Bug 283533

Summary: [WebM] requestVideoFrameCallback may only works once.
Product: WebKit Reporter: Jean-Yves Avenard [:jya] <jean-yves.avenard>
Component: MediaAssignee: 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]
Reported 2024-11-21 16:48:49 PST
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
Radar WebKit Bug Importer
Comment 1 2024-11-21 16:54:13 PST
Jean-Yves Avenard [:jya]
Comment 2 2024-11-21 21:27:20 PST
EWS
Comment 3 2024-11-22 18:53:21 PST
Committed 286994@main (2f99587301dd): <https://commits.webkit.org/286994@main> Reviewed commits have been landed. Closing PR #36999 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.