Tizen 2016 throws when trying to use JSON to clone cyclic objects. To
avoid this and to remove a hack to clone objects, this replaces it with
an explicit clone implementation.
Closes#935
Change-Id: Ia057e3f6853b813dd89fe33c291b558b71534726
- cleans up config merging now that abr.manager has been removed
from the config
- uses thing.constructor == Object instead of
typeof(thing) == 'object', for better detection of anonymous
objects
- adds a default (empty) server certificate for type-checking
- treats empty certs the same as null (no cert provided)
Fixes#784
Change-Id: Ie833a1b3bf484d5f12f3ebf6d513ed51740bdc44
Treating serverCertificate as an Object and recursing causes an
exception the second time you set the serverCertificate config.
As a quick fix that can be cherry-picked for v2.1.x, do not recurse
on serverCertificate. This has the side-effect of not type-checking
the serverCertificate field on input.
A more detailed fix will be made later, for inclusion in v2.2.
Issue #784
Change-Id: I84c05ee3dd370a4b83e9ce2337d2326ec36532c2
This add the groundwork for event regions that occur while playing.
When the playhead enters (or plays through) a specified region it will
fire enter/exit events for it. They are not fired when seeking over.
Issue #462
Change-Id: I9e280796bd012ad74d0319aa2056c6f6aa28890d
Before, Player.configure would check the number of arguments for
the functions being set and reject those with an incorrect count.
However, this does not work with jasmine spies. So instead allow
it but log a warning.
Change-Id: I0f03ae9a22bf6a6e427c2a26a6f055dcaa40b3ec
This moves a bunch of code out of Player into different files. This
is needed to allow the new Storage class to have the same behavior
as Player. This also reduces the size of player.js.
This moves the following code:
* Determining the manifest parser to use.
* Period filtering.
* Application track restrictions.
* Configuration object merging.
* Choosing initial stream sets.
* Track creation.
Change-Id: I84d68d39b487447d6f8d61a145cd034a88165739