shaka-player 4.3.13 → 4.3.14

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 (124) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
  2. package/.github/ISSUE_TEMPLATE/question.md +7 -0
  3. package/.github/workflows/release-please.yaml +2 -27
  4. package/AUTHORS +5 -0
  5. package/CHANGELOG.md +87 -0
  6. package/CODE_OF_CONDUCT.md +1 -1
  7. package/CONTRIBUTORS +6 -0
  8. package/README.md +2 -0
  9. package/demo/common/asset.js +0 -1
  10. package/demo/common/assets.js +0 -1
  11. package/demo/custom.js +2 -0
  12. package/dist/demo.compiled.debug.js +1 -1
  13. package/dist/demo.compiled.debug.map +1 -1
  14. package/dist/demo.compiled.js +1 -1
  15. package/dist/demo.compiled.map +1 -1
  16. package/dist/deps.js +6 -6
  17. package/dist/locales.js +29 -29
  18. package/dist/receiver.compiled.debug.map +1 -1
  19. package/dist/receiver.compiled.map +1 -1
  20. package/dist/shaka-player.compiled.d.ts +25 -5
  21. package/dist/shaka-player.compiled.debug.d.ts +25 -5
  22. package/dist/shaka-player.compiled.debug.externs.js +73 -45
  23. package/dist/shaka-player.compiled.debug.js +414 -396
  24. package/dist/shaka-player.compiled.debug.map +4 -4
  25. package/dist/shaka-player.compiled.externs.js +73 -45
  26. package/dist/shaka-player.compiled.js +912 -903
  27. package/dist/shaka-player.compiled.map +4 -4
  28. package/dist/shaka-player.ui.d.ts +37 -6
  29. package/dist/shaka-player.ui.debug.d.ts +37 -6
  30. package/dist/shaka-player.ui.debug.externs.js +74 -45
  31. package/dist/shaka-player.ui.debug.js +438 -418
  32. package/dist/shaka-player.ui.debug.map +4 -4
  33. package/dist/shaka-player.ui.externs.js +74 -45
  34. package/dist/shaka-player.ui.js +1060 -1051
  35. package/dist/shaka-player.ui.map +4 -4
  36. package/docs/tutorials/ad_monetization.md +54 -0
  37. package/docs/tutorials/fairplay.md +2 -2
  38. package/docs/tutorials/index.json +1 -0
  39. package/docs/tutorials/plugins.md +4 -0
  40. package/docs/tutorials/text-displayer.md +15 -0
  41. package/docs/tutorials/ui-customization.md +29 -0
  42. package/docs/tutorials/ui.md +4 -1
  43. package/externs/lcevc.js +6 -0
  44. package/externs/shaka/manifest_parser.js +8 -0
  45. package/externs/shaka/player.js +1 -1
  46. package/externs/shaka/text.js +3 -1
  47. package/lib/abr/simple_abr_manager.js +1 -1
  48. package/lib/ads/client_side_ad.js +9 -0
  49. package/lib/ads/client_side_ad_manager.js +7 -2
  50. package/lib/ads/server_side_ad_manager.js +4 -0
  51. package/lib/cast/cast_proxy.js +18 -0
  52. package/lib/cea/cea608_memory.js +1 -1
  53. package/lib/cea/cea_decoder.js +11 -1
  54. package/lib/dash/dash_parser.js +75 -41
  55. package/lib/dash/mpd_utils.js +39 -27
  56. package/lib/hls/hls_parser.js +90 -27
  57. package/lib/hls/hls_utils.js +5 -5
  58. package/lib/media/content_workarounds.js +30 -0
  59. package/lib/media/drm_engine.js +16 -12
  60. package/lib/media/media_source_engine.js +4 -2
  61. package/lib/media/play_rate_controller.js +1 -0
  62. package/lib/media/presentation_timeline.js +11 -0
  63. package/lib/media/quality_observer.js +1 -1
  64. package/lib/media/segment_reference.js +5 -2
  65. package/lib/media/streaming_engine.js +50 -30
  66. package/lib/media/transmuxer.js +1 -1
  67. package/lib/media/video_wrapper.js +4 -3
  68. package/lib/offline/offline_manifest_parser.js +5 -0
  69. package/lib/offline/session_deleter.js +0 -8
  70. package/lib/offline/storage.js +4 -1
  71. package/lib/player.js +79 -18
  72. package/lib/polyfill/media_capabilities.js +23 -3
  73. package/lib/text/mp4_ttml_parser.js +2 -2
  74. package/lib/text/simple_text_displayer.js +7 -6
  75. package/lib/text/srt_text_parser.js +2 -2
  76. package/lib/text/text_engine.js +3 -2
  77. package/lib/text/ttml_text_parser.js +33 -5
  78. package/lib/text/ui_text_displayer.js +81 -15
  79. package/lib/text/vtt_text_parser.js +15 -2
  80. package/lib/util/buffer_utils.js +26 -4
  81. package/lib/util/cmcd_manager.js +10 -0
  82. package/lib/util/fairplay_utils.js +1 -1
  83. package/lib/util/manifest_parser_utils.js +14 -8
  84. package/lib/util/object_utils.js +1 -1
  85. package/lib/util/periods.js +91 -36
  86. package/lib/util/platform.js +39 -2
  87. package/lib/util/player_configuration.js +5 -3
  88. package/lib/util/stream_utils.js +36 -28
  89. package/lib/util/xml_utils.js +5 -0
  90. package/package.json +2 -2
  91. package/test/cea/cea_decoder_unit.js +40 -0
  92. package/test/dash/dash_parser_live_unit.js +5 -8
  93. package/test/hls/hls_parser_unit.js +50 -3
  94. package/test/media/buffering_observer_unit.js +13 -0
  95. package/test/media/content_workarounds_unit.js +1 -1
  96. package/test/media/drm_engine_unit.js +30 -3
  97. package/test/media/media_source_engine_unit.js +1 -1
  98. package/test/media/transmuxer_integration.js +2 -2
  99. package/test/offline/storage_integration.js +3 -0
  100. package/test/player_integration.js +40 -40
  101. package/test/player_unit.js +31 -0
  102. package/test/polyfill/media_capabilities_unit.js +12 -6
  103. package/test/test/util/fake_drm_engine.js +7 -0
  104. package/test/test/util/layout_tests.js +2 -1
  105. package/test/test/util/simple_fakes.js +2 -2
  106. package/test/test/util/test_scheme.js +3 -0
  107. package/test/test/util/waiter.js +5 -0
  108. package/test/text/mp4_ttml_parser_unit.js +4 -4
  109. package/test/text/simple_text_displayer_unit.js +1 -1
  110. package/test/text/srt_text_parser_unit.js +1 -1
  111. package/test/text/text_engine_unit.js +6 -0
  112. package/test/text/ttml_text_parser_unit.js +49 -18
  113. package/test/text/ui_text_displayer_unit.js +9 -0
  114. package/test/util/buffer_utils_unit.js +1 -1
  115. package/test/util/periods_unit.js +113 -0
  116. package/third_party/closure-uri/uri.js +1 -1
  117. package/ui/externs/ui.js +24 -0
  118. package/ui/language_utils.js +11 -5
  119. package/ui/play_button.js +20 -0
  120. package/ui/playback_rate_selection.js +4 -0
  121. package/ui/presentation_time.js +5 -5
  122. package/ui/small_play_button.js +2 -2
  123. package/ui/volume_bar.js +10 -6
  124. /package/.github/{config.yml → ISSUE_TEMPLATE/config.yml} +0 -0
@@ -263,7 +263,7 @@ m=[],n=[];b=(p,q,r)=>{const t=shakaDemo.Custom.ButtonStyle_.PLAIN;p=shakaDemoMai
263
263
  f,!1);b(shakaDemo.MessageIds.ADS_TAB,g,!1);b(shakaDemo.MessageIds.HLS_TAB,h,!1);b(shakaDemo.MessageIds.EXTRA_TAB,k,!1);this.dialog_.appendChild(l);this.dialog_.appendChild(d);this.dialog_.appendChild(e);this.dialog_.appendChild(f);this.dialog_.appendChild(g);this.dialog_.appendChild(h);this.dialog_.appendChild(k);this.dialog_.appendChild(a);this.dialog_.appendChild(c);componentHandler.upgradeDom();this.dialog_.showModal()}loadAssetInfos_(){var a=window.localStorage.getItem(shakaDemo.Custom.saveId_);
264
264
  return a?(a=JSON.parse(a),new Set(a.map(b=>{b=ShakaDemoAssetInfo.fromJSON(b);shakaDemoMain.setupOfflineSupport(b);return b}))):new Set}saveAssetInfos_(a){const b=shakaDemo.Custom.saveId_;a=Array.from(a);window.localStorage.setItem(b,JSON.stringify(a))}makeButton_(a,b,c){const d=document.createElement("button");switch(b){case shakaDemo.Custom.ButtonStyle_.FAB:d.classList.add("mdl-button--fab");d.classList.add("mdl-button--colored");b=document.createElement("i");b.classList.add("material-icons-round");
265
265
  b.textContent=a;d.appendChild(b);break;case shakaDemo.Custom.ButtonStyle_.RAISED:d.textContent=a;d.classList.add("mdl-button--raised");break;case shakaDemo.Custom.ButtonStyle_.PLAIN:d.textContent=a}d.addEventListener("click",c);d.classList.add("mdl-button");d.classList.add("mdl-js-button");d.classList.add("mdl-js-ripple-effect");return d}createAssetCardFor_(a){return new shakaDemo.AssetCard(this.savedList_,a,!1,b=>{b.addButton(shakaDemo.MessageIds.PLAY,()=>{shakaDemoMain.loadAsset(a);this.updateSelected_()});
266
- b.addButton(shakaDemo.MessageIds.EDIT_CUSTOM,async()=>{a.unstoreCallback&&await a.unstoreCallback();this.showAssetDialog_(a)});b.addButton(shakaDemo.MessageIds.DELETE_CUSTOM,async()=>{this.assets_.delete(a);a.unstoreCallback&&await a.unstoreCallback();this.saveAssetInfos_(this.assets_);this.remakeSavedList_()},shakaDemo.MessageIds.DELETE_CUSTOM);b.addStoreButton()})}updateSelected_(){for(const a of this.assetCards_)a.selectByAsset(shakaDemoMain.selectedAsset)}remakeSavedList_(){shaka.util.Dom.removeAllChildren(this.savedList_);
266
+ b.addButton(shakaDemo.MessageIds.EDIT_CUSTOM,async()=>{a.unstoreCallback&&(await a.unstoreCallback(),this.saveAssetInfos_(this.assets_),this.remakeSavedList_());this.showAssetDialog_(a)});b.addButton(shakaDemo.MessageIds.DELETE_CUSTOM,async()=>{this.assets_.delete(a);a.unstoreCallback&&await a.unstoreCallback();this.saveAssetInfos_(this.assets_);this.remakeSavedList_()},shakaDemo.MessageIds.DELETE_CUSTOM);b.addStoreButton()})}updateSelected_(){for(const a of this.assetCards_)a.selectByAsset(shakaDemoMain.selectedAsset)}remakeSavedList_(){shaka.util.Dom.removeAllChildren(this.savedList_);
267
267
  if(0==this.assets_.size){const a=(b,c)=>{const d=document.createElement("h2");d.classList.add("mdl-typography--"+b);d.textContent=c;this.savedList_.appendChild(d)};a("title",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_ONE));a("body-2",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_TWO));a("body-1",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_THREE))}else this.assetCards_=Array.from(this.assets_).map(a=>this.createAssetCardFor_(a)),this.updateSelected_()}};
268
268
  shakaDemo.Custom.ButtonStyle_={RAISED:0,FAB:1,PLAIN:2};shakaDemo.Custom.saveId_="shakaPlayerDemoSavedAssets";document.addEventListener("shaka-main-loaded",shakaDemo.Custom.init);document.addEventListener("shaka-main-cleanup",()=>{shakaDemoCustom=null});shakaDemo.Utils=class{static runThroughHashParams(a,b){const c=[],d=(k,l)=>{c.push(l);a(k,l)};d("audiolang","preferredAudioLanguage");d("textlang","preferredTextLanguage");d("textrole","preferredTextRole");d("channels","preferredAudioChannelCount");c.push("abr.enabled");c.push("drm.advanced");c.push("drm.servers");const e=[],f=[],g=k=>{for(const l in k){e.includes(l)&&!f.includes(l)&&f.push(l);e.push(l);const m=k[l];"number"!=typeof m&&"string"!=typeof m&&"boolean"!=typeof m&&g(m)}};g(b);const h=
269
269
  (k,l)=>{for(const m in k){let n=m;const p=l+m;if(c.includes(p))continue;f.includes(m)&&(n=p);const q=k[m];"number"==typeof q||"string"==typeof q||"boolean"==typeof q?a(n,p):h(q,p+".")}};h(b,"")}static browserSupportsUncompiledMode(){try{return eval("async ()=>{}"),!0}catch(a){return!1}}};let shakaDemoFront;