LibMedia+LibWeb: Add an initial Starting state to PlaybackManager

This state will indicate to the media element that it's not guaranteed
to have a frame yet, for the purposes of determining the ready state.
JavaScript should be sure that video elements with a ready state of
HAVE_CURRENT_DATA or greater represent the current video frame already.

To allow the state to be exited if audio is disabled, audio tracks are
now only added to the buffering set on enable if the audio sink exists,
since without the sink starting the data provider, it will never be
removed.

This is a step towards making video ref tests.
This commit is contained in:
Zaggy1024
2026-04-18 05:33:02 -05:00
committed by Gregory Bertilson
parent e1e752cc28
commit 08faa83340
Notes: github-actions[bot] 2026-04-22 00:13:12 +00:00
13 changed files with 98 additions and 20 deletions

View File

@@ -1,6 +1,6 @@
loadstart: readyState=0
durationchange: readyState=4 duration=12.043
loadedmetadata: readyState=4
durationchange: readyState=1 duration=12.043
loadedmetadata: readyState=1
loadeddata: readyState=4
canplay: readyState=4
canplaythrough: readyState=4