1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 17:54:57 +00:00

LibWeb: Report HTMLMediaElement duration with sub-second accuracy

We currently use Time::to_seconds() to report a video's duration. The
video, however, may have a sub-second duration. For example, the video
used by the video test page is 12.05 seconds long.
This commit is contained in:
Timothy Flynn 2023-04-10 13:14:37 -04:00 committed by Linus Groh
parent 2ef4a51c39
commit 6b51c3c1ce

View file

@ -676,7 +676,8 @@ WebIDL::ExceptionOr<void> HTMLMediaElement::process_media_data(Function<void()>
// 4. Update the duration attribute with the time of the last frame of the resource, if known, on the media timeline established above. If it is
// not known (e.g. a stream that is in principle infinite), update the duration attribute to the value positive Infinity.
// FIXME: Handle unbounded media resources.
set_duration(static_cast<double>(video_track->duration().to_seconds()));
auto duration = static_cast<double>(video_track->duration().to_milliseconds());
set_duration(duration / 1000.0);
// 5. For video elements, set the videoWidth and videoHeight attributes, and queue a media element task given the media element to fire an event
// named resize at the media element.