* Further clarify DrmInfo documentation and provide basic examples for
license pre/post processing.
* Update the tutorials to use DrmInfo instead of DrmSchemeInfo.
* Use @exportDoc instead of @expose where applicable.
Issue #137
Change-Id: I9e931623a137004566123073447ccd71d8532e38
This patch reworks SegmentIndexes so that any SegmentReference they
contain is guaranteed to be available. This makes SegmentIndexes work
consistently between static content and live content (specifically
content specified using SegmentTemplate with @duration).
* Rework StreamInfo to use a ISegmentIndexSource and a ISegmentInitSource,
which construct a SegmentIndex and an intiailization segment
respectively.
* Make ManifestInfo destructible and various async operations in
StreamVideoSource safer.
* Introduce LiveSegmentIndex, which manages SegmentReference eviction.
* Introduce DynamicLiveSegmentIndex, which manages SegmentReference
eviction and generation.
* Implement improved segment availability logic for segment eviction.
* Move SegmentIndex construction from MpdProcessor to several
ISegmentIndexSource implementations.
* Use a SegmentIndex to represent subtitles to simplify Stream creation
in StreamVideoSource.
* Move manifest update code from StreamVideoSource to ManifestUpdater.
* Move PeriodInfo.duration determination in MpdProcessor to StreamVideoSource.
* Since "forced" manifest updates are no longer required for content
specified using SegmentTemplate with @duration, simplify manifest update
code in DashVideoSource.
* Make Stream continue to update even if it runs out of
SegmentReferences, this simplifies previous resync logic and makes
DynamicLiveSegmentIndex work seamlessly.
* Refactor SegmentIndex and initialization fetch code in ContentDatabase.
* Download all SegmentIndexes in the background after the initial streams
have started.
Follow up work is required to remove seek range logic from
DashVideoSource.
Change-Id: I4a908195aba632a911a6e55213fc41d41428162b
Name all tutorials in one file.
Ensure that they are displayed in the same order as they are named
in the JSON file.
Change-Id: I013bcd987e564ea9f345dd80bd1497b55296713a
This adds an example of a multi-lingual MPD, and gives some example
scenarios to better explain automatic language selection.
Change-Id: I120a6d96efa09ddab063ddd5f30bb046a3458faf
This interfered with key rotation, and was not widely used. Removing
the feature is the more general approach, and the worst that will
happen is that some applications will see more sessions than they
strictly need.
Change-Id: Ide2238433af296e729e4401711672fb17257093e
This script checks for versioning mistakes and will prevent npm
publication if any of the checks fail.
This also drops the check.sh script, which nobody was using.
Related to #30
Change-Id: Ic8e504515ac31beb7833207aa2ac463d40cfae88