NEW 269042
MediaSource in GPU must wait for MediaPlayer in ContentProcess to process a new track
https://bugs.webkit.org/show_bug.cgi?id=269042
Summary MediaSource in GPU must wait for MediaPlayer in ContentProcess to process a n...
Jean-Yves Avenard [:jya]
Reported 2024-02-08 19:26:44 PST
When the SourceBufferPrivate parses a new init segment, it will create a new Track object for each discovered track. The operation of creating the track is done by the MediaPlayerPrivate. When the GPU Process is in use, the Track created is a RemoteAudioTrackProxy/RemoteVideoTrackProxy/RemoteTextTrackProxy and this is done by the RemoteMediaPlayerProxy Each RemoteTrackProxy constructor then send a message to the MediaPlayerPrivateRemote running in the content process to register the new track. This operation is done on the main thread. Following bug 265982; MSE now runs in a dedicated WorkQueue to avoid being bottlenecked by the main thread's usage. However, parsing the init segment by the SourceBufferPrivate in the GPU Process can't complete until the CP's MediaPlayerPrivateRemote has fully processed the new track. This means that if the main thread is busy, the GPUP's MSE is now waiting. We should find a way to remove this bottleneck
Attachments
Radar WebKit Bug Importer
Comment 1 2024-02-08 19:27:10 PST
Note You need to log in before you can comment on or make changes to this bug.