shaka-player 4.0.2 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/AUTHORS +1 -0
  2. package/CHANGELOG.md +36 -16
  3. package/CONTRIBUTORS +2 -0
  4. package/build/test.py +1 -1
  5. package/demo/common/assets.js +1 -1
  6. package/demo/common/message_ids.js +1 -0
  7. package/demo/config.js +3 -1
  8. package/demo/locales/en.json +1 -0
  9. package/demo/locales/source.json +4 -0
  10. package/demo/main.js +3 -3
  11. package/dist/demo.compiled.debug.js +7 -7
  12. package/dist/demo.compiled.debug.map +2 -2
  13. package/dist/demo.compiled.js +7 -7
  14. package/dist/demo.compiled.map +2 -2
  15. package/dist/deps.js +2 -2
  16. package/dist/locales.js +30 -30
  17. package/dist/receiver.compiled.debug.js +3 -3
  18. package/dist/receiver.compiled.debug.map +2 -2
  19. package/dist/receiver.compiled.js +3 -3
  20. package/dist/receiver.compiled.map +2 -2
  21. package/dist/shaka-player.compiled.d.ts +14 -8
  22. package/dist/shaka-player.compiled.debug.d.ts +14 -8
  23. package/dist/shaka-player.compiled.debug.externs.js +13 -4
  24. package/dist/shaka-player.compiled.debug.js +296 -282
  25. package/dist/shaka-player.compiled.debug.map +4 -4
  26. package/dist/shaka-player.compiled.externs.js +13 -4
  27. package/dist/shaka-player.compiled.js +781 -773
  28. package/dist/shaka-player.compiled.map +4 -4
  29. package/dist/shaka-player.ui.d.ts +15 -9
  30. package/dist/shaka-player.ui.debug.d.ts +15 -9
  31. package/dist/shaka-player.ui.debug.externs.js +13 -4
  32. package/dist/shaka-player.ui.debug.js +345 -326
  33. package/dist/shaka-player.ui.debug.map +4 -4
  34. package/dist/shaka-player.ui.externs.js +13 -4
  35. package/dist/shaka-player.ui.js +955 -949
  36. package/dist/shaka-player.ui.map +4 -4
  37. package/docs/design/chromecast.md +3 -1
  38. package/docs/tutorials/drm-config.md +16 -0
  39. package/docs/tutorials/ui.md +26 -0
  40. package/externs/chromecast.js +9 -2
  41. package/externs/shaka/manifest.js +7 -0
  42. package/externs/shaka/player.js +25 -4
  43. package/externs/shaka/text.js +7 -0
  44. package/lib/cast/cast_proxy.js +19 -8
  45. package/lib/cast/cast_receiver.js +3 -3
  46. package/lib/cast/cast_sender.js +12 -2
  47. package/lib/hls/hls_parser.js +189 -69
  48. package/lib/media/drm_engine.js +17 -8
  49. package/lib/media/gap_jumping_controller.js +23 -1
  50. package/lib/media/playhead.js +47 -4
  51. package/lib/media/segment_index.js +26 -1
  52. package/lib/media/segment_reference.js +10 -3
  53. package/lib/media/stall_detector.js +19 -2
  54. package/lib/media/streaming_engine.js +9 -2
  55. package/lib/offline/manifest_converter.js +1 -0
  56. package/lib/player.js +175 -69
  57. package/lib/text/cue.js +6 -0
  58. package/lib/text/ui_text_displayer.js +1 -0
  59. package/lib/text/vtt_text_parser.js +4 -0
  60. package/lib/util/error.js +6 -0
  61. package/lib/util/fake_event.js +39 -0
  62. package/lib/util/player_configuration.js +2 -0
  63. package/lib/util/stats.js +28 -1
  64. package/lib/util/stream_utils.js +8 -0
  65. package/package.json +2 -2
  66. package/test/cast/cast_proxy_unit.js +3 -1
  67. package/test/cast/cast_sender_unit.js +21 -6
  68. package/test/demo/demo_unit.js +2 -1
  69. package/test/hls/hls_parser_unit.js +102 -8
  70. package/test/media/adaptation_set_unit.js +1 -0
  71. package/test/media/playhead_unit.js +114 -25
  72. package/test/media/stall_detector_unit.js +20 -2
  73. package/test/media/streaming_engine_integration.js +2 -1
  74. package/test/media/streaming_engine_unit.js +1 -0
  75. package/test/player_integration.js +3 -0
  76. package/test/player_unit.js +142 -1
  77. package/test/test/util/manifest_generator.js +2 -0
  78. package/test/test/util/simple_fakes.js +14 -0
  79. package/test/test/util/streaming_engine_util.js +1 -0
  80. package/test/text/vtt_text_parser_unit.js +4 -0
  81. package/test/ui/ui_unit.js +18 -5
  82. package/test/util/stream_utils_unit.js +108 -0
  83. package/ui/controls.js +12 -8
  84. package/ui/externs/ui.js +10 -1
  85. package/ui/statistics_button.js +10 -0
  86. package/ui/ui.js +12 -1
@@ -126,6 +126,10 @@ shaka.text.Cue.prototype.backgroundImage;
126
126
  * @override
127
127
  */
128
128
  shaka.text.Cue.prototype.border;
129
+ /**
130
+ * @override
131
+ */
132
+ shaka.text.Cue.prototype.textShadow;
129
133
  /**
130
134
  * @override
131
135
  */
@@ -533,6 +537,7 @@ shaka.util.Error.Code = {
533
537
  'MALFORMED_TEST_URI': 1008,
534
538
  'UNEXPECTED_TEST_REQUEST': 1009,
535
539
  'ATTEMPTS_EXHAUSTED': 1010,
540
+ 'SEGMENT_MISSING': 1011,
536
541
  'INVALID_TEXT_HEADER': 2000,
537
542
  'INVALID_TEXT_CUE': 2001,
538
543
  'UNABLE_TO_DETECT_ENCODING': 2003,
@@ -1691,8 +1696,9 @@ shaka.media.SegmentReference = class {
1691
1696
  * If not provided, the duration should be automatically calculated based on
1692
1697
  * the duration of the reference.
1693
1698
  * @param {?number=} syncTime
1694
- * A time value, expressed in the same scale as the start and end time, which
1695
- * is used to synchronize between streams.
1699
+ * A time value, expressed in seconds since 1970, which is used to
1700
+ * synchronize between streams. Both produced and consumed by the HLS
1701
+ * parser. Other components should not need this value.
1696
1702
  * @param {shaka.media.SegmentReference.Status=} status
1697
1703
  * The segment status is used to indicate that a segment does not exist or is
1698
1704
  * not available.
@@ -3194,8 +3200,10 @@ shaka.cast.CastProxy = class extends shaka.util.FakeEventTarget {
3194
3200
  * @param {string} receiverAppId The ID of the cast receiver application.
3195
3201
  * If blank, casting will not be available, but the proxy will still
3196
3202
  * function otherwise.
3203
+ * @param {boolean} androidReceiverCompatible Indicates if the app is
3204
+ * compatible with an Android Receiver.
3197
3205
  */
3198
- constructor(video, player, receiverAppId) {}
3206
+ constructor(video, player, receiverAppId, androidReceiverCompatible) {}
3199
3207
  /**
3200
3208
  * Destroys the proxy and the underlying local Player.
3201
3209
  * @param {boolean=} forceDisconnect If true, force the receiver app to shut
@@ -3250,8 +3258,9 @@ shaka.cast.CastProxy = class extends shaka.util.FakeEventTarget {
3250
3258
  forceDisconnect() {}
3251
3259
  /**
3252
3260
  * @param {string} newAppId
3261
+ * @param {boolean=} newCastAndroidReceiver
3253
3262
  */
3254
- changeReceiverId(newAppId) {}
3263
+ changeReceiverId(newAppId, newCastAndroidReceiver) {}
3255
3264
  };
3256
3265
  /**
3257
3266
  * A receiver to communicate between the Chromecast-hosted player and the