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
package/AUTHORS CHANGED
@@ -79,3 +79,4 @@ Verizon Digital Media Services <*@verizondigitalmedia.com>
79
79
  ViacomCBS <*@viacomcbs.com>
80
80
  Vincent Valot <valot.vince@gmail.com>
81
81
  Wayne Morgan <wayne.morgan.dev@gmail.com>
82
+ Raymond Cheng <raycheng100@gmail.com>
package/CHANGELOG.md CHANGED
@@ -1,30 +1,50 @@
1
1
  # Changelog
2
2
 
3
- ## [4.0.2](https://github.com/shaka-project/shaka-player/compare/v4.0.1...v4.0.2) (2022-06-02)
3
+ ## [4.1.1](https://github.com/shaka-project/shaka-player/compare/v4.1.0...v4.1.1) (2022-06-14)
4
4
 
5
5
 
6
6
  ### Bug Fixes
7
7
 
8
- * **abr:** use Network Info API in ABR getBandwidthEstimate ([#4263](https://github.com/shaka-project/shaka-player/issues/4263)) ([2a12f0d](https://github.com/shaka-project/shaka-player/commit/2a12f0dc3c95220fc4c35b9871823eb685ecf337))
9
- * Don't send drmsessionupdate after unload ([#4248](https://github.com/shaka-project/shaka-player/issues/4248)) ([d7a7024](https://github.com/shaka-project/shaka-player/commit/d7a70247b2c381f1ba1d129618e45771f0e58061))
10
- * Fix audio mime type in multiplexed HLS stream ([#4241](https://github.com/shaka-project/shaka-player/issues/4241)) ([467fc8b](https://github.com/shaka-project/shaka-player/commit/467fc8b14b4a9ede601a1501ec901149088fc0c7))
11
- * **HLS:** Fix duplicate hinted segments ([#4258](https://github.com/shaka-project/shaka-player/issues/4258)) ([d92881b](https://github.com/shaka-project/shaka-player/commit/d92881b7ae350ad41eda7b0aeb87d9e32b59375a)), closes [#4223](https://github.com/shaka-project/shaka-player/issues/4223)
12
- * **ui:** Widen touchable button area ([#3249](https://github.com/shaka-project/shaka-player/issues/3249)) ([96b2965](https://github.com/shaka-project/shaka-player/commit/96b296595c32885caac66af7b04bdc1f59d0c790))
8
+ * **demo:** allow switch between UITextDisplayer and SimpleTextDisplayer ([#4275](https://github.com/shaka-project/shaka-player/issues/4275)) ([f6cb4e2](https://github.com/shaka-project/shaka-player/commit/f6cb4e212c586e5bb8e16de445f9e9a2d49648bd))
9
+ * **demo:** erroneous FairPlay keysystem in demo ([#4276](https://github.com/shaka-project/shaka-player/issues/4276)) ([8ff9fdf](https://github.com/shaka-project/shaka-player/commit/8ff9fdffadb284b13511b4d39fb9f1ba57e2dae1))
10
+ * **hls:** Fix AV sync issues, fallback to sequence numbers if PROGRAM-DATE-TIME ignored ([#4289](https://github.com/shaka-project/shaka-player/issues/4289)) ([e5bfb8b](https://github.com/shaka-project/shaka-player/commit/e5bfb8bfa5720830da939880ad4e502369cdd160)), closes [#4287](https://github.com/shaka-project/shaka-player/issues/4287)
11
+ * New EME polyfill fixes EME/MCap issues on some smart TVs ([#4279](https://github.com/shaka-project/shaka-player/issues/4279)) ([2168937](https://github.com/shaka-project/shaka-player/commit/21689375e081567328d704450145d6489e3e5d23))
12
+ * Populate track's spatialAudio property ([#4291](https://github.com/shaka-project/shaka-player/issues/4291)) ([636f232](https://github.com/shaka-project/shaka-player/commit/636f232adf26ba47296fd6a624f4606c78a98ab6))
13
+ * Remove IE 11 from default browsers for Windows ([#4272](https://github.com/shaka-project/shaka-player/issues/4272)) ([bc96abd](https://github.com/shaka-project/shaka-player/commit/bc96abdb9d567c56321d8489c51e12493776f7de)), closes [#4271](https://github.com/shaka-project/shaka-player/issues/4271)
14
+ * Use middle segment when guessing MIME type on HLS ([#4269](https://github.com/shaka-project/shaka-player/issues/4269)) ([#4270](https://github.com/shaka-project/shaka-player/issues/4270)) ([7879424](https://github.com/shaka-project/shaka-player/commit/78794246a369151473bfbb4cbfee0a9de16628b3))
13
15
 
14
- ### [4.0.1](https://github.com/shaka-project/shaka-player/compare/v4.0.0...v4.0.1) (2022-05-18)
16
+ ## [4.1.0](https://github.com/shaka-project/shaka-player/compare/v4.0.0...v4.1.0) (2022-06-02)
17
+
18
+
19
+ ### Features
20
+
21
+ * Add Id to chapters ([#4184](https://github.com/shaka-project/shaka-player/issues/4184)) ([5ca3271](https://github.com/shaka-project/shaka-player/commit/5ca32712e375ba875be86827ea1efaaa5e3c0035))
22
+ * Add keySystemsMapping to drm config ([#4254](https://github.com/shaka-project/shaka-player/issues/4254)) ([5e107d5](https://github.com/shaka-project/shaka-player/commit/5e107d584f824e66ab3e5e07f9d833f6dc456d14)), closes [#4243](https://github.com/shaka-project/shaka-player/issues/4243)
23
+ * add listenable events for playback stall detection and gap jumping ([#4249](https://github.com/shaka-project/shaka-player/issues/4249)) ([5987458](https://github.com/shaka-project/shaka-player/commit/5987458e445cf21f91bf4833396edd63d5f69765))
24
+ * Add support to text-shadow in VTT parser ([#4257](https://github.com/shaka-project/shaka-player/issues/4257)) ([62bda2c](https://github.com/shaka-project/shaka-player/commit/62bda2cd36c6d49d08c10757bfe5869b5be54b88))
25
+ * **cast:** Add Android receiver support ([#4183](https://github.com/shaka-project/shaka-player/issues/4183)) ([dbba571](https://github.com/shaka-project/shaka-player/commit/dbba571c6bb7e99a99469ffb695f59a590d44118))
26
+ * **hls:** Add support for EXT-X-GAP ([#4208](https://github.com/shaka-project/shaka-player/issues/4208)) ([14e61a7](https://github.com/shaka-project/shaka-player/commit/14e61a7368ddbd66c4b10f3b0475840cc50512bd)), closes [#1308](https://github.com/shaka-project/shaka-player/issues/1308)
27
+ * Temporarily disable the active variant from NETWORK HTTP_ERROR ([#4189](https://github.com/shaka-project/shaka-player/issues/4189)) ([b57279d](https://github.com/shaka-project/shaka-player/commit/b57279d39c24d3b2568c4b62338524ecc23423ad)), closes [#4121](https://github.com/shaka-project/shaka-player/issues/4121) [#1542](https://github.com/shaka-project/shaka-player/issues/1542) [#2541](https://github.com/shaka-project/shaka-player/issues/2541)
28
+ * **UI:** Added keyboardSeekDistance config to UI ([#4246](https://github.com/shaka-project/shaka-player/issues/4246)) ([6084ca6](https://github.com/shaka-project/shaka-player/commit/6084ca6395fbe3d5a97fa92137b8bb51f15c89f8))
15
29
 
16
30
 
17
31
  ### Bug Fixes
18
32
 
19
- * Do not report MANIFEST RESTRICTIONS_CANNOT_BE_MET error twice ([#4194](https://github.com/shaka-project/shaka-player/issues/4194)) ([0b03e79](https://github.com/shaka-project/shaka-player/commit/0b03e7900bd28420e6b066f909a69ff511144471)), closes [#4190](https://github.com/shaka-project/shaka-player/issues/4190)
20
- * **fairplay:** Re-add initDataTransform config ([#4231](https://github.com/shaka-project/shaka-player/issues/4231)) ([9a6f150](https://github.com/shaka-project/shaka-player/commit/9a6f150c082e477f9dae95c4436d6ff764481d02))
21
- * Fix event listener leaks in Player ([#4229](https://github.com/shaka-project/shaka-player/issues/4229)) ([e6c3b22](https://github.com/shaka-project/shaka-player/commit/e6c3b226ba25cd62b288c75da895531ed27087c0))
22
- * Fix exception with streaming.startAtSegmentBoundary ([#4216](https://github.com/shaka-project/shaka-player/issues/4216)) ([24eac2c](https://github.com/shaka-project/shaka-player/commit/24eac2c4bcea726f36d11845d8a174672c28e74f)), closes [#4188](https://github.com/shaka-project/shaka-player/issues/4188)
23
- * Fix PERIOD_FLATTENING_FAILED error when periods have different base sample types ([#4206](https://github.com/shaka-project/shaka-player/issues/4206)) ([0482aec](https://github.com/shaka-project/shaka-player/commit/0482aec127e5429434ba015bd98ae8c5e15fef68)), closes [#4202](https://github.com/shaka-project/shaka-player/issues/4202)
24
- * Fix VTT cue timing in HLS ([#4217](https://github.com/shaka-project/shaka-player/issues/4217)) ([69d1c14](https://github.com/shaka-project/shaka-player/commit/69d1c143aaade9167cba03a05daea5b94b3ccf95)), closes [#4191](https://github.com/shaka-project/shaka-player/issues/4191)
25
- * **hls:** Fix av1 codec selection in HLS. ([#4203](https://github.com/shaka-project/shaka-player/issues/4203)) ([4d418be](https://github.com/shaka-project/shaka-player/commit/4d418be18334b181ab7f32f9e9fe66522fc9057a))
26
- * **hls:** Fix X-PRELOAD-HINT failure with LL mode off ([#4212](https://github.com/shaka-project/shaka-player/issues/4212)) ([ae84aac](https://github.com/shaka-project/shaka-player/commit/ae84aac87cc4331139a98441c90993319a3b19ef)), closes [#4185](https://github.com/shaka-project/shaka-player/issues/4185)
27
- * Wait for chapters track to be loaded ([#4228](https://github.com/shaka-project/shaka-player/issues/4228)) ([dec3d9c](https://github.com/shaka-project/shaka-player/commit/dec3d9c50505a6a7707232f595acbe1cfea8c3a0)), closes [#4186](https://github.com/shaka-project/shaka-player/issues/4186)
33
+ * **abr:** use Network Info API in ABR getBandwidthEstimate ([#4263](https://github.com/shaka-project/shaka-player/issues/4263)) ([4fc7a48](https://github.com/shaka-project/shaka-player/commit/4fc7a4893fd081d4dafa26a2034361afd7b7e6ed))
34
+ * Do not report MANIFEST RESTRICTIONS_CANNOT_BE_MET error twice ([#4194](https://github.com/shaka-project/shaka-player/issues/4194)) ([08589e8](https://github.com/shaka-project/shaka-player/commit/08589e8fb27f3f73f64204e7d3a2387f3c197d84)), closes [#4190](https://github.com/shaka-project/shaka-player/issues/4190)
35
+ * Don't send drmsessionupdate after unload ([#4248](https://github.com/shaka-project/shaka-player/issues/4248)) ([60af9ad](https://github.com/shaka-project/shaka-player/commit/60af9ad596e5c2cb31d1e7bb616e415cf46ca761))
36
+ * **fairplay:** Re-add initDataTransform config ([#4231](https://github.com/shaka-project/shaka-player/issues/4231)) ([ff310e9](https://github.com/shaka-project/shaka-player/commit/ff310e91e564bcc4be340c47bf1be81a5323765a))
37
+ * Fix audio mime type in multiplexed HLS stream ([#4241](https://github.com/shaka-project/shaka-player/issues/4241)) ([4e4e92e](https://github.com/shaka-project/shaka-player/commit/4e4e92e98da357285547859a98e6b3fe75d1904f))
38
+ * Fix event listener leaks in Player ([#4229](https://github.com/shaka-project/shaka-player/issues/4229)) ([a5d3568](https://github.com/shaka-project/shaka-player/commit/a5d356874ba90069ca5a86be1979a5904a1150e8))
39
+ * Fix exception with streaming.startAtSegmentBoundary ([#4216](https://github.com/shaka-project/shaka-player/issues/4216)) ([426a19c](https://github.com/shaka-project/shaka-player/commit/426a19c8e7ff188390e7430fb02f3cfcb79cc017)), closes [#4188](https://github.com/shaka-project/shaka-player/issues/4188)
40
+ * Fix PERIOD_FLATTENING_FAILED error when periods have different base sample types ([#4206](https://github.com/shaka-project/shaka-player/issues/4206)) ([b757a81](https://github.com/shaka-project/shaka-player/commit/b757a81902a2159b217e7cb6a1445ab6d4d69bf4)), closes [#4202](https://github.com/shaka-project/shaka-player/issues/4202)
41
+ * Fix VTT cue timing in HLS ([#4217](https://github.com/shaka-project/shaka-player/issues/4217)) ([5818260](https://github.com/shaka-project/shaka-player/commit/58182605a7da3c18a7331828c319c88446a13d52)), closes [#4191](https://github.com/shaka-project/shaka-player/issues/4191)
42
+ * **hls:** Fix av1 codec selection in HLS. ([#4203](https://github.com/shaka-project/shaka-player/issues/4203)) ([5e13495](https://github.com/shaka-project/shaka-player/commit/5e1349570d64c17e6ca1fcdc5ffde1076ea9a999))
43
+ * **HLS:** Fix duplicate hinted segments ([#4258](https://github.com/shaka-project/shaka-player/issues/4258)) ([9171f73](https://github.com/shaka-project/shaka-player/commit/9171f733e8de0b811ebac71d5ddbe0cb1ff7c75b)), closes [#4223](https://github.com/shaka-project/shaka-player/issues/4223)
44
+ * **hls:** Fix X-PRELOAD-HINT failure with LL mode off ([#4212](https://github.com/shaka-project/shaka-player/issues/4212)) ([86497a5](https://github.com/shaka-project/shaka-player/commit/86497a5089e272ed682f017f5ed9135108be5a65)), closes [#4185](https://github.com/shaka-project/shaka-player/issues/4185)
45
+ * **ui:** Widen touchable button area ([#3249](https://github.com/shaka-project/shaka-player/issues/3249)) ([6c0283e](https://github.com/shaka-project/shaka-player/commit/6c0283e7d040fd0df9383454b174a7ceb2678c89))
46
+ * Upgrade mux.js to version that emits partial ID3 when malformed ([#4259](https://github.com/shaka-project/shaka-player/issues/4259)) ([dc88fe0](https://github.com/shaka-project/shaka-player/commit/dc88fe0814f82aa447a3fa8f7098c85621faf9c6)), closes [#3761](https://github.com/shaka-project/shaka-player/issues/3761)
47
+ * Wait for chapters track to be loaded ([#4228](https://github.com/shaka-project/shaka-player/issues/4228)) ([80e81f1](https://github.com/shaka-project/shaka-player/commit/80e81f139129dbe1c797ee07fedc1217b8790b53)), closes [#4186](https://github.com/shaka-project/shaka-player/issues/4186)
28
48
 
29
49
  ## [4.0.0](https://github.com/shaka-project/shaka-player/compare/v3.3.0...v4.0.0) (2022-04-30)
30
50
 
package/CONTRIBUTORS CHANGED
@@ -66,6 +66,7 @@ John Bowers <john.bowers@verizondigitalmedia.com>
66
66
  Jonas Birmé <jonas.birme@eyevinn.se>
67
67
  Jono Ward <jonoward@gmail.com>
68
68
  Jozef Chúťka <jozefchutka@gmail.com>
69
+ Julian Domingo <juliandomingo@google.com>
69
70
  Jun Hong Chong <chongjunhong@gmail.com>
70
71
  Leandro Ribeiro Moreira <leandro.ribeiro.moreira@gmail.com>
71
72
  Lucas Gabriel Sánchez <unkiwii@gmail.com>
@@ -116,3 +117,4 @@ Vignesh Venkatasubramanian <vigneshv@google.com>
116
117
  Vincent Valot <valot.vince@gmail.com>
117
118
  Wayne Morgan <wayne.morgan.dev@gmail.com>
118
119
  Yohann Connell <robinconnell@google.com>
120
+ Raymond Cheng <raycheng100@gmail.com>
package/build/test.py CHANGED
@@ -104,7 +104,7 @@ def _GetDefaultBrowsers():
104
104
  return ['Chrome','Edge','Firefox','Safari']
105
105
 
106
106
  if shakaBuildHelpers.is_windows() or shakaBuildHelpers.is_cygwin():
107
- return ['Chrome','Edge','Firefox','IE']
107
+ return ['Chrome','Edge','Firefox']
108
108
 
109
109
  raise Error('Unrecognized system: %s' % platform.uname()[0])
110
110
 
@@ -84,7 +84,7 @@ shakaAssets.identifierForKeySystem = (keySystem) => {
84
84
  const KeySystem = shakaAssets.KeySystem;
85
85
  switch (keySystem) {
86
86
  case KeySystem.CLEAR_KEY: return 'org.w3.clearkey';
87
- case KeySystem.FAIRPLAY: return 'com.apple.fps.1_0';
87
+ case KeySystem.FAIRPLAY: return 'com.apple.fps';
88
88
  case KeySystem.PLAYREADY: return 'com.microsoft.playready';
89
89
  case KeySystem.WIDEVINE: return 'com.widevine.alpha';
90
90
  default: return 'no drm protection';
@@ -207,6 +207,7 @@ shakaDemo.MessageIds = {
207
207
  MANIFEST_SECTION_HEADER: 'DEMO_MANIFEST_SECTION_HEADER',
208
208
  MAX_ATTEMPTS: 'DEMO_MAX_ATTEMPTS',
209
209
  MAX_BANDWIDTH: 'DEMO_MAX_BANDWIDTH',
210
+ MAX_DISABLED_TIME: 'DEMO_MAX_DISABLED_TIME',
210
211
  MAX_FRAMERATE: 'DEMO_MAX_FRAMERATE',
211
212
  MAX_HEIGHT: 'DEMO_MAX_HEIGHT',
212
213
  MAX_PIXELS: 'DEMO_MAX_PIXELS',
package/demo/config.js CHANGED
@@ -392,7 +392,9 @@ shakaDemo.Config = class {
392
392
  .addBoolInput_(MessageIds.DISPATCH_ALL_EMSG_BOXES,
393
393
  'streaming.dispatchAllEmsgBoxes')
394
394
  .addBoolInput_(MessageIds.OBSERVE_QUALITY_CHANGES,
395
- 'streaming.observeQualityChanges');
395
+ 'streaming.observeQualityChanges')
396
+ .addNumberInput_(MessageIds.MAX_DISABLED_TIME,
397
+ 'streaming.maxDisabledTime');
396
398
 
397
399
  if (!shakaDemoMain.getNativeControlsEnabled()) {
398
400
  this.addBoolInput_(MessageIds.ALWAYS_STREAM_TEXT,
@@ -133,6 +133,7 @@
133
133
  "DEMO_MANIFEST_URL_ERROR": "Must have a manifest URL, or IMA DAI id fields",
134
134
  "DEMO_MAX_ATTEMPTS": "Max Attempts",
135
135
  "DEMO_MAX_BANDWIDTH": "Max Bandwidth",
136
+ "DEMO_MAX_DISABLED_TIME": "Max Variant Disabled Time",
136
137
  "DEMO_MAX_FRAMERATE": "Max Framerate",
137
138
  "DEMO_MAX_HEIGHT": "Max Height",
138
139
  "DEMO_MAX_PIXELS": "Max Pixels",
@@ -535,6 +535,10 @@
535
535
  "description": "The name of a configuration value.",
536
536
  "message": "Max Bandwidth"
537
537
  },
538
+ "DEMO_MAX_DISABLED_TIME": {
539
+ "description": "The maximum amount of seconds a variant can be disabled when an error is thrown.",
540
+ "message": "Max Variant Disabled Time"
541
+ },
538
542
  "DEMO_MAX_FRAMERATE": {
539
543
  "description": "The name of a configuration value.",
540
544
  "message": "Max Framerate"
package/demo/main.js CHANGED
@@ -1233,9 +1233,6 @@ shakaDemo.Main = class {
1233
1233
  // The currently-selected asset changed, so update asset cards.
1234
1234
  this.dispatchEventWithName_('shaka-main-selected-asset-changed');
1235
1235
 
1236
- await this.drmConfiguration_(asset);
1237
- this.controls_.getCastProxy().setAppData({'asset': asset});
1238
-
1239
1236
  // Enable the correct set of controls before loading.
1240
1237
  // The video container influences the TextDisplayer used.
1241
1238
  if (this.nativeControlsEnabled_) {
@@ -1250,6 +1247,9 @@ shakaDemo.Main = class {
1250
1247
  this.player_.setVideoContainer(this.container_);
1251
1248
  }
1252
1249
 
1250
+ await this.drmConfiguration_(asset);
1251
+ this.controls_.getCastProxy().setAppData({'asset': asset});
1252
+
1253
1253
  // Finally, the asset can be loaded.
1254
1254
  let manifestUri = asset.manifestUri;
1255
1255
  // If we have an offline copy, use that. If the offlineUri field is null,
@@ -141,8 +141,8 @@ BANDWIDTH_DOWNGRADE:"DEMO_BANDWIDTH_DOWNGRADE",BANDWIDTH_ESTIMATE:"DEMO_BANDWIDT
141
141
  DELAY_LICENSE:"DEMO_DELAY_LICENSE",DISABLE_AUDIO:"DEMO_DISABLE_AUDIO",DISABLE_TEXT:"DEMO_DISABLE_TEXT",DISABLE_THUMBNAILS:"DEMO_DISABLE_THUMBNAILS",DISABLE_VIDEO:"DEMO_DISABLE_VIDEO",DISABLE_XLINK_PROCESSING:"DEMO_DISABLE_XLINK_PROCESSING",DISPATCH_ALL_EMSG_BOXES:"DEMO_DISPATCH_ALL_EMSG_BOXES",OBSERVE_QUALITY_CHANGES:"DEMO_OBSERVE_QUALITY_CHANGES",DRM_RETRY_SECTION_HEADER:"DEMO_DRM_RETRY_SECTION_HEADER",DRM_SECTION_HEADER:"DEMO_DRM_SECTION_HEADER",DRM_SESSION_TYPE:"DEMO_DRM_SESSION_TYPE",DURATION_BACKOFF:"DEMO_DURATION_BACKOFF",
142
142
  ENABLED:"DEMO_ENABLED",FAST_HALF_LIFE:"DEMO_FAST_HALF_LIFE",FORCE_HTTPS:"DEMO_FORCE_HTTPS",FORCE_TRANSMUX_TS:"DEMO_FORCE_TRANSMUX_TS",FUZZ_FACTOR:"DEMO_FUZZ_FACTOR",GAP_DETECTION_THRESHOLD:"DEMO_GAP_DETECTION_THRESHOLD",IGNORE_DASH_EMPTY_ADAPTATION_SET:"DEMO_IGNORE_DASH_EMPTY_ADAPTATION_SET",IGNORE_DASH_DRM:"DEMO_IGNORE_DASH_DRM",IGNORE_DASH_MAX_SEGMENT_DURATION:"DEMO_IGNORE_DASH_MAX_SEGMENT_DURATION",IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY:"DEMO_IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY",IGNORE_HLS_IMAGE_FAILURES:"DEMO_IGNORE_HLS_IMAGE_FAILURES",
143
143
  IGNORE_HLS_TEXT_FAILURES:"DEMO_IGNORE_HLS_TEXT_FAILURES",IGNORE_MANIFEST_PROGRAM_DATE_TIME:"DEMO_IGNORE_MANIFEST_PROGRAM_DATE_TIME",IGNORE_MIN_BUFFER_TIME:"DEMO_IGNORE_MIN_BUFFER_TIME",IGNORE_TEXT_FAILURES:"DEMO_IGNORE_TEXT_FAILURES",INACCURATE_MANIFEST_TOLERANCE:"DEMO_INACCURATE_MANIFEST_TOLERANCE",INITIAL_SEGMENT_LIMIT:"DEMO_INITIAL_SEGMENT_LIMIT",LANGUAGE_SECTION_HEADER:"DEMO_LANGUAGE_SECTION_HEADER",LOG_LEVEL:"DEMO_LOG_LEVEL",LOG_LEVEL_DEBUG:"DEMO_LOG_LEVEL_DEBUG",LOG_LEVEL_INFO:"DEMO_LOG_LEVEL_INFO",
144
- LOG_LEVEL_V:"DEMO_LOG_LEVEL_V",LOG_LEVEL_VV:"DEMO_LOG_LEVEL_VV",LOG_LICENSE_EXCHANGE:"DEMO_LOG_LICENSE_EXCHANGE",LOW_LATENCY:"DEMO_LOW_LATENCY",MANIFEST_RETRY_SECTION_HEADER:"DEMO_MANIFEST_RETRY_SECTION_HEADER",MANIFEST_SECTION_HEADER:"DEMO_MANIFEST_SECTION_HEADER",MAX_ATTEMPTS:"DEMO_MAX_ATTEMPTS",MAX_BANDWIDTH:"DEMO_MAX_BANDWIDTH",MAX_FRAMERATE:"DEMO_MAX_FRAMERATE",MAX_HEIGHT:"DEMO_MAX_HEIGHT",MAX_PIXELS:"DEMO_MAX_PIXELS",MAX_WIDTH:"DEMO_MAX_WIDTH",MIN_BANDWIDTH:"DEMO_MIN_BANDWIDTH",MIN_BYTES:"DEMO_MIN_BYTES",
145
- MIN_FRAMERATE:"DEMO_MIN_FRAMERATE",MIN_HEIGHT:"DEMO_MIN_HEIGHT",MIN_PIXELS:"DEMO_MIN_PIXELS",MIN_TOTAL_BYTES:"DEMO_MIN_TOTAL_BYTES",MIN_WIDTH:"DEMO_MIN_WIDTH",NETWORK_INFORMATION:"DEMO_NETWORK_INFORMATION",NUMBER_DECIMAL_WARNING:"DEMO_NUMBER_DECIMAL_WARNING",NUMBER_INTEGER_WARNING:"DEMO_NUMBER_INTEGER_WARNING",NUMBER_NONZERO_DECIMAL_WARNING:"DEMO_NUMBER_NONZERO_DECIMAL_WARNING",NUMBER_NONZERO_INTEGER_WARNING:"DEMO_NUMBER_NONZERO_INTEGER_WARNING",NUMBER_OF_PARALLEL_DOWNLOADS:"DEMO_NUMBER_OF_PARALLEL_DOWNLOADS",
144
+ LOG_LEVEL_V:"DEMO_LOG_LEVEL_V",LOG_LEVEL_VV:"DEMO_LOG_LEVEL_VV",LOG_LICENSE_EXCHANGE:"DEMO_LOG_LICENSE_EXCHANGE",LOW_LATENCY:"DEMO_LOW_LATENCY",MANIFEST_RETRY_SECTION_HEADER:"DEMO_MANIFEST_RETRY_SECTION_HEADER",MANIFEST_SECTION_HEADER:"DEMO_MANIFEST_SECTION_HEADER",MAX_ATTEMPTS:"DEMO_MAX_ATTEMPTS",MAX_BANDWIDTH:"DEMO_MAX_BANDWIDTH",MAX_DISABLED_TIME:"DEMO_MAX_DISABLED_TIME",MAX_FRAMERATE:"DEMO_MAX_FRAMERATE",MAX_HEIGHT:"DEMO_MAX_HEIGHT",MAX_PIXELS:"DEMO_MAX_PIXELS",MAX_WIDTH:"DEMO_MAX_WIDTH",MIN_BANDWIDTH:"DEMO_MIN_BANDWIDTH",
145
+ MIN_BYTES:"DEMO_MIN_BYTES",MIN_FRAMERATE:"DEMO_MIN_FRAMERATE",MIN_HEIGHT:"DEMO_MIN_HEIGHT",MIN_PIXELS:"DEMO_MIN_PIXELS",MIN_TOTAL_BYTES:"DEMO_MIN_TOTAL_BYTES",MIN_WIDTH:"DEMO_MIN_WIDTH",NETWORK_INFORMATION:"DEMO_NETWORK_INFORMATION",NUMBER_DECIMAL_WARNING:"DEMO_NUMBER_DECIMAL_WARNING",NUMBER_INTEGER_WARNING:"DEMO_NUMBER_INTEGER_WARNING",NUMBER_NONZERO_DECIMAL_WARNING:"DEMO_NUMBER_NONZERO_DECIMAL_WARNING",NUMBER_NONZERO_INTEGER_WARNING:"DEMO_NUMBER_NONZERO_INTEGER_WARNING",NUMBER_OF_PARALLEL_DOWNLOADS:"DEMO_NUMBER_OF_PARALLEL_DOWNLOADS",
146
146
  OFFLINE_SECTION_HEADER:"DEMO_OFFLINE_SECTION_HEADER",PREFER_FORCED_SUBS:"DEMO_PREFER_FORCED_SUBS",PREFER_NATIVE_HLS:"DEMO_PREFER_NATIVE_HLS",REBUFFERING_GOAL:"DEMO_REBUFFERING_GOAL",RESTRICTIONS_SECTION_HEADER:"DEMO_RESTRICTIONS_SECTION_HEADER",SAFE_SEEK_OFFSET:"DEMO_SAFE_SEEK_OFFSET",SAFE_SKIP_DISTANCE:"DEMO_SAFE_SKIP_DISTANCE",SEGMENT_RELATIVE_VTT_TIMING:"DEMO_SEGMENT_RELATIVE_VTT_TIMING",SESSION_ID:"DEMO_SESSION_ID",SHAKA_CONTROLS:"DEMO_SHAKA_CONTROLS",SLOW_HALF_LIFE:"DEMO_SLOW_HALF_LIFE",STALL_DETECTOR_ENABLED:"DEMO_STALL_DETECTOR_ENABLED",
147
147
  STALL_THRESHOLD:"DEMO_STALL_THRESHOLD",STALL_TIMEOUT:"DEMO_STALL_TIMEOUT",START_AT_SEGMENT_BOUNDARY:"DEMO_START_AT_SEGMENT_BOUNDARY",STREAMING_RETRY_SECTION_HEADER:"DEMO_STREAMING_RETRY_SECTION_HEADER",STREAMING_SECTION_HEADER:"DEMO_STREAMING_SECTION_HEADER",SWITCH_INTERVAL:"DEMO_SWITCH_INTERVAL",TEXT_LANGUAGE:"DEMO_TEXT_LANGUAGE",TEXT_ROLE:"DEMO_TEXT_ROLE",TIMEOUT:"DEMO_TIMEOUT",TRICK_PLAY_CONTROLS:"DEMO_TRICK_PLAY_CONTROLS",TRICK_PLAY_CONTROLS_WARNING:"DEMO_TRICK_PLAY_CONTROLS_WARNING",UI_LOCALE:"DEMO_UI_LOCALE",
148
148
  UPDATE_EXPIRATION_TIME:"DEMO_UPDATE_EXPIRATION_TIME",UPDATE_INTERVAL_SECONDS:"DEMO_UPDATE_INTERVAL_SECONDS",USE_HEADERS:"DEMO_USE_HEADERS",USE_NATIVE_HLS_SAFARI:"DEMO_USE_NATIVE_HLS_SAFARI",USE_PERSISTENT_LICENSES:"DEMO_USE_PERSISTENT_LICENSES",VIDEO_ROBUSTNESS:"DEMO_VIDEO_ROBUSTNESS",XLINK_FAIL_GRACEFULLY:"DEMO_XLINK_FAIL_GRACEFULLY"}};var ShakaDemoAssetInfo=function(a,b,c,d){this.name=a;this.shortName="";this.iconUri=b;this.manifestUri=c;this.source=d;this.disabled=this.focus=!1;this.extraText=[];this.description=this.certificateUri=null;this.isFeatured=!1;this.drm=[shakaAssets.KeySystem.CLEAR];this.features=[shakaAssets.Feature.VOD];this.licenseServers=new Map;this.licenseRequestHeaders=new Map;this.responseFilter=this.requestFilter=null;this.clearKeys=new Map;this.mediaPlaylistFullMimeType=this.mimeType=this.imaContentSrcId=
@@ -161,7 +161,7 @@ shakaAssets.Source={CUSTOM:shakaDemo.MessageIds.CUSTOM,SHAKA:shakaDemo.MessageId
161
161
  MICROSOFT:shakaDemo.MessageIds.MICROSOFT};shakaAssets.KeySystem={CLEAR_KEY:shakaDemo.MessageIds.CLEAR_KEY,FAIRPLAY:shakaDemo.MessageIds.FAIRPLAY,PLAYREADY:shakaDemo.MessageIds.PLAYREADY,WIDEVINE:shakaDemo.MessageIds.WIDEVINE,CLEAR:shakaDemo.MessageIds.CLEAR};
162
162
  shakaAssets.AdTag={SINGLE_LINEAR_AD:"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=",SINGLE_NON_LINEAR_AD:"https://pubads.g.doubleclick.net/gampad/ads?sz=480x70&iu=/124319096/external/single_ad_samples&ciu_szs=300x250 &impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dnonlinear&correlator=",
163
163
  SINGLE_SKIPPABLE_AD:"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dskippablelinear&correlator=",AD_POD_PREROLL_MIDROLL_POSTROLL:"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/ad_rule_samples&ciu_szs=300x250&ad_rule=1&impl=s&gdfp_req=1&env=vp&output=vmap&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpostpod&cmsid=496&vid=short_onecue&correlator="};
164
- shakaAssets.identifierForKeySystem=function(a){var b=shakaAssets.KeySystem;switch(a){case b.CLEAR_KEY:return"org.w3.clearkey";case b.FAIRPLAY:return"com.apple.fps.1_0";case b.PLAYREADY:return"com.microsoft.playready";case b.WIDEVINE:return"com.widevine.alpha";default:return"no drm protection"}};
164
+ shakaAssets.identifierForKeySystem=function(a){var b=shakaAssets.KeySystem;switch(a){case b.CLEAR_KEY:return"org.w3.clearkey";case b.FAIRPLAY:return"com.apple.fps";case b.PLAYREADY:return"com.microsoft.playready";case b.WIDEVINE:return"com.widevine.alpha";default:return"no drm protection"}};
165
165
  shakaAssets.Feature={TRICK_MODE:shakaDemo.MessageIds.TRICK_MODE,XLINK:shakaDemo.MessageIds.XLINK,SUBTITLES:shakaDemo.MessageIds.SUBTITLES,CAPTIONS:shakaDemo.MessageIds.CAPTIONS,MULTIPLE_LANGUAGES:shakaDemo.MessageIds.MULTIPLE_LANGUAGES,AUDIO_ONLY:shakaDemo.MessageIds.AUDIO_ONLY,OFFLINE:shakaDemo.MessageIds.OFFLINE,STORED:shakaDemo.MessageIds.STORED,ADS:shakaDemo.MessageIds.ADS,LIVE:shakaDemo.MessageIds.LIVE,VOD:shakaDemo.MessageIds.VOD,WEBM:shakaDemo.MessageIds.WEBM,MP4:shakaDemo.MessageIds.MP4,MP2TS:shakaDemo.MessageIds.MP2TS,
166
166
  CONTAINERLESS:shakaDemo.MessageIds.CONTAINERLESS,HIGH_DEFINITION:shakaDemo.MessageIds.HIGH_DEFINITION,ULTRA_HIGH_DEFINITION:shakaDemo.MessageIds.ULTRA_HIGH_DEFINITION,SURROUND:shakaDemo.MessageIds.SURROUND,DASH:shakaDemo.MessageIds.DASH,HLS:shakaDemo.MessageIds.HLS,THUMBNAILS:shakaDemo.MessageIds.THUMBNAILS};shakaAssets.lastUplynkPrefix="";
167
167
  shakaAssets.UplynkResponseFilter=function(a,b){a==shaka.net.NetworkingEngine.RequestType.MANIFEST&&(shakaAssets.lastUplynkPrefix=b.headers["x-uplynk-prefix"]?b.headers["x-uplynk-prefix"]:"")};
@@ -296,8 +296,8 @@ shakaDemo.Config.prototype.addRetrySection_=function(a,b){var c=shakaDemo.Messag
296
296
  d+"connectionTimeout",!0)};shakaDemo.Config.prototype.addOfflineSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".OfflineConfiguration");this.addSection_(a.OFFLINE_SECTION_HEADER,b).addBoolInput_(a.USE_PERSISTENT_LICENSES,"offline.usePersistentLicense").addNumberInput_(a.NUMBER_OF_PARALLEL_DOWNLOADS,"offline.numberOfParallelDownloads")};
297
297
  shakaDemo.Config.prototype.addStreamingSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".StreamingConfiguration");this.addSection_(a.STREAMING_SECTION_HEADER,b).addNumberInput_(a.GAP_DETECTION_THRESHOLD,"streaming.gapDetectionThreshold",!0).addNumberInput_(a.BUFFERING_GOAL,"streaming.bufferingGoal",!0).addNumberInput_(a.DURATION_BACKOFF,"streaming.durationBackoff",!0).addNumberInput_(a.REBUFFERING_GOAL,"streaming.rebufferingGoal",!0).addNumberInput_(a.BUFFER_BEHIND,"streaming.bufferBehind",
298
298
  !0).addNumberInput_(a.SAFE_SEEK_OFFSET,"streaming.safeSeekOffset",!0).addNumberInput_(a.STALL_THRESHOLD,"streaming.stallThreshold",!0).addNumberInput_(a.SAFE_SKIP_DISTANCE,"streaming.stallSkip",!0).addNumberInput_(a.INACCURATE_MANIFEST_TOLERANCE,"streaming.inaccurateManifestTolerance",!0).addBoolInput_(a.LOW_LATENCY,"streaming.lowLatencyMode").addBoolInput_(a.AUTO_LOW_LATENCY,"streaming.autoLowLatencyMode").addBoolInput_(a.FORCE_HTTPS,"streaming.forceHTTPS").addBoolInput_(a.PREFER_NATIVE_HLS,"streaming.preferNativeHls").addNumberInput_(a.UPDATE_INTERVAL_SECONDS,
299
- "streaming.updateIntervalSeconds",!0).addBoolInput_(a.DISPATCH_ALL_EMSG_BOXES,"streaming.dispatchAllEmsgBoxes").addBoolInput_(a.OBSERVE_QUALITY_CHANGES,"streaming.observeQualityChanges");shakaDemoMain.getNativeControlsEnabled()?(this.addCustomBoolInput_(a.ALWAYS_STREAM_TEXT,function(c){},a.ALWAYS_STREAM_TEXT_WARNING),this.latestInput_.input().disabled=!0,this.latestInput_.input().checked=!0):this.addBoolInput_(a.ALWAYS_STREAM_TEXT,"streaming.alwaysStreamText");this.addBoolInput_(a.FORCE_TRANSMUX_TS,
300
- "streaming.forceTransmuxTS").addBoolInput_(a.START_AT_SEGMENT_BOUNDARY,"streaming.startAtSegmentBoundary").addBoolInput_(a.IGNORE_TEXT_FAILURES,"streaming.ignoreTextStreamFailures").addBoolInput_(a.STALL_DETECTOR_ENABLED,"streaming.stallEnabled").addBoolInput_(a.USE_NATIVE_HLS_SAFARI,"streaming.useNativeHlsOnSafari");this.addRetrySection_("streaming",a.STREAMING_RETRY_SECTION_HEADER)};
299
+ "streaming.updateIntervalSeconds",!0).addBoolInput_(a.DISPATCH_ALL_EMSG_BOXES,"streaming.dispatchAllEmsgBoxes").addBoolInput_(a.OBSERVE_QUALITY_CHANGES,"streaming.observeQualityChanges").addNumberInput_(a.MAX_DISABLED_TIME,"streaming.maxDisabledTime");shakaDemoMain.getNativeControlsEnabled()?(this.addCustomBoolInput_(a.ALWAYS_STREAM_TEXT,function(c){},a.ALWAYS_STREAM_TEXT_WARNING),this.latestInput_.input().disabled=!0,this.latestInput_.input().checked=!0):this.addBoolInput_(a.ALWAYS_STREAM_TEXT,"streaming.alwaysStreamText");
300
+ this.addBoolInput_(a.FORCE_TRANSMUX_TS,"streaming.forceTransmuxTS").addBoolInput_(a.START_AT_SEGMENT_BOUNDARY,"streaming.startAtSegmentBoundary").addBoolInput_(a.IGNORE_TEXT_FAILURES,"streaming.ignoreTextStreamFailures").addBoolInput_(a.STALL_DETECTOR_ENABLED,"streaming.stallEnabled").addBoolInput_(a.USE_NATIVE_HLS_SAFARI,"streaming.useNativeHlsOnSafari");this.addRetrySection_("streaming",a.STREAMING_RETRY_SECTION_HEADER)};
301
301
  shakaDemo.Config.prototype.addLanguageSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".PlayerConfiguration");this.addSection_(a.LANGUAGE_SECTION_HEADER,b).addTextInput_(a.AUDIO_LANGUAGE,"preferredAudioLanguage").addTextInput_(a.TEXT_LANGUAGE,"preferredTextLanguage").addTextInput_(a.TEXT_ROLE,"preferredTextRole");this.addCustomTextInput_(a.UI_LOCALE,function(c){shakaDemoMain.setUILocale(c.value);shakaDemoMain.remakeHash()});this.latestInput_.input().value=shakaDemoMain.getUILocale();
302
302
  this.addNumberInput_(a.AUDIO_CHANNEL_COUNT,"preferredAudioChannelCount");this.addBoolInput_(a.PREFER_FORCED_SUBS,"preferForcedSubs")};
303
303
  shakaDemo.Config.prototype.addMetaSection_=function(){var a=this,b=shakaDemo.MessageIds;this.addSection_(null,null);this.addCustomBoolInput_(b.SHAKA_CONTROLS,function(f){shakaDemoMain.setNativeControlsEnabled(!f.checked);f.checked&&(shakaDemoMain.configure("streaming.alwaysStreamText",!0),shakaDemoMain.remakeHash());a.reloadAndSaveState_()});shakaDemoMain.getNativeControlsEnabled()||(this.latestInput_.input().checked=!0);shakaDemoMain.getNativeControlsEnabled()?(this.addCustomBoolInput_(b.TRICK_PLAY_CONTROLS,
@@ -401,8 +401,8 @@ null);this.remakeHash()};
401
401
  shakaDemo.Main.prototype.drmConfiguration_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p;return $jscomp.asyncExecutePromiseGeneratorProgram(function(q){if(1==q.nextAddress){d=b?b.getNetworkingEngine():c.player_.getNetworkingEngine();goog.asserts.assert(d,"There should be a net engine.");a.applyFilters(d);e=a.getConfiguration();b?b.configure(e):(c.player_.resetConfiguration(),c.player_.configure(c.desiredConfig_),c.player_.configure(e));f=b?b.getConfiguration():c.player_.getConfiguration();if(!a.certificateUri){g=
402
402
  $jscomp.makeIterator(a.licenseServers.keys());for(h=g.next();!h.done;h=g.next())k=h.value,f.drm.advanced[k]&&delete f.drm.advanced[k].serverCertificate;return q.jumpTo(2)}return q.yield(c.requestCertificate_(a.certificateUri,d),3)}if(2!=q.nextAddress)for(l=q.yieldResult,m=shaka.util.BufferUtils.toUint8(l),n=$jscomp.makeIterator(a.licenseServers.keys()),h=n.next();!h.done;h=n.next())p=h.value,f.drm.advanced[p]=f.drm.advanced[p]||{},f.drm.advanced[p].serverCertificate=m;b?b.configure(f):c.player_.configure("drm.advanced",
403
403
  f.drm.advanced);c.remakeHash();q.jumpToEnd()})};shakaDemo.Main.prototype.showPlayer_=function(){var a=document.getElementById("video-bar");this.showElement_(a);this.closeError_();this.video_.poster=shakaDemo.Main.mainPoster_;a.scrollIntoView({behavior:"smooth",block:"start"})};
404
- shakaDemo.Main.prototype.loadAsset=function(a){var b=this,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){switch(k.nextAddress){case 1:return k.setCatchFinallyBlocks(2),b.selectedAsset=a,b.showPlayer_(),b.dispatchEventWithName_("shaka-main-selected-asset-changed"),k.yield(b.drmConfiguration_(a),4);case 4:b.controls_.getCastProxy().setAppData({asset:a});b.nativeControlsEnabled_?(b.controls_.setEnabledShakaControls(!1),b.controls_.setEnabledNativeControls(!0),b.player_.setVideoContainer(null)):
405
- (b.controls_.setEnabledShakaControls(!0),b.controls_.setEnabledNativeControls(!1),b.player_.setVideoContainer(b.container_));c=a.manifestUri;a.storedContent&&a.storedContent.offlineUri&&(c=a.storedContent.offlineUri);if(!(a.imaAssetKey||a.imaContentSrcId&&a.imaVideoId)){k.jumpTo(5);break}return k.yield(b.getManifestUriFromAdManager_(a),6);case 6:c=k.yieldResult;case 5:return k.yield(b.player_.load(c,null,a.mimeType||void 0),7);case 7:b.player_.isAudioOnly()&&(b.video_.poster=shakaDemo.Main.audioOnlyPoster_);
404
+ shakaDemo.Main.prototype.loadAsset=function(a){var b=this,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){switch(k.nextAddress){case 1:return k.setCatchFinallyBlocks(2),b.selectedAsset=a,b.showPlayer_(),b.dispatchEventWithName_("shaka-main-selected-asset-changed"),b.nativeControlsEnabled_?(b.controls_.setEnabledShakaControls(!1),b.controls_.setEnabledNativeControls(!0),b.player_.setVideoContainer(null)):(b.controls_.setEnabledShakaControls(!0),b.controls_.setEnabledNativeControls(!1),
405
+ b.player_.setVideoContainer(b.container_)),k.yield(b.drmConfiguration_(a),4);case 4:b.controls_.getCastProxy().setAppData({asset:a});c=a.manifestUri;a.storedContent&&a.storedContent.offlineUri&&(c=a.storedContent.offlineUri);if(!(a.imaAssetKey||a.imaContentSrcId&&a.imaVideoId)){k.jumpTo(5);break}return k.yield(b.getManifestUriFromAdManager_(a),6);case 6:c=k.yieldResult;case 5:return k.yield(b.player_.load(c,null,a.mimeType||void 0),7);case 7:b.player_.isAudioOnly()&&(b.video_.poster=shakaDemo.Main.audioOnlyPoster_);
406
406
  if((d=b.player_.getAdManager())&&a.adTagUri)try{goog.asserts.assert(null!=b.video_,"this.video should exist!"),d.initClientSide(b.controls_.getClientSideAdContainer(),b.video_),e=new google.ima.AdsRequest,e.adTagUrl=a.adTagUri,d.requestClientSideAds(e)}catch(l){console.log(l),console.warn("Ads code has been prevented from running. Proceeding without ads.")}navigator.mediaSession&&(f={title:a.name,artwork:[{src:a.iconUri}]},f.artist=a.source,navigator.mediaSession.metadata=new MediaMetadata(f));k.leaveTryBlock(3);
407
407
  break;case 2:if(h=g=k.enterCatchBlock(),h.code==shaka.util.Error.Code.LOAD_INTERRUPTED)console.debug("load() interrupted");else b.onError_(h);case 3:b.remakeHash(),k.jumpToEnd()}})};
408
408
  shakaDemo.Main.prototype.remakeHash=function(){var a=this;if(this.fullyLoaded_){var b=[];if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(f,g){var h=a.getCurrentConfigValue(g),k=a.getValueFromGivenConfig_(g,a.defaultConfig_),l=isNaN(h)&&isNaN(k);h==k||l||b.push(f+"="+h)},c);var d=this.getCurrentConfigValue("drm.advanced");if(d){var e=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems);for(c=e.next();!c.done;c=e.next())if(c=d[c.value]){c.videoRobustness&&