Do you have any experience compiling chromium (admittedly a bit of work)? I enable dvlogs with gn args like so
is_debug = false # defaults to true, but you just want the logs
dcheck_always_on = true # let the dvlogs flow in
> BUFFERING_HAVE_NOTHING and BUFFERING_HAVE_ENOUGH
Oscillating between these can have 2 causes (potentially both)
1. currentTime is repeatedly reaching the end of buffered (you're appends aren't happening in time)
2. you're machine isn't able to decode the video fast enough to keep up with the playback rate, so the queue of decode frames is running empty
For 2, you can easily eliminate this by testing with an easy video (e.g. 360p @ 30fps) on a machine with decent specs (we sometimes see folks test with low resource VMs).