Commit Graph

24 Commits

Author SHA1 Message Date
Joey Parrish 4d5e668583 Expand player stats and track metadata
Visible changes:
 - Add loadLatency stat
 - Add mimeType to tracks
 - Track state changes (buffering, playing, paused, ended)

Internal changes:
 - Track switchHistory, playTime, bufferingTime in private Stats struct
 - Remove dead timer code

Change-Id: I4566373251b9876b0d4f762a9d77aa50aea8ed00
2017-01-20 22:54:05 +00:00
Jacob Trimble 1749bb6626 Output enum values in jsdoc.
Now the generated documentation will include the values of enums, not
just the names.  This also adds documentation for shaka.log.

Closes #337

Change-Id: Ie45a5f5df8d173e5a4ba08a1807d918c22d5497c
2016-04-19 13:26:52 -07:00
Joey Parrish bda33cc9b6 Demo app v2
Still missing custom controls for live, but otherwise functional.

UI design and CSS based on work by Sam Dutton.

Change-Id: I0ee41254fb3b145822b018dff87aa583d6bef179
2016-03-30 00:36:32 +00:00
Jacob Trimble 19973d63f4 Changed copyright headers from 2015 to 2016.
Change-Id: I429ff27e4794c03b7ea392e38415075077f9bfb1
2016-03-15 16:32:13 -07:00
Jacob Trimble 8daf53e329 Renamed shaka.asserts to goog.asserts.
Using goog.asserts will work with the compiler.  So rather than
simply casting a nullable value when passing to a method, we can use
an assert which will correct the type and print a log if it somehow
is null.

This is not the same goog.asserts found in closure library, this
simply calls console.assert, but it is not required to do anything
for the compiler help.

Change-Id: I2548e39e772f0aa7ec41437cf9f5a2be383e0fbd
2016-03-11 15:29:20 -08:00
Jacob Trimble 846e7beb48 Unified comment spacing.
Before there were two style to indent comments after an annotation,
using 2 and 4 spaces.  Now this only uses 2 spaces.

Change-Id: Id06415d7193cc154a2768fb3932aff7a06b7ed32
2016-03-10 16:27:45 -08:00
Joey Parrish a306f6ffd6 Fix default log level in uncompiled build
Change-Id: I063761f8d3b86a4305588f00d6216a37ed11fa5b
2016-02-11 16:40:02 -08:00
Joey Parrish 3bb8f06b7d Require assertion messages
This will enforce messages on assertions, which should make console
logs more useful.

Change-Id: I2cff9e20f630d1d4d46192e2ee317b1942cc7188
2016-01-08 13:29:56 -08:00
Joey Parrish 3e7014db2b Fix library load and polyfill for old browsers
This will allow support-testing to work on older browsers so that
application developers can still load the library and query for
support to show an appropriate error message.

To accomplish this, we avoid load-time uses of Function.bind, avoid
certain polyfills if modern types are not available, and compile down
to ES3 to avoid errors caused by use of the reserved word "catch" on
Promises.

This has been tested back to IE6, Safari 5.1, iOS 6.0, Firefox 6,
Chrome 15, and Opera 16.

Change-Id: I9deed106a7736758e04452ef85bae40f37c6fe62
2015-12-10 10:49:45 -08: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
Joey Parrish 0089fdb594 Update the Closure Compiler
* Update compiler to v20150609.
* Since v20150315:
  * Promise.prototype.catch externs now provided by compiler.
  * Iterator externs now provided by compiler.
  * Variadic function syntax has changed.
* Since v20150505:
  * BufferSource extern now provided by compiler.
* Since v20150609:
  * VideoPlaybackQuality extern now provided by compiler.

b/21559591

Change-Id: Ie7d030422e132879e28b1bdf538991a27ebc25df
2015-07-14 03:30:34 +00:00
Thomas Stephens 0f914cf953 Removing unnecessary @type annotation 2015-06-26 10:23:10 -05:00
Thomas Stephens 2c7196ca07 Removing unnecessary @type annotation 2015-06-26 09:13:54 -05:00
Thomas Stephens 5abe5b59df Adding missing docs and type annotations 2015-06-25 09:23:20 -05:00
Thomas Stephens 6a235a107e Code review comments 2015-06-24 22:08:14 -05:00
Thomas Stephens 4e14ff8a6f Code review comments 2015-06-19 11:27:18 -05:00
Thomas Stephens b0a8017866 Style fixes 2015-06-19 09:50:12 -05:00
Thomas Stephens 2ed347862e Patching console.assert when it does not exist, or when bind is not implemented on it (IE 9 with F12 Developer Tools open) 2015-06-18 16:47:29 -05:00
Thomas Stephens ec623c6d38 Patching console logging functions when they do not exist, or when bind is not implemented on them (IE 9 with F12 Developer Tools open) 2015-06-18 16:47:09 -05:00
Thomas Stephens b1baaaf33c IE 9 has window.performance, but not window.performance.now, so explicitly checking for it 2015-06-18 16:18:19 -05:00
Joey Parrish fa931883f7 Minor clean-up in Stream.
Use Stream.BUFFER_SIZE_SECONDS_ on startup.
Improved the way adaptation latency is measured.
Avoid calling abort() twice during adaptation.
Reduce the size of the Promise chain slightly.
Merge the SPLICING state into SWITCHING.

Change-Id: Ie06e6c56df4df17e7acb379d0e19f639f791c99b
2015-04-09 18:52:05 +00:00
Joey Parrish b3d035be9f Shaka Player release v1.0 2014-12-19 14:26:19 -08:00