livesim2 icon indicating copy to clipboard operation
livesim2 copied to clipboard

Separate ast and start URL parameters

Open tobbee opened this issue 9 months ago • 1 comments

Make it possible to set start time separate from availabilityStartTime.

start time is to be interpreted as the timeline offset for media timeline.

In addition, it should be possible to specify that the first period starts at a later time.

For the most general case, we need three URL parameters, all defined in NTP seconds (relative to epoch start 1970-01-01T00:00:00Z).

  1. start - this is the anchor point for the media timeline relative to epoch start
  2. ast (availabilityStartTime) >= start is the start and reference point for the mediaTimeliine in the MPD. It is defined relative to epoch start.
  3. fpstart (firstPeriodStart >= ast is the time that the first period starts. It should be AST when the timeShiftBufferDepth makes the current interval overlap with ast. PresentationTimeOffset values must be set so that the media.

presentationTimeOffset must be set relative to timelineStart, so it may be be non-zero even for a period starting at the availabilityStartTime. This mimics the situation where one wants to have the availabilityStartTime point to the start of a program in a live channel, but the media timeline is relative to some other time like the "timelineStart".

Constraints:

   start <= ast <= fpstart

If only start is specified (could be via relstart), ast and fpstart will automatically change to the same value.

With more values specified, unspecified values are automatically shifted to fulfil the constraints. If specified values are not compatible, an error is returned.

tobbee avatar Sep 17 '23 22:09 tobbee