This repository has been archived by the owner on Jun 6, 2024. It is now read-only.
New feature- Segment loss scenarios for main live - deployment scenario IOP 4.2 section 4.11.4.3 #76
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is for the simulation of IOP section 4.11.4.3 for the case of encoder not generating next segment.
In the implementation, up/down feature of baseurl is used to simulate the non availability of segments. Additionally new url key "segtimelineloss_1" is used to invoke the new functionality (explained below).
IOP guidelines and respective implementations are as follows
From IOP, when an encoder fails for one or more specific Representations to generate the next segment, then the DASH packager , adds emsg to the last generated segment. The MPD validity expiration is set to the duration of the current segment or smaller. (Implementation: Emsg box added to the last segment of the UP interval and the fields of emsg are as according to section 5.10.4.2 DASH standard.)
The emsg shall be added to all Representations that announce that they carry the message as an inband stream. (Implementation: InbandEventStream added in MPD for all reps)
The MPD is updated on the server such that the last generated segment is documented in the Segment timeline and no new S element is added to the timeline. (Implementation: no new S element added in the Down interval).
Only after the Representation(s) under loss resumes, a new S element is written with S@t matching the earliest presentation time of the newly generated Segment. The DASH client with it next update will resume and possibly take into account again this Representation. (Implementation: As the next UP interval begins, new S elements added).
Sample URL : livesim-dev/baseurl_u10_d20/segtimeline_1/segtimelineloss_1/testpic_2s/Manifest.mpd
Unit tests are performed and added as well.