Determining if hls/dash stream is live
I need to be able to play streams (hls and dash) without knowing if they are live or vod, and set the start time accordingly. So far, I've tried just setting `playStart=-1` but the results are all over the place. Most live streams do start at the edge, but some fail with `buffer:search:demux.dash:Cannot seek to video at <timestamp>/<framerate>: error -36`. For vod, most play the last segment and stop as expected, although some do actually still start from the beginning despite the -1.
I see from the query/media-player ECP endpoint that there is indeed an `is_live` attribute that's exactly what I need, but I can't find this in any of the Video node fields. Loopback ECP access is not allowed so I can't simply use this.
Or a way to peek at the hls variant manifest to check for `#EXT-X-ENDLIST`. I do see that `manifestData` is available for dash, but of course manual parsing seems heavy handed.
The current goal is to load the video in a prebuffered state to be able to determine liveness, and then seek accordingly and start playback, similar to the solution discussed here: https://community.roku.com/t5/Roku-Developer-Program/Start-live-channel-with-timeshift-at-live-position/m-p/667925
I am hoping that seeking to `duration` will resolve issues with that particular live dash stream and perhaps others.
Thanks
ETA: I did see in the documentation that the `pauseBuffer*` fields are only valid for live video, but it looks like they're set for vods as well.