Bug 245724

Summary: getStartDate() value inconsistent when seeking
Product: WebKit Reporter: Robert Bryer <robert.bryer>
Component: MediaAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: eric.carlson, jer.noble, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 15   
Hardware: iPhone / iPad   
OS: iOS 15   

Description Robert Bryer 2022-09-27 06:26:31 PDT
This is present on iOS/iPadOS 15.7 but not on desktop versions of Safari.

When seeking in a livestream, the value returned by video.getStartDate() is inconsistent.

You can see it on this page here:
https://is.gd/iwokev

And you can log the values with this:
const video = window.embeddedMedia.players[0].toucan.playbackController.currentPlayback.videoElement;
video.addEventListener("timeupdate", () => {console.log("timeupdate", video.currentTime, video.getStartDate().getTime()/1000)});
video.addEventListener("seeking", () => {console.log("seeking", video.currentTime, video.getStartDate().getTime()/1000)});
video.addEventListener("seeked", () => {console.log("seeked", video.currentTime, video.getStartDate().getTime()/1000)});

When seeking on the player, we can see the startDate jump around randomly, here from 1664276072 to 1664272274:

[Log] timeupdate – 7192.9013990300045 – 1664276072
[Log] timeupdate – 7192.902806654998 – 1664276072
[Log] seeking – 3394.9170031547546 – 1664276072
[Log] timeupdate – 3394.9170031547546 – 1664272274
[Log] timeupdate – 3394.9249128916604 – 1664272274
[Log] seeked – 3394.9268130166643 – 1664272274
[Log] timeupdate – 3394.9336368916743 – 1664276072
[Log] timeupdate – 3394.9364625166677 – 1664276072
[Log] timeupdate – 3394.8134785423435 – 1664276072
Comment 1 Radar WebKit Bug Importer 2022-09-30 09:09:05 PDT
<rdar://problem/100624800>