Commit Graph

13 Commits

Author SHA1 Message Date
Sandra Lokshina 8065bd54a8 Change namespace from shakaExterns to shaka.externs
Change-Id: I16432351e2a266aa8fd175669aa27c44bfdffeae
2018-04-11 17:26:26 +00:00
Jacob Trimble bfb42c69c4 Make EME polyfills independent.
Now each EME polyfill can be removed independently; this allows
someone to remove just the IE11 polyfill while still keeping the
others.

This adds a priority ordering to the polyfills so the nop polyfill
will be run last as a fallback if there are no other polyfills.

Issue #1261

Change-Id: I865e1c0d6a73a079dd91505e96572e215e6f6c6a
2018-03-06 21:34:25 +00:00
theodab b4ca4bf51c Adds an HTTP/s scheme plugin using Fetch
This plugin is preferred over the XHR plugin, if available.
This plugin requires AbortController, which is only present on
Firefox 57 and Edge 16, so this will not be active on every platform.

This also adds a simple mock for the Fetch API for use with Jasmine.

Closes #829

Change-Id: Ifb79d29334fbfcfd175afe0706da5a3d5e452e2f
2018-02-08 23:11:53 +00:00
Joey Parrish df0d34ccf5 Add linksource tag to jsdoc
This is a customization that allows us to link to the source code of
a thing, rather than its documentation.

Redoing this in a clean way caught some bad links, which have now been
fixed.

Issue #1259

Change-Id: I4c63aa10ddad8f8f21b224668c3529c70a1c6756
2018-01-31 14:05:13 -08:00
Joey Parrish 82357486a6 Replace buggy Promise polyfill
A bug in our Promise polyfill caused issues with the recently-added
AbortableOperation class on IE11.  Since external polyfills for this
are smaller, it is easier to remove ours in favor of a third-party
polyfill.  Applications that wish to support IE11 must now load this
additional polyfill.

We are using the "es6-promise-polyfill" module from npm, but any
compliant polyfill should suffice.

One feature our own polyfill offered was the ability to flush all
Promises, which allowed us to write synchronous unit tests that
simulated async processes.  To get this ability back, we are now
using the "promise-mock" module in our tests.

Getting "promise-mock" to load correctly involved switching from
"requirejs" to "cajon", which builds on requirejs and supports
AMD modules more directly.

Closes #1260

Change-Id: I5de48e88a910736ae5c1897a7a509bc5641acb70
2018-01-30 23:10:04 +00:00
Joey Parrish 3f65d1c8a7 Update plugin tutorial
Issue #1183

Change-Id: If7024cbfabb7d85299162cb6488b5f44ed07febd
2017-12-20 03:02:52 +00:00
Joey Parrish 37753aaa9a Update docs with regard to text namespace
We moved TextEngine to a new namespace between v2.1 and v2.2, but
forgot to update the relevant docs.

Closes #1046

Change-Id: Ifddbe03931b2e76cc4778aaa4c3c70695a2dce62
2017-10-03 20:48:41 +00:00
Sandra Lokshina 978e49789e Update upgrade guides with v2.2 changes.
Closes #930.

Change-Id: Ie31f6f1e90df6dd4a768f7a662d68e31d6014bea
2017-07-25 20:23:52 +00:00
Joey Parrish 677dc1c7e8 Tutorial cleanup
Add a note that language configs affect the next load.

Change the example in build customization to one that works.

Change-Id: I3baa962fdb0d31c57c195385c9ab9da309fe9c29
2017-04-25 17:43:31 +00:00
Joey Parrish 395cc1745e Update the upgrade guides for v2.1
Also changes the jsdoc template for tutorials with children, to give
the tutorial content itself control over how the links to children are
formatted.

Also fixes annotations for the TextParser interface.

Change-Id: I99502f38bf711b74a596ad804d8abdddee5d6f4d
2017-04-20 23:39:27 +00:00
Joey Parrish 04d3df3ae8 Apply feedback from doc review
- Add prereqs section
  - Add architecture diagrams
  - Adjust doc margins
  - Change some wording and fix typos
  - Convert alert() to console.error() in basic usage tutorial
  - Expand prose in debugging tutorial
  - Add comments about asynchronous methods
  - Expand description of Closure base
  - Change some links to source rather than API docs
  - Clarify some vague language
  - Refactor some of the plugin text

Modified jsdoc to add a new 'linksource' tag to link directly to the
source code for an entity.

Change-Id: I6b879050fc59917ce98954a4fabd8afca60af456
2016-04-13 17:12:32 -07:00
Jacob Trimble 3bdfc7dfa1 Make default bandwidth estimate configurable.
Now, the default bandwidth estimate used is configurable and can be
set using Player.configure.

This also moves enableAdaptation and abrManager configuration values
to a subcategory 'abr'.

Closes #268

Change-Id: I11ab30452b20dc4fd9385210811185fe2969821e
2016-04-06 23:28:52 +00:00
Joey Parrish c8e80cb58d Tutorials and other doc revisions
- Update tutorial link in README
 - Fix python version in README
 - Move jsdoc conf to docs/ folder
 - Add API docs main page
 - Change style of inline code blocks
 - Don't repeat tutorial title in jsdoc template
   - (makes it easier to read tutorials on github as MD)
 - Add tutorials for:
   - Welcome to Shaka
   - Basic Usage
   - Debugging
   - Configuration
   - Networking and Buffering Configuration
   - DRM Configuration
   - License Server Authentication
   - Plugins
 - Tutorials still to come:
   - License Headers and Track Restrictions
   - Special Considerations for Live
   - v2 Upgrade Guide

Change-Id: I16401c216cf4023d9097750ac7f6090c68bf3c9b
2016-04-06 19:17:51 +00:00