WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
302514
[MSE] MediaSourcePrivate's mediaPlayerReadyState calculation should transition to HAVE_CURRENT_DATA only once video frame has displayed
https://bugs.webkit.org/show_bug.cgi?id=302514
Summary
[MSE] MediaSourcePrivate's mediaPlayerReadyState calculation should transitio...
Jean-Yves Avenard [:jya]
Reported
2025-11-13 22:10:55 PST
The MSE spec currently defines the value of the HTMLMediaElements's readyState to be based on what data is buffered. It takes no account if a frame is actually displayed or not. Both WebKit's MSE platform player implementation: MediaPlayerPrivateMediaSourceAVFObjC and MediaPlayerPrivateGStreamerMSE will not transition to HAVE_CURRENT_DATA until a video frame is being displayed. This behaviour isn't per spec but has been found to be required to guarantee various tests to pass consistently. For example, a common testing pattern is to seek at a particular time and perform a reftest. So both MSE's MediaPlayerPrivate will not fire the seeked event until a frame has been displayed (GStreamer's didPreroll() and AVFoundation's hasFirstFrameAvailable) With
bug 302242
we want the MediaSourcePrivate to become the reference when calculating the MediaPlayer's readyState. As such, to maintain equivalence on how MediaPlayerPrivateMediaSourceAVFObjC and MediaPlayerPrivateGStreamerMSE behave, we must now take into account if a frame is being displayed or not.
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2025-11-13 22:11:01 PST
<
rdar://problem/164695563
>
Jean-Yves Avenard [:jya]
Comment 2
2025-11-13 22:31:06 PST
Pull request:
https://github.com/WebKit/WebKit/pull/53923
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug