RESOLVED FIXED 265079
[GPUP][MSE] RemoteSourceBufferProxy::EvictCodedFrames shouldn't be a sync call
https://bugs.webkit.org/show_bug.cgi?id=265079
Summary [GPUP][MSE] RemoteSourceBufferProxy::EvictCodedFrames shouldn't be a sync call
Jean-Yves Avenard [:jya]
Reported 2023-11-17 22:39:11 PST
The MSE spec requires the Prepare Append [1] algorithm to run synchronously at the start of appendBuffer [2] Part of this algorithm is the Coded Frames Eviction [3] algorithm. With the GPU Process this is a sync dispatch, and is problematic as it can be run at any time and not waiting for any pending SourceBufferPrivate operations to complete. Currently, the only need for this call to be synchronous is to determine how much data is evictable from the SourceBuffers/TrackBuffers ; we could instead calculate this value after each SourceBuffer operation and update it as time progresses. This information would be sent at regular interval back to the content process, so that the next time the Prepare Append Algorithm is run in the Content Process, it already approximately knows how much data is evictable. The information doesn't need to be 100% accurate, it just needs to be accurate enough so that on average the buffered size is below the limit. [1] https://w3c.github.io/media-source/#sourcebuffer-prepare-append [2] https://w3c.github.io/media-source/#dom-sourcebuffer-appendbuffer [3] https://w3c.github.io/media-source/#sourcebuffer-coded-frame-eviction
Attachments
Radar WebKit Bug Importer
Comment 1 2023-11-24 22:40:15 PST
Jean-Yves Avenard [:jya]
Comment 2 2024-02-26 01:35:35 PST
EWS
Comment 3 2024-02-27 06:30:51 PST
Committed 275380@main (bbf768df7ba7): <https://commits.webkit.org/275380@main> Reviewed commits have been landed. Closing PR #25092 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.