These issues were identified by an upcoming release of the compiler
and must be fixed before we can upgrade.
Change-Id: I8cf3af90b930f2adfa9760299fe69f1892614bf2
This fixes the definition of start time to exclude the rebuffering
goal. It also gives us a more conservative default presentation delay.
Content providers should always strive to provide a presentation delay
for their live streams.
Closes#504
Change-Id: I5a373666f4e325cc056ab2336d236b207430bde6
DASH parser used to assume representation can only have one role.
However that's not true in case of text representations that can
have both role=main and role=caption/subtitle.
Closes#500
Change-Id: I1b6a494347a0b86211b6982416e444c020b1eeb0
This change creates a new model which divides DASH streams into VOD,
IPR, and live. It is possible to create manifests which do not fit
into any of the three categories according to our model, so we now
assert that our input fits cleanly into one of the three.
Inline manifests used in our tests had to be updated to conform to
the new model. All external test assets have been verified to fit
into these categories.
This is phase 1 of IPR support. There should be no behavior change
in this CL.
In phase 2, we will make various other parts of the library aware of
IPR so that IPR-specific behaviors can be achieved.
Issue #477
Change-Id: I395d3a0c8c9825a3cd2efde263b8493ce0920ed9
Forcing the use of the Promise polyfill allows us to remove the hacky
parts of fakeEventLoop and gives a huge boost in speed for the tests
that use it, particularly on Edge where the delays were large. Many
fakeEventLoop tests can now run synchronously.
Time to run tests in our lab before this change:
- Edge: 21 minutes
- Safari: 6 minutes
- Chrome, Firefox, Opera, IE: 6-7 minutes
Time to run tests in our lab after this change:
- All browsers: 5-6 minutes
This also reduces the incidence of Safari failures in our lab, but
that issue does not reproduce on other machines. It looks
increasingly likely that our lab machine is faulty and needs to be
replaced.
Change-Id: I7bdcc6830c8fdf298538ce6538b1ca8e1b92cab2
presentationTimeline.getSegmentAvailabilityStart() yields a start time
relative to the AST, but all of the reference start/end times are relative
to their PTO. We need to normalize the start time to the period before
we evict any segments.
All tests now have the same timeout value. This should simplify the
process of addressing timeouts on Safari.
Change-Id: I3b455bd639758007ec8b2b86ef236c56e919c15a
Added version and flag bytes to the test code.
Added the code to skip version and flag bytes when
parsing an EMSG box.
Closes#259.
Change-Id: Iac94785f747ec6ffb640c5b4f803e68e0c7b27cb
Look for EMSG boxes in segments if the manifest signals their presence.
Update the manifest when a DASH EMSG box is encountered.
Dispatch an event with the content of the box for all other EMSG boxes.
Closes#259
Change-Id: I874121207c2419e756980ac858fba0d56e68e07e