Насколько помню, прикол там в том, что нет однозначного события - что мол, загружено 100%!
Есть всякие canplay, которые только рапортуют, что что можно показывать (закешил достаточно).
Есть всякие буферы (которых может быть несколько - если например потыкали мышкой по таймлайну) - и грузиться они могут параллельно.
Так что приходится либо думать, как они, либо извращаться, сверять например duration и buffered...