Commit Graph

32 Commits

Author SHA1 Message Date
Jacob Trimble b452db8986 Add offline storage to v2 upgrade guide.
Change-Id: I47e947bd9247013351ec1505ee577f76a8c80e94
2017-02-03 22:51:33 +00:00
Jacob Trimble 79ea0f0854 Update documentation for Tracks.
Closes #679

Change-Id: I7a7fa6534f328a79fdce2b7b8cd6cd60fec210fc
2017-02-03 22:50:49 +00:00
Joey Parrish 8ba088a38f Generate externs automatically
We were not able to get our externs generated by the Closure compiler.
There were many issues with the Closure-generated externs, including
the order of the externs and the replacement of record types and enums
with their underlying types.

We made a few attempts to patch the compiler, but could not get our
patches accepted upstream.

This change introduces a new script to generate our externs from
scratch.  It uses a JavaScript parser called 'esprima'.

Some interfaces need to be exported to the generated externs, but are
not actually attached to the namespace by the compiler.  For this, we
introduce a new annotation.  These are the currently-supported export
annotations:

 - @export: truly exported (attached to namespace) by the compiler
 - @expose: truly exposed (not renamed) by the compiler
 - @exportDoc: considered part of the exports in the docs
 - @exportInterface: considered part of the exports in generated externs

These annotations are now documented in docs/design/export.md

Change-Id: I33bf7384889c14c9edb0fa5f11caa7c4f4d79af6
2017-02-01 11:42:16 -08:00
Jacob Trimble 3f4eb4a111 Add additional docs for AbrManager.
Issue #629

Change-Id: I9548c24078e07537ae4c1e6f28461c992f5f794e
2017-01-27 23:19:13 +00:00
Joey Parrish 43e086dbaf Update the debugging tutorial for clarity
This updates the debugging tutorial to clarify a few things:
 - Formatting in the sample console output is not exact
 - Log level should be set in the top of initApp() before we construct
   the Player object
 - Verbose messages are only seen after we change the log level and
   reload

Closes #653

Change-Id: Id0d7dabff225c3d82a9c54c05bb356a0bfa9b241
2017-01-20 10:28:34 -08:00
Joey Parrish 3aea360b30 Partial revert of 43958d43
In the tutorial, I mentioned clicking the error.  That is a feature of
the demo app and does not apply in context.

This reverts the tutorial part of Change-Id
I988a40c882adf7c3c9da856e7c850649efecadcf

Change-Id: I782a5ebc2fc7bf744e2cb67890aae28a7817029a
2016-11-15 08:21:47 -08:00
Joey Parrish 43958d434c Link to error docs from the demo app
When an error is shown by the demo app, that error is now a link to
the docs for that specific error code.

Also updates the debugging tutorial to mention that this is clickable.

Closes #553

Change-Id: I988a40c882adf7c3c9da856e7c850649efecadcf
2016-11-14 23:57:57 +00:00
Joey Parrish be04b92637 Add a note that file:/// URLs will not work
Closes #543

Change-Id: I17821c780717eb53ede6653cf9645ffda923df7c
2016-11-14 11:46:30 -08:00
Joey Parrish 1d9e574afa Reduce the default buffering goal
Since we no longer clear ahead of the playhead, the only way to assure
responsive visual upgrade is not to buffer too far ahead.  Therefore
our new default buffering goal is 10 seconds instead of 30 seconds.

Manual testing using Chrome's network throttling feature has shown
no increase in buffering rates, so 10 seconds seems to be enough for
stable connections.

For situations in which 10 seconds is not enough, the bufferingGoal
setting can still be customized by the application.

Closes #520

Change-Id: I248c1c93dd4cdd037e6e3ca12bb207ba54845836
2016-10-25 23:10:08 +00:00
Toshihiro Suzuki d4cb98186c Small Refinements on Documentation (#536)
* Add tutorial tag to shakaExtern.RetryParameters

Properties like `backoffFactor` or `fuzzFactor` is a little difficult to
understand for new users.  Link to the tutorial to explain.

* Additional Description to Sample Code

Explains why request.uris is an array.
2016-09-29 07:39:41 -07:00
Joey Parrish 2673f44926 Update config examples and defaults
Change-Id: Id8f4bf5a4dfa394508ce169eed98262f11a51d7d
2016-09-26 18:56:24 +00:00
Joey Parrish 2567d07576 Rewrite the debugging tutorial
This should be less awkward and artificial, and focuses more on the
debugging tools available than trying to solve a fictional problem.

Change-Id: Idc451115b777cea3ba84f68d489fe817f8bf0350
2016-09-26 11:06:19 -07:00
Joey Parrish 0c8f74493c v2 Chromecast support
This introduces Chromecast support directly in the v2 library, as well
as in the demo app.

See the included design doc for details.

Issue #261

Change-Id: I26a707e7fa6bd829c3ebc70e4c9345ec25eed000
2016-07-06 11:47:04 -07:00
Joey Parrish 63e793bdad Design doc for offline
Issue #343

Change-Id: I8c2ff4b2dd1777f28b1dd427527c83576ca8fcbc
2016-06-10 17:13:22 +00:00
Jacob Trimble 25dfa41b7a Fix basic tutorial WRT support testing.
Issue #399
Issue #402

Change-Id: I930377252a5e7fbce84db76c40a6f3607e3f24a5
2016-06-06 16:49:48 +00:00
Jacob Trimble a9492427e1 Update upgrade docs to include track restrictions.
Closes #387

Change-Id: I52a20a9a4aeb87c54d592e1ae1968f84ee012107
2016-06-02 23:52:36 +00:00
Jacob Trimble 5102f54120 Make Player.support synchronous and add support plugin system.
Now there is a new synchronous method Player.isBrowserSupported.  This
will detect basic support and return a boolean.  The support() method
has been renamed to probeSupport() and should only be used for
diagnostics.

Also added a plugin system to Player support testing.  Now a plugin
(e.g. offline) can add extra info to the output of probeSupport().

Closes #388
Closes #389

Change-Id: I313a41d9f123871272f1395aeb99c980df1f4bae
2016-06-02 21:57:38 +00:00
Joey Parrish 5384423fea Add new logo
Change-Id: I6d0bb6eb967f6807a551465607ce087002c03122
2016-05-31 21:29:39 +00:00
Joey Parrish 20ddb8a130 License-wrapping tutorial
Change-Id: I62d81f9c0a5b46c843c753ca64bdfc7d3f10b6a0
2016-05-13 07:47:04 +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
Joey Parrish c29fdf401b Shaka v2 Upgrade Guide
Also fixes docs export on some of our external structures.

Change-Id: Ia31f2ad46c6f07845c289c6ca2f206a6fd6cf341
2016-04-13 21:15:40 +00:00
Joey Parrish 1208ab58f0 Update design docs for v2
Change-Id: I3d3fe5c86d6223a10fc69f8e3cd3692b00967ea4
2016-04-07 14:02:47 -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
Timothy Drews 415414154d Remove the receipt buffer from StreamingEngine.
The receipt buffer mechanism allowed us use byte-based
eviction; however, it increased the complexity of StreamingEngine
and required us to make strict assumptions about the manifest.

With the receipt buffer gone, we will now do time-based eviction.
Applications can specify a maximum "buffer tail" length instead of a
maximum byte limit.

Change-Id: Iafdbe2e71516ea0ae18254b9767ecfc1d6813644
2016-03-17 22:33:24 +00:00
Joey Parrish acad020d77 Sketch the rest of Player APIs
Lots of TODOs to be filled in.

Change-Id: I571bba91526f334d4bbd89a71974e74f5e499592
2016-03-11 20:04:26 +00:00
Joey Parrish cd2d25cbb2 Convert TextSourceBuffer to TextEngine
This changes the text APIs to correctly handle buffered ranges of
segmented text.

b/25517444

Related to issue #150

Change-Id: I3a11b87e8d93376a5012566deb3bf0d015f52391
2016-02-17 00:19:49 +00:00
Joey Parrish 1a8f873f27 Update design docs
Change-Id: I787b418f203fbbc3279b4a6584673b8181e5a898
2016-01-16 00:50:53 +00:00
Joey Parrish 58003ff9d6 Overhaul build and docs layout
* Move redesign docs to docs/design/
* Put all build output (including closure deps) in dist/
* Restore doc-building scripts
* Fix small doc error in MPD utils

Change-Id: I930f4f976370885b3c3c37c59f1ae7fcc5522413
2016-01-04 12:33:10 -08:00
Joey Parrish 03df140fb8 https://goo.gl/RvMyq4 2015-11-25 12:14:04 -08: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