skip highest start time comparison on duration change from endOfStream
Microsecond truncation of duration but not highest start time was sometimes
causing inappropriate InvalidStateError.
HighestStartTime() is more efficient than and equivalent when Ended to
GetHighestBufferedEndTime(), which constructs full TimeIntervals.
Use ToBase(USECS_PER_S) for rounding for consistency with the
SourceBuffer.buffered getter.
Differential Revision: https://phabricator.services.mozilla.com/D220853
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1916306
gecko-commit: 8a75f012299872cd99b281b82756046ff953b1ec
gecko-reviewers: padenot