Commit Graph

15 Commits

Author SHA1 Message Date
Joey Parrish 4e69e00b67 Fix CENC car MPD for IE & Firefox
The manifest didn't declare an XML namespace.  Firefox and IE are
very strict about this, whereas Chrome is not.

Change-Id: I96fd44bb2debb974d7587603732965982681eadd
2015-09-09 19:59:24 +00:00
Joey Parrish 4cc4e96dbd Overhaul license comments and file annotations
* Updates all Copyright years to 2015.
* Adds licenses annotations to all JS.
* Makes all licenses identical to avoid repeated appearance in the
  compiled output.
* Drops fileoverview annotations, which do not affect docs output.
* The linter still requires fileoverview on externs.

This patch required a newer closure compiler, since the previous
version we used had a bug regarding license annotations that caused
the license comment block to appear in the output once per file
regardless of uniqueness.

Change-Id: I2e9272db680cba7ecc4613d97f1d3a94ac2244cc
2015-09-08 12:02:34 -07:00
Joey Parrish 4d9177240a Revert "Adding license annotation to js files."
This reverts commit 8cb24652cb, due to
the fact that the new annotations caused our binary size to jump
by 52%.

The compiler preserves all 'unique' licenses, which causes trouble
since the comment blocks with the license annotations are not unique
and contain file overview comments as well.

We can re-examine this once we have restructured the license headers.

Change-Id: I418e407a0e0253630633697f30cf496a7fc2ddfc
2015-09-04 18:36:39 -07:00
Yohann Connell 8cb24652cb Adding license annotation to js files.
Change-Id: Id10592ccaf35608ac4f01844cae2fec4a2030d65
2015-09-04 00:05:17 +00:00
Jacob Trimble 899c322995 Added support for multiple BaseURL elements.
Added a new class called FailoverUri which handles multiple URLs and
switches to others when one fails.  This is also handles the request
itself.  This replaces SegmentMetadata as well as a number of manual
requests.

The MPD parser now produces arrays of URIs rather than just one.  The
MPD Processor then converts it to a FailoverUri inside the manifest.

Added unit tests to test the new functionality and updated the old ones
to the new changes.

This does not support failover on subtitles since subtitles are handled
by the browser.

Closes #68

Change-Id: I5410104827b9e4102b243444b1b5a3f01dcaf10d
2015-08-10 16:01:06 -07:00
Jacob Trimble 950b17354c addExternalCaptions can now be called more than once.
Multiple calls to DashVideoSource.addExternalCaptions will each
add a caption source to the object.  Added unit and integration
tests for this.

Change-Id: I387d285b5d11aa345b3abefab05d633194863030
2015-07-30 14:55:35 -07:00
Jacob Trimble 320a9ec9f5 Added addExternalCaptions method to DashVideoSource.
This allows an app to specify an external caption source so the captions
can come from a different source than the MPD.  The method should be
called before the call to load().

Closes #133

Change-Id: I0686fd800e0fe3a73d89a71e2f374dffef905dba
2015-07-28 16:57:36 -07:00
Timothy Drews ebb9aa6420 Parse 'group' attributes. Issue #67
Change-Id: Iaa07ff56c59e030270b52856d8822bea21a3aa6c
2015-07-14 20:19:56 +00:00
Timothy Drews 4d96b30ba5 Use @startNumber as specified in new MPD spec.
Reflect modifications made in ISO/IEC 23009-1:2014/Cor 1:2015:
allow @startNumber to be 0 and compute the $Time$ placeholder using
the segment number relative to the start of the Period.

Closes #10

Change-Id: I4a9b0e4e3593c01e2e8d42a74572e78b9fba50d9
2015-06-26 18:46:37 +00:00
Timothy Drews e8cabb6029 Use the Location element for MPD updates.
Closes #65

Change-Id: I92790ba3502cde5899085f02c6a80a48ba093ee2
2015-06-24 00:59:36 +00:00
Timothy Drews 4a5738d881 Support years and months in xs:duration strings.
Assume a year is 365 days and a month is 30 days. Supporting years and
months is useful as some MPDs that describe live content specify
@minimumUpdatePeriod in terms of years; here, an accurate number of
seconds is not needed, but the duration string should not be treated as
invalid.

Change-Id: Ic4ea26f5a7572711e047c237dced33d80a698840
2015-03-06 13:25:12 -08:00
Timothy Drews 27ed78203a Merge Segment{Base, List, Template} across levels.
* Instead of overriding SegmentBase, SegmentList, etc. between
  levels (e.g., from Period to AdaptationSet) merge them, but
  prefer elements and attributes from inner levels.
* Refactor MPD parsing unit tests into separate files.
* Rewrite SegmentBase unit tests, add SegmentList, and
  SegmentTemplate unit tests.

Change-Id: I3fdb7657bb9f468e10f63e47e9a52fbf8ebbd40b
2015-03-05 01:20:07 +00:00
Timothy Drews b244def2f4 Fix-up startNumber behavior.
* Revert 5c7fca90b6, which intended
  to allow startNumber to be 0, and maintain the previous behavior,
  which requires startNumber to begin at 1 (this appears to be in-line
  with the MPD spec).
* Correctly compute the $Time$ placeholder.
* Rename firstSegmentNumber to startNumber to clarify code.

Closes #10

Change-Id: I9b565edc9e23b9ad7c6bc62829d6b0ab565008a4
2015-02-13 18:45:59 +00:00
Joey Parrish d4df6987e7 Shaka Player release v1.1 2015-01-15 15:12:58 -08:00
Joey Parrish b3d035be9f Shaka Player release v1.0 2014-12-19 14:26:19 -08:00