shaka-player 3.0.14 → 3.0.15

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 (82) hide show
  1. package/AUTHORS +2 -0
  2. package/CHANGELOG.md +39 -0
  3. package/CONTRIBUTORS +2 -0
  4. package/build/generateExterns.js +1 -1
  5. package/demo/common/assets.js +1 -1
  6. package/dist/controls.css +1 -1
  7. package/dist/demo.compiled.debug.js +1 -1
  8. package/dist/demo.compiled.js +1 -1
  9. package/dist/deps.js +1 -1
  10. package/dist/locales.js +34 -34
  11. package/dist/receiver.compiled.debug.js +1 -1
  12. package/dist/receiver.compiled.js +1 -1
  13. package/dist/shaka-player.compiled.d.ts +1 -1
  14. package/dist/shaka-player.compiled.debug.d.ts +1 -1
  15. package/dist/shaka-player.compiled.debug.externs.js +1 -1
  16. package/dist/shaka-player.compiled.debug.js +181 -178
  17. package/dist/shaka-player.compiled.debug.map +3 -3
  18. package/dist/shaka-player.compiled.externs.js +1 -1
  19. package/dist/shaka-player.compiled.js +688 -686
  20. package/dist/shaka-player.compiled.map +3 -3
  21. package/dist/shaka-player.ui.d.ts +1 -1
  22. package/dist/shaka-player.ui.debug.d.ts +1 -1
  23. package/dist/shaka-player.ui.debug.externs.js +3 -3
  24. package/dist/shaka-player.ui.debug.js +169 -166
  25. package/dist/shaka-player.ui.debug.map +4 -4
  26. package/dist/shaka-player.ui.externs.js +3 -3
  27. package/dist/shaka-player.ui.js +815 -813
  28. package/dist/shaka-player.ui.map +4 -4
  29. package/docs/tutorials/fairplay.md +1 -1
  30. package/karma.conf.js +1 -0
  31. package/lib/ads/client_side_ad_manager.js +46 -86
  32. package/lib/ads/server_side_ad_manager.js +7 -10
  33. package/lib/cast/cast_proxy.js +3 -2
  34. package/lib/cast/cast_receiver.js +6 -2
  35. package/lib/cast/cast_sender.js +2 -2
  36. package/lib/dash/dash_parser.js +52 -0
  37. package/lib/dash/segment_list.js +1 -1
  38. package/lib/dash/segment_template.js +1 -1
  39. package/lib/hls/hls_parser.js +25 -10
  40. package/lib/media/drm_engine.js +7 -0
  41. package/lib/media/gap_jumping_controller.js +4 -2
  42. package/lib/media/streaming_engine.js +2 -1
  43. package/lib/net/networking_engine.js +2 -1
  44. package/lib/player.js +18 -17
  45. package/lib/polyfill/patchedmediakeys_apple.js +4 -4
  46. package/lib/polyfill/patchedmediakeys_ms.js +4 -4
  47. package/lib/polyfill/patchedmediakeys_webkit.js +4 -4
  48. package/lib/text/mp4_ttml_parser.js +3 -0
  49. package/lib/text/ttml_text_parser.js +5 -0
  50. package/lib/text/ui_text_displayer.js +6 -1
  51. package/lib/util/fake_event.js +53 -7
  52. package/lib/util/periods.js +4 -1
  53. package/package.json +1 -1
  54. package/test/cast/cast_proxy_unit.js +12 -6
  55. package/test/cast/cast_utils_unit.js +1 -1
  56. package/test/dash/dash_parser_manifest_unit.js +73 -0
  57. package/test/hls/hls_parser_unit.js +5 -1
  58. package/test/media/drm_engine_unit.js +43 -0
  59. package/test/player_integration.js +38 -0
  60. package/test/test/assets/3675/chunk-stream0-00001.m4s +0 -0
  61. package/test/test/assets/3675/chunk-stream0-00002.m4s +0 -0
  62. package/test/test/assets/3675/chunk-stream0-00003.m4s +0 -0
  63. package/test/test/assets/3675/chunk-stream0-00004.m4s +0 -0
  64. package/test/test/assets/3675/chunk-stream0-00005.m4s +0 -0
  65. package/test/test/assets/3675/chunk-stream0-00006.m4s +0 -0
  66. package/test/test/assets/3675/chunk-stream0-00007.m4s +0 -0
  67. package/test/test/assets/3675/dash_0.mpd +30 -0
  68. package/test/test/assets/3675/dash_1.mpd +30 -0
  69. package/test/test/assets/3675/dash_2.mpd +30 -0
  70. package/test/test/assets/3675/dash_3.mpd +30 -0
  71. package/test/test/assets/3675/dash_4.mpd +30 -0
  72. package/test/test/assets/3675/dash_5.mpd +26 -0
  73. package/test/test/assets/3675/init-stream0.m4s +0 -0
  74. package/test/test/util/fake_ad_manager.js +1 -1
  75. package/test/text/ttml_text_parser_unit.js +9 -0
  76. package/test/text/ui_text_displayer_unit.js +18 -0
  77. package/test/ui/localization_unit.js +15 -14
  78. package/ui/cast_button.js +2 -3
  79. package/ui/controls.js +4 -6
  80. package/ui/locales/ru.json +6 -6
  81. package/ui/localization.js +28 -51
  82. package/ui/pip_button.js +2 -3
package/AUTHORS CHANGED
@@ -26,6 +26,8 @@ Bryan Huh <bhh1988@gmail.com>
26
26
  Charter Communications Inc <*@charter.com>
27
27
  Damien Deis <developer.deis@gmail.com>
28
28
  Dany L'Hébreux <danylhebreux@gmail.com>
29
+ Dl Dador <dldador@gmail.com>
30
+ Enson Choy <enson.choy@harmonicinc.com>
29
31
  Esteban Dosztal <edosztal@gmail.com>
30
32
  Fadomire <fadomire@gmail.com>
31
33
  Google Inc. <*@google.com>
package/CHANGELOG.md CHANGED
@@ -1,3 +1,42 @@
1
+ ## 3.0.15 (2022-01-06)
2
+
3
+ Bugfixes:
4
+ - Allow comments in the TTML parser
5
+ - https://github.com/google/shaka-player/issues/3766
6
+ - https://github.com/google/shaka-player/pull/3827
7
+ - Add DASH MIME type mapping for src= playback
8
+ - https://github.com/google/shaka-player/pull/3805
9
+ - Fix captions not working after a period transition on live DASH streams
10
+ - https://github.com/google/shaka-player/issues/3783
11
+ - https://github.com/google/shaka-player/pull/3801
12
+ - Force caption update when removing cues
13
+ - Fixes parsing of HLS 'DEFAULT' attribute
14
+ - https://github.com/google/shaka-player/issues/3769
15
+ - https://github.com/google/shaka-player/pull/3771
16
+ - support stpp.ttml codec in Mp4TtmlParser
17
+ - https://github.com/google/shaka-player/pull/3754
18
+ - Fix Russian translation
19
+ - https://github.com/google/shaka-player/pull/3751
20
+ - Made HLS notify segments after fit
21
+ - https://github.com/google/shaka-player/issues/3733
22
+ - Fix seek range issues on transition from live to VOD
23
+ - https://github.com/google/shaka-player/issues/3675
24
+ - Enforce string-format of event data keys
25
+ - https://github.com/google/shaka-player/issues/3710
26
+ - Dedupe DRM init data
27
+ - https://github.com/google/shaka-player/pull/3695
28
+ - Failover in geo-redundant streams
29
+ - https://github.com/google/shaka-player/pull/3587
30
+
31
+ Demo App:
32
+ - Fix 'Tears of Steel (live, DASH, Server Side ads)'
33
+ - https://github.com/google/shaka-player/pull/3758
34
+
35
+ Docs:
36
+ - Fix typo in Fairplay tutorial
37
+ - https://github.com/google/shaka-player/pull/3714
38
+
39
+
1
40
  ## 3.0.14 (2021-10-13)
2
41
 
3
42
  Bugfixes:
package/CONTRIBUTORS CHANGED
@@ -40,8 +40,10 @@ Chris Fillmore <fillmore.chris@gmail.com>
40
40
  Costel Madalin Grecu <madalin.grecu@adswizz.com>
41
41
  Damien Deis <developer.deis@gmail.com>
42
42
  Dany L'Hébreux <danylhebreux@gmail.com>
43
+ Dl Dador <dldador@gmail.com>
43
44
  Donato Borrello <donato@jwplayer.com>
44
45
  Duc Pham <duc.pham@edgeware.tv>
46
+ Enson Choy <enson.choy@harmonicinc.com>
45
47
  Esteban Dosztal <edosztal@gmail.com>
46
48
  Fadomire <fadomire@gmail.com>
47
49
  François Beaufort <fbeaufort@google.com>
@@ -818,7 +818,7 @@ function main(args) {
818
818
  // foo.bar.baz, foo and foo.bar will both need to be declared first.
819
819
  const namespaces = new Set();
820
820
  const namespaceDeclarations = [];
821
- for (const name of names) {
821
+ for (const name of Array.from(names).sort()) {
822
822
  // Add the full name "foo.bar.baz" and its prototype ahead of time. We
823
823
  // should never generate these as namespaces.
824
824
  namespaces.add(name);
@@ -485,7 +485,7 @@ shakaAssets.testAssets = [
485
485
  .addFeature(shakaAssets.Feature.MP4)
486
486
  .addFeature(shakaAssets.Feature.SUBTITLES)
487
487
  .addFeature(shakaAssets.Feature.LIVE)
488
- .setIMAAssetKey('_lDu24IaSYaYAMEfixipNQ'),
488
+ .setIMAAssetKey('PSzZMzAkSXCmlJOWDmRj8Q'),
489
489
  new ShakaDemoAssetInfo(
490
490
  /* name= */ 'Tears of Steel (multicodec, surround + stereo)',
491
491
  /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png',
package/dist/controls.css CHANGED
@@ -27,4 +27,4 @@
27
27
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
28
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29
29
  * SOFTWARE.
30
- */.shaka-spinner-svg{position:absolute;top:0;left:0;right:0;bottom:0;animation:rotate 2s linear infinite;transform-origin:center center;width:100%;height:100%;margin:0;padding:0}.shaka-spinner-path{stroke:#202124;stroke-dasharray:20,200;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.shaka-spacer{cursor:default;flex-shrink:1;flex-grow:1;margin:0}.shaka-overflow-menu,.shaka-settings-menu{overflow-x:hidden;overflow-y:auto;white-space:nowrap;background:#fff;box-shadow:0 1px 9px 0 rgba(0,0,0,.4);border-radius:2px;max-height:250px;min-width:180px;opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s;display:flex;flex-direction:column;position:absolute;z-index:2;right:15px;bottom:30px}.shaka-controls-container[casting=true] .shaka-overflow-menu,.shaka-controls-container[casting=true] .shaka-settings-menu,.shaka-controls-container[shown=true] .shaka-overflow-menu,.shaka-controls-container[shown=true] .shaka-settings-menu{opacity:1}.shaka-overflow-menu button,.shaka-settings-menu button{font-size:14px;background:0 0;color:#000;border:none;min-height:30px;padding:3.5px 6px;display:flex;align-items:center;cursor:pointer}.shaka-overflow-menu button:hover,.shaka-settings-menu button:hover{background:#e0e0e0}.shaka-overflow-menu button label,.shaka-settings-menu button label{cursor:pointer}.shaka-keyboard-navigation .shaka-overflow-menu button:focus,.shaka-keyboard-navigation .shaka-settings-menu button:focus{background:#e0e0e0}.shaka-overflow-menu i,.shaka-settings-menu i{padding-left:10px;padding-right:10px}.shaka-overflow-menu.shaka-low-position,.shaka-settings-menu.shaka-low-position{bottom:15px}.shaka-overflow-menu span{text-align:left}.shaka-overflow-button-label{position:relative;display:flex;flex-direction:column}.shaka-current-selection-span{color:rgba(0,0,0,.54)}.shaka-settings-menu span{margin-left:54px}.shaka-back-to-overflow-button span{margin-left:0}.shaka-back-to-overflow-button i{padding-right:20px}.shaka-auto-span{left:17px}.shaka-captions-on{color:#000}.shaka-captions-off{color:grey}.shaka-controls-container[ad-active=true]{pointer-events:none}.shaka-controls-container[ad-active=true] .shaka-bottom-controls{pointer-events:auto}.shaka-client-side-ad-container,.shaka-server-side-ad-container{position:absolute;left:0;right:0;top:0;bottom:0}.shaka-video-container[shaka-controls=true] .shaka-client-side-ad-container iframe,.shaka-video-container[shaka-controls=true] .shaka-server-side-ad-container iframe{height:90%}.shaka-server-side-ad-container{width:100%;height:100%;flex-shrink:1}.shaka-server-side-ad-container:not([ad-active=true]){pointer-events:none}.shaka-ad-controls{display:flex;flex-direction:row;z-index:1;padding-bottom:1%}.shaka-video-container:not([shaka-controls=true]) .shaka-ad-controls{display:none}.shaka-ad-controls button,.shaka-ad-controls div{color:#fff;font-size:initial}.shaka-ad-controls div:not(.shaka-skip-ad-counter){margin:1px 6px}.shaka-ad-counter,.shaka-ad-position{display:flex;justify-content:flex-end;flex-direction:column;text-shadow:1px 1px 4px #000}.shaka-skip-ad-container{position:relative;right:-2%;display:flex;flex-direction:row;margin:0}.shaka-skip-ad-button{padding:5px 15px;background:rgba(0,0,0,.7);border:none;cursor:pointer}.shaka-skip-ad-button:disabled{background:rgba(0,0,0,.3)}.shaka-skip-ad-counter{padding:5px 5px;background:rgba(0,0,0,.7);margin:0}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/roboto/v29/KFOmCnqEu92Fr1Mu4mxP.ttf) format('truetype')}@font-face{font-family:'Material Icons Round';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialiconsround/v80/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmM.otf) format('opentype')}.material-icons-round{font-family:'Material Icons Round';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr}/*# sourceMappingURL=controls.css.map */
30
+ */.shaka-spinner-svg{position:absolute;top:0;left:0;right:0;bottom:0;animation:rotate 2s linear infinite;transform-origin:center center;width:100%;height:100%;margin:0;padding:0}.shaka-spinner-path{stroke:#202124;stroke-dasharray:20,200;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.shaka-spacer{cursor:default;flex-shrink:1;flex-grow:1;margin:0}.shaka-overflow-menu,.shaka-settings-menu{overflow-x:hidden;overflow-y:auto;white-space:nowrap;background:#fff;box-shadow:0 1px 9px 0 rgba(0,0,0,.4);border-radius:2px;max-height:250px;min-width:180px;opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s;display:flex;flex-direction:column;position:absolute;z-index:2;right:15px;bottom:30px}.shaka-controls-container[casting=true] .shaka-overflow-menu,.shaka-controls-container[casting=true] .shaka-settings-menu,.shaka-controls-container[shown=true] .shaka-overflow-menu,.shaka-controls-container[shown=true] .shaka-settings-menu{opacity:1}.shaka-overflow-menu button,.shaka-settings-menu button{font-size:14px;background:0 0;color:#000;border:none;min-height:30px;padding:3.5px 6px;display:flex;align-items:center;cursor:pointer}.shaka-overflow-menu button:hover,.shaka-settings-menu button:hover{background:#e0e0e0}.shaka-overflow-menu button label,.shaka-settings-menu button label{cursor:pointer}.shaka-keyboard-navigation .shaka-overflow-menu button:focus,.shaka-keyboard-navigation .shaka-settings-menu button:focus{background:#e0e0e0}.shaka-overflow-menu i,.shaka-settings-menu i{padding-left:10px;padding-right:10px}.shaka-overflow-menu.shaka-low-position,.shaka-settings-menu.shaka-low-position{bottom:15px}.shaka-overflow-menu span{text-align:left}.shaka-overflow-button-label{position:relative;display:flex;flex-direction:column}.shaka-current-selection-span{color:rgba(0,0,0,.54)}.shaka-settings-menu span{margin-left:54px}.shaka-back-to-overflow-button span{margin-left:0}.shaka-back-to-overflow-button i{padding-right:20px}.shaka-auto-span{left:17px}.shaka-captions-on{color:#000}.shaka-captions-off{color:grey}.shaka-controls-container[ad-active=true]{pointer-events:none}.shaka-controls-container[ad-active=true] .shaka-bottom-controls{pointer-events:auto}.shaka-client-side-ad-container,.shaka-server-side-ad-container{position:absolute;left:0;right:0;top:0;bottom:0}.shaka-video-container[shaka-controls=true] .shaka-client-side-ad-container iframe,.shaka-video-container[shaka-controls=true] .shaka-server-side-ad-container iframe{height:90%}.shaka-server-side-ad-container{width:100%;height:100%;flex-shrink:1}.shaka-server-side-ad-container:not([ad-active=true]){pointer-events:none}.shaka-ad-controls{display:flex;flex-direction:row;z-index:1;padding-bottom:1%}.shaka-video-container:not([shaka-controls=true]) .shaka-ad-controls{display:none}.shaka-ad-controls button,.shaka-ad-controls div{color:#fff;font-size:initial}.shaka-ad-controls div:not(.shaka-skip-ad-counter){margin:1px 6px}.shaka-ad-counter,.shaka-ad-position{display:flex;justify-content:flex-end;flex-direction:column;text-shadow:1px 1px 4px #000}.shaka-skip-ad-container{position:relative;right:-2%;display:flex;flex-direction:row;margin:0}.shaka-skip-ad-button{padding:5px 15px;background:rgba(0,0,0,.7);border:none;cursor:pointer}.shaka-skip-ad-button:disabled{background:rgba(0,0,0,.3)}.shaka-skip-ad-counter{padding:5px 5px;background:rgba(0,0,0,.7);margin:0}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/roboto/v29/KFOmCnqEu92Fr1Mu4mxP.ttf) format('truetype')}@font-face{font-family:'Material Icons Round';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialiconsround/v93/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmM.otf) format('opentype')}.material-icons-round{font-family:'Material Icons Round';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr}/*# sourceMappingURL=controls.css.map */
@@ -199,7 +199,7 @@ shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shaka
199
199
  (new ShakaDemoAssetInfo('"Dig the Uke" by Stefan Kartenberg (audio only, multicodec, Widevine)',"https://storage.googleapis.com/shaka-asset-icons/audio_only.png","https://storage.googleapis.com/shaka-demo-assets/dig-the-uke/dash.mpd",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.AUDIO_ONLY).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha",
200
200
  "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, TTML)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-ttml/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),
201
201
  (new ShakaDemoAssetInfo("Tears of Steel (HLS, Server Side ads)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos/hls.m3u8",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE).setIMAContentSourceId("2528370").setIMAVideoId("tears-of-steel"),(new ShakaDemoAssetInfo("Tears of Steel (live, DASH, Server Side ads)",
202
- "https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-ttml/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.LIVE).setIMAAssetKey("_lDu24IaSYaYAMEfixipNQ"),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, surround + stereo)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png",
202
+ "https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-ttml/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.LIVE).setIMAAssetKey("PSzZMzAkSXCmlJOWDmRj8Q"),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, surround + stereo)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png",
203
203
  "https://storage.googleapis.com/shaka-demo-assets/tos-surround/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, surround + stereo, single skippable ad)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-surround/dash.mpd",
204
204
  shakaAssets.Source.SHAKA)).setAdTagUri(shakaAssets.AdTag.SINGLE_SKIPPABLE_AD).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Shaka Player History (multicodec, live, DASH)","https://storage.googleapis.com/shaka-asset-icons/shaka.png","https://storage.googleapis.com/shaka-live-assets/player-source.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.WEBM),
205
205
  (new ShakaDemoAssetInfo("Shaka Player History (live, HLS)","https://storage.googleapis.com/shaka-asset-icons/shaka.png","https://storage.googleapis.com/shaka-live-assets/player-source.m3u8",shakaAssets.Source.SHAKA)).addDescription("A self-indulgent HLS livestream.").markAsFeatured("Shaka Player History").addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4),(new ShakaDemoAssetInfo("Multi-DRM","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png",
@@ -199,7 +199,7 @@ shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shaka
199
199
  (new ShakaDemoAssetInfo('"Dig the Uke" by Stefan Kartenberg (audio only, multicodec, Widevine)',"https://storage.googleapis.com/shaka-asset-icons/audio_only.png","https://storage.googleapis.com/shaka-demo-assets/dig-the-uke/dash.mpd",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.AUDIO_ONLY).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha",
200
200
  "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, TTML)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-ttml/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),
201
201
  (new ShakaDemoAssetInfo("Tears of Steel (HLS, Server Side ads)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos/hls.m3u8",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE).setIMAContentSourceId("2528370").setIMAVideoId("tears-of-steel"),(new ShakaDemoAssetInfo("Tears of Steel (live, DASH, Server Side ads)",
202
- "https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-ttml/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.LIVE).setIMAAssetKey("_lDu24IaSYaYAMEfixipNQ"),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, surround + stereo)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png",
202
+ "https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-ttml/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.LIVE).setIMAAssetKey("PSzZMzAkSXCmlJOWDmRj8Q"),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, surround + stereo)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png",
203
203
  "https://storage.googleapis.com/shaka-demo-assets/tos-surround/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, surround + stereo, single skippable ad)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-surround/dash.mpd",
204
204
  shakaAssets.Source.SHAKA)).setAdTagUri(shakaAssets.AdTag.SINGLE_SKIPPABLE_AD).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Shaka Player History (multicodec, live, DASH)","https://storage.googleapis.com/shaka-asset-icons/shaka.png","https://storage.googleapis.com/shaka-live-assets/player-source.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.WEBM),
205
205
  (new ShakaDemoAssetInfo("Shaka Player History (live, HLS)","https://storage.googleapis.com/shaka-asset-icons/shaka.png","https://storage.googleapis.com/shaka-live-assets/player-source.m3u8",shakaAssets.Source.SHAKA)).addDescription("A self-indulgent HLS livestream.").markAsFeatured("Shaka Player History").addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4),(new ShakaDemoAssetInfo("Multi-DRM","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png",
package/dist/deps.js CHANGED
@@ -130,7 +130,7 @@ goog.addDependency('../../../../lib/util/ebml_parser.js', ['shaka.util.EbmlEleme
130
130
  goog.addDependency('../../../../lib/util/error.js', ['shaka.util.Error'], [], {});
131
131
  goog.addDependency('../../../../lib/util/event_manager.js', ['shaka.util.EventManager'], ['goog.asserts', 'shaka.util.IReleasable', 'shaka.util.MultiMap'], {});
132
132
  goog.addDependency('../../../../lib/util/fairplay_utils.js', ['shaka.util.FairPlayUtils'], ['goog.Uri', 'goog.asserts', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.StringUtils'], {});
133
- goog.addDependency('../../../../lib/util/fake_event.js', ['shaka.util.FakeEvent'], [], {});
133
+ goog.addDependency('../../../../lib/util/fake_event.js', ['shaka.util.FakeEvent'], ['goog.asserts'], {});
134
134
  goog.addDependency('../../../../lib/util/fake_event_target.js', ['shaka.util.FakeEventTarget'], ['goog.asserts', 'shaka.log', 'shaka.util.FakeEvent', 'shaka.util.MultiMap'], {});
135
135
  goog.addDependency('../../../../lib/util/functional.js', ['shaka.util.Functional'], ['shaka.Deprecate'], {});
136
136
  goog.addDependency('../../../../lib/util/i_destroyable.js', ['shaka.util.IDestroyable'], [], {});
package/dist/locales.js CHANGED
@@ -519,12 +519,12 @@ shaka.ui.Locales.addTo = function(localization) {
519
519
  ['VOLUME', 'Volume'],
520
520
  ]));
521
521
  localization.insert('ru', new Map([
522
- ['AD_DURATION', 'Продолжительность объявления'],
523
- ['AD_PROGRESS', 'Объявление [AD_ON] из [NUM_ADS]'],
524
- ['AD_TIME', 'Объявление: [AD_TIME]'],
522
+ ['AD_DURATION', 'Продолжительность рекламы'],
523
+ ['AD_PROGRESS', 'Реклама [AD_ON] из [NUM_ADS]'],
524
+ ['AD_TIME', 'Реклама: [AD_TIME]'],
525
525
  ['AUTO_QUALITY', 'Авто'],
526
526
  ['BACK', 'Назад'],
527
- ['CAPTIONS', 'Титры'],
527
+ ['CAPTIONS', 'Субтитры'],
528
528
  ['CAST', 'Транслировать...'],
529
529
  ['ENTER_LOOP_MODE', 'Зациклить текущее видео'],
530
530
  ['ENTER_PICTURE_IN_PICTURE', 'Перейти в режим "Картинка в картинке"'],
@@ -540,8 +540,8 @@ shaka.ui.Locales.addTo = function(localization) {
540
540
  ['MULTIPLE_LANGUAGES', 'Несколько языков'],
541
541
  ['MUTE', 'Отключить звук'],
542
542
  ['NOT_APPLICABLE', 'Неприменимо'],
543
- ['OFF', 'Включить'],
544
- ['ON', 'Отключить'],
543
+ ['OFF', 'Выкл.'],
544
+ ['ON', 'Вкл.'],
545
545
  ['PAUSE', 'Пауза'],
546
546
  ['PICTURE_IN_PICTURE', 'Картинка в картинке'],
547
547
  ['PLAY', 'Воспроизвести'],
@@ -715,41 +715,41 @@ shaka.ui.Locales.addTo = function(localization) {
715
715
  * @const
716
716
  */
717
717
  shaka.ui.Locales.Ids = {
718
- OFF: 'OFF',
719
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
718
+ UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
719
+ AD_TIME: 'AD_TIME',
720
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
721
+ ON: 'ON',
722
+ CAST: 'CAST',
723
+ AUTO_QUALITY: 'AUTO_QUALITY',
720
724
  LIVE: 'LIVE',
721
- CAPTIONS: 'CAPTIONS',
722
- SEEK: 'SEEK',
723
- PLAY: 'PLAY',
724
- AD_DURATION: 'AD_DURATION',
725
- FULL_SCREEN: 'FULL_SCREEN',
726
- REPLAY: 'REPLAY',
727
- PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
728
- UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
729
725
  PLAYBACK_RATE: 'PLAYBACK_RATE',
730
- CAST: 'CAST',
731
- EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
726
+ SKIP_AD: 'SKIP_AD',
732
727
  LOOP: 'LOOP',
733
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
734
- MORE_SETTINGS: 'MORE_SETTINGS',
735
- PAUSE: 'PAUSE',
728
+ PLAY: 'PLAY',
736
729
  BACK: 'BACK',
737
- AUTO_QUALITY: 'AUTO_QUALITY',
738
- SKIP_AD: 'SKIP_AD',
730
+ LANGUAGE: 'LANGUAGE',
731
+ SEEK: 'SEEK',
732
+ SKIP_TO_LIVE: 'SKIP_TO_LIVE',
733
+ NOT_APPLICABLE: 'NOT_APPLICABLE',
734
+ UNMUTE: 'UNMUTE',
735
+ AD_DURATION: 'AD_DURATION',
736
+ FAST_FORWARD: 'FAST_FORWARD',
739
737
  AD_PROGRESS: 'AD_PROGRESS',
738
+ PAUSE: 'PAUSE',
739
+ REWIND: 'REWIND',
740
740
  ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
741
- AD_TIME: 'AD_TIME',
742
- ON: 'ON',
743
- UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
741
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
742
+ CAPTIONS: 'CAPTIONS',
744
743
  EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
744
+ VOLUME: 'VOLUME',
745
+ OFF: 'OFF',
746
+ UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
745
747
  MUTE: 'MUTE',
746
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
747
- REWIND: 'REWIND',
748
- NOT_APPLICABLE: 'NOT_APPLICABLE',
749
- UNMUTE: 'UNMUTE',
748
+ FULL_SCREEN: 'FULL_SCREEN',
749
+ PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
750
750
  RESOLUTION: 'RESOLUTION',
751
- LANGUAGE: 'LANGUAGE',
752
- VOLUME: 'VOLUME',
753
- SKIP_TO_LIVE: 'SKIP_TO_LIVE',
754
- FAST_FORWARD: 'FAST_FORWARD',
751
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
752
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
753
+ REPLAY: 'REPLAY',
754
+ MORE_SETTINGS: 'MORE_SETTINGS',
755
755
  };
@@ -152,7 +152,7 @@ shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shaka
152
152
  (new ShakaDemoAssetInfo('"Dig the Uke" by Stefan Kartenberg (audio only, multicodec, Widevine)',"https://storage.googleapis.com/shaka-asset-icons/audio_only.png","https://storage.googleapis.com/shaka-demo-assets/dig-the-uke/dash.mpd",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.AUDIO_ONLY).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha",
153
153
  "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, TTML)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-ttml/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),
154
154
  (new ShakaDemoAssetInfo("Tears of Steel (HLS, Server Side ads)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos/hls.m3u8",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE).setIMAContentSourceId("2528370").setIMAVideoId("tears-of-steel"),(new ShakaDemoAssetInfo("Tears of Steel (live, DASH, Server Side ads)",
155
- "https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-ttml/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.LIVE).setIMAAssetKey("_lDu24IaSYaYAMEfixipNQ"),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, surround + stereo)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png",
155
+ "https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-ttml/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.LIVE).setIMAAssetKey("PSzZMzAkSXCmlJOWDmRj8Q"),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, surround + stereo)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png",
156
156
  "https://storage.googleapis.com/shaka-demo-assets/tos-surround/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, surround + stereo, single skippable ad)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-surround/dash.mpd",
157
157
  shakaAssets.Source.SHAKA)).setAdTagUri(shakaAssets.AdTag.SINGLE_SKIPPABLE_AD).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Shaka Player History (multicodec, live, DASH)","https://storage.googleapis.com/shaka-asset-icons/shaka.png","https://storage.googleapis.com/shaka-live-assets/player-source.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.WEBM),
158
158
  (new ShakaDemoAssetInfo("Shaka Player History (live, HLS)","https://storage.googleapis.com/shaka-asset-icons/shaka.png","https://storage.googleapis.com/shaka-live-assets/player-source.m3u8",shakaAssets.Source.SHAKA)).addDescription("A self-indulgent HLS livestream.").markAsFeatured("Shaka Player History").addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4),(new ShakaDemoAssetInfo("Multi-DRM","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png",
@@ -152,7 +152,7 @@ shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shaka
152
152
  (new ShakaDemoAssetInfo('"Dig the Uke" by Stefan Kartenberg (audio only, multicodec, Widevine)',"https://storage.googleapis.com/shaka-asset-icons/audio_only.png","https://storage.googleapis.com/shaka-demo-assets/dig-the-uke/dash.mpd",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.AUDIO_ONLY).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha",
153
153
  "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, TTML)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-ttml/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),
154
154
  (new ShakaDemoAssetInfo("Tears of Steel (HLS, Server Side ads)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos/hls.m3u8",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE).setIMAContentSourceId("2528370").setIMAVideoId("tears-of-steel"),(new ShakaDemoAssetInfo("Tears of Steel (live, DASH, Server Side ads)",
155
- "https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-ttml/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.LIVE).setIMAAssetKey("_lDu24IaSYaYAMEfixipNQ"),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, surround + stereo)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png",
155
+ "https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-ttml/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.LIVE).setIMAAssetKey("PSzZMzAkSXCmlJOWDmRj8Q"),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, surround + stereo)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png",
156
156
  "https://storage.googleapis.com/shaka-demo-assets/tos-surround/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Tears of Steel (multicodec, surround + stereo, single skippable ad)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://storage.googleapis.com/shaka-demo-assets/tos-surround/dash.mpd",
157
157
  shakaAssets.Source.SHAKA)).setAdTagUri(shakaAssets.AdTag.SINGLE_SKIPPABLE_AD).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Shaka Player History (multicodec, live, DASH)","https://storage.googleapis.com/shaka-asset-icons/shaka.png","https://storage.googleapis.com/shaka-live-assets/player-source.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.WEBM),
158
158
  (new ShakaDemoAssetInfo("Shaka Player History (live, HLS)","https://storage.googleapis.com/shaka-asset-icons/shaka.png","https://storage.googleapis.com/shaka-live-assets/player-source.m3u8",shakaAssets.Source.SHAKA)).addDescription("A self-indulgent HLS livestream.").markAsFeatured("Shaka Player History").addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4),(new ShakaDemoAssetInfo("Multi-DRM","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png",
@@ -2097,7 +2097,7 @@ declare namespace shaka.util {
2097
2097
  declare namespace shaka.util {
2098
2098
  class FakeEvent extends Event {
2099
2099
  private noStructuralTyping_shaka_util_FakeEvent : any;
2100
- constructor (type : string , dict ? : object | null ) ;
2100
+ constructor (type : string , dict ? : Map < string , object | null > | null ) ;
2101
2101
  }
2102
2102
  }
2103
2103
  // Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/dist/shaka-player.compiled.externs.js
@@ -2097,7 +2097,7 @@ declare namespace shaka.util {
2097
2097
  declare namespace shaka.util {
2098
2098
  class FakeEvent extends Event {
2099
2099
  private noStructuralTyping_shaka_util_FakeEvent : any;
2100
- constructor (type : string , dict ? : object | null ) ;
2100
+ constructor (type : string , dict ? : Map < string , object | null > | null ) ;
2101
2101
  }
2102
2102
  }
2103
2103
  // Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/dist/shaka-player.compiled.debug.externs.js
@@ -510,7 +510,7 @@ shaka.util.AbortableOperation.prototype.promise;
510
510
  shaka.util.FakeEvent = class {
511
511
  /**
512
512
  * @param {string} type
513
- * @param {Object=} dict
513
+ * @param {Map.<string, Object>=} dict
514
514
  */
515
515
  constructor(type, dict) {}
516
516
  };