Commit Graph

165 Commits

Author SHA1 Message Date
Joey Parrish ddfb30a281 Ignore trick mode tracks
Issue #538

Change-Id: I47393ccdc189cf55b90e3a8e4239541e817618f9
2016-10-07 10:39:55 -07:00
Joey Parrish 54dfe329b8 Fix missing semicolons and missing dependencies
These issues were identified by an upcoming release of the compiler
and must be fixed before we can upgrade.

Change-Id: I8cf3af90b930f2adfa9760299fe69f1892614bf2
2016-09-30 16:54:53 +00:00
Sandra Lokshina 4f8dd3bf82 Fix extra-precision in dash parser and player tests.
A follow up on 0f8aadc.

Change-Id: I3bf82f386eaf4f2bd9288e532370577f7c3a7ea7
2016-09-28 22:15:11 +00:00
Jonas Birmé a060050564 Provide framerate and codecs information on video tracks (#533)
Closes #516
2016-09-28 14:13:54 -07:00
Joey Parrish 5389501197 Improve live edge startup
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
2016-09-03 10:48:03 -07:00
Sandra Lokshina 925338f2b7 Add support for multiple roles to DASH parser.
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
2016-08-29 21:34:16 +00:00
Joey Parrish eafe954d0c Replace Number.POSITIVE_INFINITY with Infinity
This is supported on all browsers, is more compact, and is easier to
read.

Change-Id: I96576dc341e093b7be9ef94fe36595c945b063c1
2016-08-29 18:56:54 +00:00
Joey Parrish c7e73e0115 In-progress recording (IPR) support, phase 1
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
2016-08-29 11:09:45 -07:00
Joey Parrish 1ba2ebb23e Simplify and speed up fakeEventLoop with polyfill
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
2016-08-18 19:51:48 +00:00
baconz 651b3fb68d Do not prematurely evict segments from multi-period manifests (#483)
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.
2016-08-16 12:44:17 -07:00
Joey Parrish d0908fe743 Raise the async test timeout to 120s
All tests now have the same timeout value.  This should simplify the
process of addressing timeouts on Safari.

Change-Id: I3b455bd639758007ec8b2b86ef236c56e919c15a
2016-08-11 10:54:49 -07:00
Sandra Lokshina f5f4473b3e Account for flags and version when parsing an EMSG box.
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
2016-08-09 16:57:11 +00:00
Sandra Lokshina f1a4e25151 Add support for EMSG box.
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
2016-08-01 14:32:23 -07:00
Andy Hochhaus 3023377d84 Remove extraneous semicolons 2016-07-23 14:41:14 -07:00
Leandro Moreira a8c44da4b1 restructures test files 2016-07-01 09:53:30 -03:00