When replaying a VOD of a former live stream additionally to exposing the
timestamp in the
timeChanged event, we would also like to get an (optional)
datetime timestamp based on the presence of #EXT-X-PROGRAM-DATE-TIME in the HLS manifest, returning the wall clock time of the stream when it aired initially.
At the moment, there is no clean way of retrieving the original time of broadcast for a live streamed video, which we would need as we are syncing an overlay with information based on when they happened.
E.g. for a football match a goal happened at wallclock time 20:00 UTC - we want to then show an UI to the user letting them know at 20:00 UTC, which works when the player is still in live mode as the
time in the
timeChanged event is returning the absolute time based on #EXT-X-PROGRAM-DATE-TIME.
However, the recording is then in VOD mode, which means the time returns a relative value (e.g. 100 seconds from the beginning of the video). Using
getCurrentTime(TimeMode.absolute) also only returns a relative time
We are aware of the
SegmentPlayback event, which does actually return this value, however it is not the cleanest way to retrieve this data as:
- You have to use the
tweaks.native_hls_parsingsettings for Safari - which has other disadvantages
SegmentPlaybackevent is only returning the
dateTimeon every few events, which means we have to store away the old value until it gets overridden with a new one plus with 6 seconds of segment length it’s not ideal