shaka-player 3.1.4 → 3.3.0

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 (214) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +1 -1
  3. package/.github/ISSUE_TEMPLATE/question.md +1 -1
  4. package/AUTHORS +6 -5
  5. package/CHANGELOG.md +363 -0
  6. package/CONTRIBUTORS +4 -2
  7. package/README.md +4 -4
  8. package/build/types/core +3 -0
  9. package/build/types/offline +1 -0
  10. package/build/types/polyfill +2 -0
  11. package/build/types/ui +2 -0
  12. package/demo/common/asset.js +9 -7
  13. package/demo/common/assets.js +28 -1
  14. package/demo/common/message_ids.js +15 -2
  15. package/demo/config.js +35 -2
  16. package/demo/index.html +1 -1
  17. package/demo/locales/en.json +14 -1
  18. package/demo/locales/source.json +56 -4
  19. package/demo/main.js +2 -1
  20. package/dist/controls.css +26 -2
  21. package/dist/controls.css.map +1 -1
  22. package/dist/demo.compiled.debug.js +24 -21
  23. package/dist/demo.compiled.debug.map +3 -3
  24. package/dist/demo.compiled.js +24 -21
  25. package/dist/demo.compiled.map +3 -3
  26. package/dist/deps.js +33 -25
  27. package/dist/locales.js +31 -29
  28. package/dist/receiver.compiled.debug.js +14 -12
  29. package/dist/receiver.compiled.debug.map +3 -3
  30. package/dist/receiver.compiled.js +14 -12
  31. package/dist/receiver.compiled.map +3 -3
  32. package/dist/shaka-player.compiled.d.ts +258 -20
  33. package/dist/shaka-player.compiled.debug.d.ts +258 -20
  34. package/dist/shaka-player.compiled.debug.externs.js +1005 -695
  35. package/dist/shaka-player.compiled.debug.js +720 -640
  36. package/dist/shaka-player.compiled.debug.map +4 -4
  37. package/dist/shaka-player.compiled.externs.js +1005 -695
  38. package/dist/shaka-player.compiled.js +850 -817
  39. package/dist/shaka-player.compiled.map +4 -4
  40. package/dist/shaka-player.ui.d.ts +274 -21
  41. package/dist/shaka-player.ui.debug.d.ts +274 -21
  42. package/dist/shaka-player.ui.debug.externs.js +766 -429
  43. package/dist/shaka-player.ui.debug.js +863 -765
  44. package/dist/shaka-player.ui.debug.map +4 -4
  45. package/dist/shaka-player.ui.externs.js +766 -429
  46. package/dist/shaka-player.ui.js +1042 -996
  47. package/dist/shaka-player.ui.map +4 -4
  48. package/docs/design/bg-fetch-after.gv +29 -0
  49. package/docs/design/bg-fetch-after.gv.png +0 -0
  50. package/docs/design/bg-fetch-before.gv +18 -0
  51. package/docs/design/bg-fetch-before.gv.png +0 -0
  52. package/docs/design/bg-fetch.md +134 -0
  53. package/docs/tutorials/blob-url.md +15 -0
  54. package/docs/tutorials/index.json +1 -0
  55. package/docs/tutorials/ui-customization.md +66 -0
  56. package/docs/tutorials/ui.md +5 -5
  57. package/externs/aria.js +6 -0
  58. package/externs/ima.js +3 -0
  59. package/externs/shaka/ads.js +29 -1
  60. package/externs/shaka/manifest.js +18 -2
  61. package/externs/shaka/manifest_parser.js +10 -1
  62. package/externs/shaka/net.js +20 -4
  63. package/externs/shaka/offline.js +36 -2
  64. package/externs/shaka/player.js +182 -13
  65. package/externs/shaka/text.js +24 -10
  66. package/externs/texttrack.js +3 -0
  67. package/externs/webcrypto.js +18 -0
  68. package/lib/abr/ewma.js +14 -0
  69. package/lib/abr/ewma_bandwidth_estimator.js +16 -2
  70. package/lib/abr/simple_abr_manager.js +6 -0
  71. package/lib/ads/ad_manager.js +16 -15
  72. package/lib/ads/client_side_ad.js +8 -0
  73. package/lib/ads/client_side_ad_manager.js +14 -6
  74. package/lib/ads/server_side_ad.js +7 -0
  75. package/lib/ads/server_side_ad_manager.js +19 -2
  76. package/lib/cast/cast_proxy.js +8 -0
  77. package/lib/cast/cast_utils.js +7 -1
  78. package/lib/cea/cea608_data_channel.js +56 -56
  79. package/lib/cea/cea608_memory.js +33 -33
  80. package/lib/cea/cea708_service.js +43 -43
  81. package/lib/cea/cea708_window.js +38 -38
  82. package/lib/cea/cea_decoder.js +13 -14
  83. package/lib/cea/cea_utils.js +23 -23
  84. package/lib/cea/dtvcc_packet_builder.js +7 -7
  85. package/lib/cea/i_caption_decoder.js +2 -3
  86. package/lib/cea/i_cea_parser.js +2 -2
  87. package/lib/cea/mp4_cea_parser.js +6 -6
  88. package/lib/dash/dash_parser.js +53 -14
  89. package/lib/dash/segment_base.js +25 -1
  90. package/lib/dash/segment_list.js +18 -9
  91. package/lib/dash/segment_template.js +23 -10
  92. package/lib/hls/hls_parser.js +210 -30
  93. package/lib/media/closed_caption_parser.js +1 -2
  94. package/lib/media/drm_engine.js +162 -192
  95. package/lib/media/quality_observer.js +291 -0
  96. package/lib/media/segment_index.js +9 -1
  97. package/lib/media/segment_reference.js +37 -5
  98. package/lib/media/streaming_engine.js +48 -10
  99. package/lib/net/http_fetch_plugin.js +31 -11
  100. package/lib/net/http_plugin_utils.js +1 -0
  101. package/lib/net/http_xhr_plugin.js +40 -14
  102. package/lib/net/networking_engine.js +82 -18
  103. package/lib/offline/download_info.js +68 -0
  104. package/lib/offline/download_manager.js +14 -7
  105. package/lib/offline/indexeddb/base_storage_cell.js +35 -0
  106. package/lib/offline/indexeddb/storage_mechanism.js +1 -1
  107. package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
  108. package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
  109. package/lib/offline/indexeddb/v5_storage_cell.js +5 -0
  110. package/lib/offline/manifest_converter.js +3 -1
  111. package/lib/offline/storage.js +404 -297
  112. package/lib/offline/stored_content_utils.js +2 -0
  113. package/lib/player.js +622 -153
  114. package/lib/polyfill/aria.js +82 -0
  115. package/lib/polyfill/random_uuid.js +52 -0
  116. package/lib/routing/walker.js +2 -3
  117. package/lib/text/cue.js +12 -0
  118. package/lib/text/srt_text_parser.js +4 -4
  119. package/lib/text/text_engine.js +2 -2
  120. package/lib/text/ttml_text_parser.js +25 -2
  121. package/lib/text/ui_text_displayer.js +2 -2
  122. package/lib/text/vtt_text_parser.js +2 -2
  123. package/lib/text/web_vtt_generator.js +55 -12
  124. package/lib/util/cmcd_manager.js +826 -0
  125. package/lib/util/error.js +12 -0
  126. package/lib/util/language_utils.js +12 -0
  127. package/lib/util/manifest_parser_utils.js +1 -0
  128. package/lib/util/mp4_box_parsers.js +20 -20
  129. package/lib/util/multi_map.js +8 -0
  130. package/lib/util/mutex.js +52 -0
  131. package/lib/util/periods.js +98 -64
  132. package/lib/util/player_configuration.js +31 -1
  133. package/lib/util/stream_utils.js +140 -85
  134. package/lib/util/xml_utils.js +31 -12
  135. package/package.json +1 -1
  136. package/roadmap.md +24 -22
  137. package/shaka-player.uncompiled.js +4 -0
  138. package/test/cast/cast_utils_unit.js +1 -0
  139. package/test/cea/cea608_memory_unit.js +1 -1
  140. package/test/cea/cea708_service_unit.js +8 -8
  141. package/test/cea/cea708_window_unit.js +6 -6
  142. package/test/cea/cea_decoder_unit.js +1 -1
  143. package/test/cea/dtvcc_packet_builder_unit.js +2 -2
  144. package/test/dash/dash_parser_content_protection_unit.js +2 -0
  145. package/test/dash/dash_parser_live_unit.js +101 -1
  146. package/test/dash/dash_parser_manifest_unit.js +78 -2
  147. package/test/dash/dash_parser_segment_base_unit.js +2 -0
  148. package/test/dash/dash_parser_segment_list_unit.js +2 -1
  149. package/test/dash/dash_parser_segment_template_unit.js +2 -1
  150. package/test/hls/hls_live_unit.js +2 -0
  151. package/test/hls/hls_parser_unit.js +252 -0
  152. package/test/media/drm_engine_integration.js +86 -12
  153. package/test/media/drm_engine_unit.js +310 -450
  154. package/test/media/quality_observer_unit.js +139 -0
  155. package/test/media/segment_reference_unit.js +16 -1
  156. package/test/media/streaming_engine_integration.js +2 -1
  157. package/test/media/streaming_engine_unit.js +2 -0
  158. package/test/net/http_plugin_unit.js +20 -15
  159. package/test/offline/manifest_convert_unit.js +2 -0
  160. package/test/offline/storage_integration.js +117 -23
  161. package/test/player_integration.js +151 -0
  162. package/test/player_src_equals_integration.js +52 -0
  163. package/test/player_unit.js +11 -33
  164. package/test/test/assets/chapters.srt +11 -0
  165. package/test/test/assets/chapters.vtt +10 -0
  166. package/test/test/util/cea_utils.js +12 -12
  167. package/test/test/util/dash_parser_util.js +4 -0
  168. package/test/test/util/fake_ad.js +7 -0
  169. package/test/test/util/fake_ad_manager.js +7 -0
  170. package/test/test/util/fake_drm_engine.js +9 -2
  171. package/test/test/util/manifest_generator.js +5 -2
  172. package/test/test/util/manifest_parser_util.js +3 -1
  173. package/test/test/util/test_scheme.js +14 -1
  174. package/test/text/ttml_text_parser_unit.js +47 -0
  175. package/test/text/web_vtt_generator_unit.js +81 -7
  176. package/test/ui/ui_unit.js +250 -0
  177. package/test/util/cmcd_manager_unit.js +277 -0
  178. package/test/util/stream_utils_unit.js +118 -10
  179. package/ui/airplay_button.js +2 -1
  180. package/ui/audio_language_selection.js +9 -5
  181. package/ui/cast_button.js +5 -6
  182. package/ui/constants.js +0 -3
  183. package/ui/context_menu.js +109 -0
  184. package/ui/controls.js +41 -7
  185. package/ui/controls.less +1 -0
  186. package/ui/enums.js +4 -0
  187. package/ui/externs/ui.js +28 -1
  188. package/ui/fast_forward_button.js +16 -8
  189. package/ui/fullscreen_button.js +2 -3
  190. package/ui/language_utils.js +1 -1
  191. package/ui/less/buttons.less +0 -4
  192. package/ui/less/containers.less +74 -0
  193. package/ui/less/overflow_menu.less +0 -10
  194. package/ui/less/tooltip.less +97 -0
  195. package/ui/locales/en.json +1 -0
  196. package/ui/locales/source.json +4 -0
  197. package/ui/loop_button.js +6 -3
  198. package/ui/mute_button.js +3 -4
  199. package/ui/overflow_menu.js +7 -28
  200. package/ui/pip_button.js +10 -7
  201. package/ui/play_button.js +2 -2
  202. package/ui/playback_rate_selection.js +11 -15
  203. package/ui/presentation_time.js +1 -3
  204. package/ui/resolution_selection.js +11 -7
  205. package/ui/rewind_button.js +17 -9
  206. package/ui/seek_bar.js +6 -6
  207. package/ui/settings_menu.js +36 -4
  208. package/ui/small_play_button.js +1 -0
  209. package/ui/spacer.js +1 -1
  210. package/ui/statistics_button.js +253 -0
  211. package/ui/text_selection.js +19 -15
  212. package/ui/ui.js +30 -0
  213. package/ui/ui_utils.js +1 -1
  214. package/ui/volume_bar.js +2 -4
package/dist/deps.js CHANGED
@@ -17,7 +17,7 @@ goog.addDependency('../../../../dist/locales.js', ['shaka.ui.Locales'], ['shaka.
17
17
  goog.addDependency('../../../../lib/abr/ewma.js', ['shaka.abr.Ewma'], ['goog.asserts'], {});
18
18
  goog.addDependency('../../../../lib/abr/ewma_bandwidth_estimator.js', ['shaka.abr.EwmaBandwidthEstimator'], ['shaka.abr.Ewma'], {});
19
19
  goog.addDependency('../../../../lib/abr/simple_abr_manager.js', ['shaka.abr.SimpleAbrManager'], ['goog.asserts', 'shaka.abr.EwmaBandwidthEstimator', 'shaka.log', 'shaka.util.Iterables', 'shaka.util.StreamUtils'], {});
20
- goog.addDependency('../../../../lib/ads/ad_manager.js', ['shaka.ads.AdManager', 'shaka.ads.CuePoint'], ['shaka.Player', 'shaka.ads.AdsStats', 'shaka.ads.ClientSideAdManager', 'shaka.ads.ServerSideAdManager', 'shaka.log', 'shaka.util.Error', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IReleasable'], {});
20
+ goog.addDependency('../../../../lib/ads/ad_manager.js', ['shaka.ads.AdManager'], ['shaka.Player', 'shaka.ads.AdsStats', 'shaka.ads.ClientSideAdManager', 'shaka.ads.ServerSideAdManager', 'shaka.log', 'shaka.util.Error', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IReleasable'], {});
21
21
  goog.addDependency('../../../../lib/ads/ads_stats.js', ['shaka.ads.AdsStats'], [], {});
22
22
  goog.addDependency('../../../../lib/ads/client_side_ad.js', ['shaka.ads.ClientSideAd'], ['shaka.util.EventManager'], {});
23
23
  goog.addDependency('../../../../lib/ads/client_side_ad_manager.js', ['shaka.ads.ClientSideAdManager'], ['goog.asserts', 'shaka.ads.ClientSideAd', 'shaka.util.IReleasable'], {});
@@ -34,12 +34,12 @@ goog.addDependency('../../../../lib/cea/cea708_window.js', ['shaka.cea.Cea708Win
34
34
  goog.addDependency('../../../../lib/cea/cea_decoder.js', ['shaka.cea.CeaDecoder'], ['shaka.cea.Cea608DataChannel', 'shaka.cea.Cea708Service', 'shaka.cea.DtvccPacketBuilder', 'shaka.cea.ICaptionDecoder', 'shaka.log', 'shaka.util.DataViewReader', 'shaka.util.Error'], {});
35
35
  goog.addDependency('../../../../lib/cea/cea_utils.js', ['shaka.cea.CeaUtils', 'shaka.cea.CeaUtils.StyledChar'], ['shaka.cea.ICaptionDecoder', 'shaka.text.Cue'], {});
36
36
  goog.addDependency('../../../../lib/cea/dtvcc_packet_builder.js', ['shaka.cea.DtvccPacket', 'shaka.cea.DtvccPacketBuilder'], ['shaka.util.Error'], {});
37
- goog.addDependency('../../../../lib/cea/i_caption_decoder.js', ['shaka.cea.ICaptionDecoder', 'shaka.cea.ICaptionDecoder.ClosedCaption'], ['shaka.text.Cue'], {});
37
+ goog.addDependency('../../../../lib/cea/i_caption_decoder.js', ['shaka.cea.ICaptionDecoder'], ['shaka.text.Cue'], {});
38
38
  goog.addDependency('../../../../lib/cea/i_cea_parser.js', ['shaka.cea.ICeaParser'], [], {});
39
39
  goog.addDependency('../../../../lib/cea/mp4_cea_parser.js', ['shaka.cea.Mp4CeaParser'], ['goog.asserts', 'shaka.cea.ICeaParser', 'shaka.cea.SeiProcessor', 'shaka.util.DataViewReader', 'shaka.util.Error', 'shaka.util.Mp4BoxParsers', 'shaka.util.Mp4Parser'], {});
40
40
  goog.addDependency('../../../../lib/cea/sei_processor.js', ['shaka.cea.SeiProcessor'], [], {});
41
41
  goog.addDependency('../../../../lib/dash/content_protection.js', ['shaka.dash.ContentProtection'], ['goog.asserts', 'shaka.log', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.ManifestParserUtils', 'shaka.util.Pssh', 'shaka.util.StringUtils', 'shaka.util.Uint8ArrayUtils', 'shaka.util.XmlUtils'], {});
42
- goog.addDependency('../../../../lib/dash/dash_parser.js', ['shaka.dash.DashParser'], ['goog.asserts', 'shaka.abr.Ewma', 'shaka.dash.ContentProtection', 'shaka.dash.MpdUtils', 'shaka.dash.SegmentBase', 'shaka.dash.SegmentList', 'shaka.dash.SegmentTemplate', 'shaka.log', 'shaka.media.ManifestParser', 'shaka.media.PresentationTimeline', 'shaka.media.SegmentIndex', 'shaka.net.NetworkingEngine', 'shaka.text.TextEngine', 'shaka.util.Error', 'shaka.util.Functional', 'shaka.util.Iterables', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Networking', 'shaka.util.OperationManager', 'shaka.util.PeriodCombiner', 'shaka.util.StringUtils', 'shaka.util.Timer', 'shaka.util.XmlUtils'], {});
42
+ goog.addDependency('../../../../lib/dash/dash_parser.js', ['shaka.dash.DashParser'], ['goog.asserts', 'shaka.abr.Ewma', 'shaka.dash.ContentProtection', 'shaka.dash.MpdUtils', 'shaka.dash.SegmentBase', 'shaka.dash.SegmentList', 'shaka.dash.SegmentTemplate', 'shaka.log', 'shaka.media.ManifestParser', 'shaka.media.PresentationTimeline', 'shaka.media.SegmentIndex', 'shaka.net.NetworkingEngine', 'shaka.text.TextEngine', 'shaka.util.CmcdManager', 'shaka.util.Error', 'shaka.util.Functional', 'shaka.util.Iterables', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Networking', 'shaka.util.OperationManager', 'shaka.util.PeriodCombiner', 'shaka.util.StringUtils', 'shaka.util.Timer', 'shaka.util.XmlUtils'], {});
43
43
  goog.addDependency('../../../../lib/dash/mpd_utils.js', ['shaka.dash.MpdUtils'], ['goog.asserts', 'shaka.log', 'shaka.net.NetworkingEngine', 'shaka.util.AbortableOperation', 'shaka.util.Error', 'shaka.util.Functional', 'shaka.util.Iterables', 'shaka.util.ManifestParserUtils', 'shaka.util.XmlUtils'], {});
44
44
  goog.addDependency('../../../../lib/dash/segment_base.js', ['shaka.dash.SegmentBase'], ['goog.asserts', 'shaka.dash.MpdUtils', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.Mp4SegmentIndexParser', 'shaka.media.SegmentIndex', 'shaka.media.WebmSegmentIndexParser', 'shaka.util.Error', 'shaka.util.ManifestParserUtils', 'shaka.util.ObjectUtils', 'shaka.util.XmlUtils'], {});
45
45
  goog.addDependency('../../../../lib/dash/segment_list.js', ['shaka.dash.SegmentList'], ['goog.asserts', 'shaka.dash.MpdUtils', 'shaka.dash.SegmentBase', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.SegmentIndex', 'shaka.media.SegmentReference', 'shaka.util.Error', 'shaka.util.Functional', 'shaka.util.Iterables', 'shaka.util.ManifestParserUtils', 'shaka.util.XmlUtils'], {});
@@ -51,7 +51,7 @@ goog.addDependency('../../../../lib/deprecate/deprecate.js', ['shaka.Deprecate']
51
51
  goog.addDependency('../../../../lib/deprecate/enforcer.js', ['shaka.deprecate.Enforcer'], ['shaka.deprecate.Version'], {});
52
52
  goog.addDependency('../../../../lib/deprecate/version.js', ['shaka.deprecate.Version'], [], {});
53
53
  goog.addDependency('../../../../lib/hls/hls_classes.js', ['shaka.hls.Attribute', 'shaka.hls.Playlist', 'shaka.hls.PlaylistType', 'shaka.hls.Segment', 'shaka.hls.Tag'], ['goog.asserts', 'shaka.util.Error'], {});
54
- goog.addDependency('../../../../lib/hls/hls_parser.js', ['shaka.hls.HlsParser'], ['goog.Uri', 'goog.asserts', 'shaka.hls.ManifestTextParser', 'shaka.hls.Playlist', 'shaka.hls.PlaylistType', 'shaka.hls.Tag', 'shaka.hls.Utils', 'shaka.log', 'shaka.media.DrmEngine', 'shaka.media.InitSegmentReference', 'shaka.media.ManifestParser', 'shaka.media.PresentationTimeline', 'shaka.media.SegmentIndex', 'shaka.media.SegmentReference', 'shaka.net.DataUriPlugin', 'shaka.net.NetworkingEngine', 'shaka.util.ArrayUtils', 'shaka.util.BufferUtils', 'shaka.util.DataViewReader', 'shaka.util.Error', 'shaka.util.FakeEvent', 'shaka.util.Functional', 'shaka.util.Iterables', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4BoxParsers', 'shaka.util.Mp4Parser', 'shaka.util.Networking', 'shaka.util.OperationManager', 'shaka.util.Pssh', 'shaka.util.Timer'], {});
54
+ goog.addDependency('../../../../lib/hls/hls_parser.js', ['shaka.hls.HlsParser'], ['goog.Uri', 'goog.asserts', 'shaka.hls.ManifestTextParser', 'shaka.hls.Playlist', 'shaka.hls.PlaylistType', 'shaka.hls.Tag', 'shaka.hls.Utils', 'shaka.log', 'shaka.media.DrmEngine', 'shaka.media.InitSegmentReference', 'shaka.media.ManifestParser', 'shaka.media.PresentationTimeline', 'shaka.media.SegmentIndex', 'shaka.media.SegmentReference', 'shaka.net.DataUriPlugin', 'shaka.net.NetworkingEngine', 'shaka.util.ArrayUtils', 'shaka.util.BufferUtils', 'shaka.util.CmcdManager', 'shaka.util.DataViewReader', 'shaka.util.Error', 'shaka.util.FakeEvent', 'shaka.util.Functional', 'shaka.util.Iterables', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4BoxParsers', 'shaka.util.Mp4Parser', 'shaka.util.Networking', 'shaka.util.OperationManager', 'shaka.util.Pssh', 'shaka.util.Timer'], {});
55
55
  goog.addDependency('../../../../lib/hls/hls_utils.js', ['shaka.hls.Utils'], ['shaka.util.ManifestParserUtils'], {});
56
56
  goog.addDependency('../../../../lib/hls/manifest_text_parser.js', ['shaka.hls.ManifestTextParser'], ['shaka.hls.Attribute', 'shaka.hls.Playlist', 'shaka.hls.PlaylistType', 'shaka.hls.Segment', 'shaka.hls.Tag', 'shaka.hls.Utils', 'shaka.util.Error', 'shaka.util.Iterables', 'shaka.util.StringUtils', 'shaka.util.TextParser'], {});
57
57
  goog.addDependency('../../../../lib/media/adaptation_set.js', ['shaka.media.AdaptationSet'], ['goog.asserts', 'shaka.log', 'shaka.util.Iterables', 'shaka.util.MimeUtils'], {});
@@ -59,7 +59,7 @@ goog.addDependency('../../../../lib/media/adaptation_set_criteria.js', ['shaka.m
59
59
  goog.addDependency('../../../../lib/media/buffering_observer.js', ['shaka.media.BufferingObserver'], [], {});
60
60
  goog.addDependency('../../../../lib/media/closed_caption_parser.js', ['shaka.media.ClosedCaptionParser', 'shaka.media.IClosedCaptionParser'], ['shaka.cea.CeaDecoder', 'shaka.cea.Mp4CeaParser', 'shaka.util.BufferUtils'], {});
61
61
  goog.addDependency('../../../../lib/media/content_workarounds.js', ['shaka.media.ContentWorkarounds'], ['goog.asserts', 'shaka.log', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.Lazy', 'shaka.util.Mp4Parser', 'shaka.util.Platform', 'shaka.util.Uint8ArrayUtils'], {});
62
- goog.addDependency('../../../../lib/media/drm_engine.js', ['shaka.media.DrmEngine'], ['goog.asserts', 'shaka.log', 'shaka.media.Transmuxer', 'shaka.net.NetworkingEngine', 'shaka.util.BufferUtils', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.FairPlayUtils', 'shaka.util.FakeEvent', 'shaka.util.IDestroyable', 'shaka.util.Iterables', 'shaka.util.Lazy', 'shaka.util.ManifestParserUtils', 'shaka.util.MapUtils', 'shaka.util.MimeUtils', 'shaka.util.Platform', 'shaka.util.PublicPromise', 'shaka.util.StreamUtils', 'shaka.util.StringUtils', 'shaka.util.Timer', 'shaka.util.Uint8ArrayUtils'], {});
62
+ goog.addDependency('../../../../lib/media/drm_engine.js', ['shaka.media.DrmEngine'], ['goog.asserts', 'shaka.log', 'shaka.media.Transmuxer', 'shaka.net.NetworkingEngine', 'shaka.util.BufferUtils', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.FairPlayUtils', 'shaka.util.FakeEvent', 'shaka.util.IDestroyable', 'shaka.util.Iterables', 'shaka.util.Lazy', 'shaka.util.MapUtils', 'shaka.util.MimeUtils', 'shaka.util.Platform', 'shaka.util.PublicPromise', 'shaka.util.StreamUtils', 'shaka.util.StringUtils', 'shaka.util.Timer', 'shaka.util.Uint8ArrayUtils'], {});
63
63
  goog.addDependency('../../../../lib/media/gap_jumping_controller.js', ['shaka.media.GapJumpingController'], ['shaka.log', 'shaka.media.PresentationTimeline', 'shaka.media.StallDetector', 'shaka.media.TimeRangesUtils', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.IReleasable', 'shaka.util.Timer'], {});
64
64
  goog.addDependency('../../../../lib/media/manifest_parser.js', ['shaka.media.ManifestParser'], ['goog.Uri', 'shaka.log', 'shaka.net.NetworkingEngine', 'shaka.util.Error', 'shaka.util.Platform'], {});
65
65
  goog.addDependency('../../../../lib/media/media_source_engine.js', ['shaka.media.MediaSourceEngine'], ['goog.asserts', 'shaka.log', 'shaka.media.ContentWorkarounds', 'shaka.media.IClosedCaptionParser', 'shaka.media.TimeRangesUtils', 'shaka.media.Transmuxer', 'shaka.text.TextEngine', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.Functional', 'shaka.util.IDestroyable', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Platform', 'shaka.util.PublicPromise'], {});
@@ -68,6 +68,7 @@ goog.addDependency('../../../../lib/media/play_rate_controller.js', ['shaka.medi
68
68
  goog.addDependency('../../../../lib/media/playhead.js', ['shaka.media.MediaSourcePlayhead', 'shaka.media.Playhead', 'shaka.media.SrcEqualsPlayhead'], ['goog.asserts', 'shaka.log', 'shaka.media.GapJumpingController', 'shaka.media.StallDetector', 'shaka.media.StallDetector.MediaElementImplementation', 'shaka.media.TimeRangesUtils', 'shaka.media.VideoWrapper', 'shaka.util.EventManager', 'shaka.util.IReleasable', 'shaka.util.MediaReadyState', 'shaka.util.Timer'], {});
69
69
  goog.addDependency('../../../../lib/media/playhead_observer.js', ['shaka.media.IPlayheadObserver', 'shaka.media.PlayheadObserverManager'], ['shaka.util.IReleasable', 'shaka.util.Timer'], {});
70
70
  goog.addDependency('../../../../lib/media/presentation_timeline.js', ['shaka.media.PresentationTimeline'], ['goog.asserts', 'shaka.log', 'shaka.media.SegmentReference'], {});
71
+ goog.addDependency('../../../../lib/media/quality_observer.js', ['shaka.media.QualityObserver'], ['shaka.log', 'shaka.media.IPlayheadObserver'], {});
71
72
  goog.addDependency('../../../../lib/media/region_observer.js', ['shaka.media.RegionObserver'], ['shaka.media.IPlayheadObserver', 'shaka.media.RegionTimeline'], {});
72
73
  goog.addDependency('../../../../lib/media/region_timeline.js', ['shaka.media.RegionTimeline'], ['shaka.util.IReleasable', 'shaka.util.Timer'], {});
73
74
  goog.addDependency('../../../../lib/media/segment_index.js', ['shaka.media.MetaSegmentIndex', 'shaka.media.SegmentIndex', 'shaka.media.SegmentIterator'], ['goog.asserts', 'shaka.Deprecate', 'shaka.media.SegmentReference', 'shaka.util.IReleasable', 'shaka.util.Timer'], {});
@@ -84,6 +85,7 @@ goog.addDependency('../../../../lib/net/http_fetch_plugin.js', ['shaka.net.HttpF
84
85
  goog.addDependency('../../../../lib/net/http_plugin_utils.js', ['shaka.net.HttpPluginUtils'], ['shaka.log', 'shaka.util.Error', 'shaka.util.StringUtils'], {});
85
86
  goog.addDependency('../../../../lib/net/http_xhr_plugin.js', ['shaka.net.HttpXHRPlugin'], ['goog.asserts', 'shaka.net.HttpPluginUtils', 'shaka.net.NetworkingEngine', 'shaka.util.AbortableOperation', 'shaka.util.Error'], {});
86
87
  goog.addDependency('../../../../lib/net/networking_engine.js', ['shaka.net.NetworkingEngine', 'shaka.net.NetworkingEngine.PendingRequest', 'shaka.net.NetworkingEngine.RequestType'], ['goog.Uri', 'goog.asserts', 'shaka.net.Backoff', 'shaka.util.AbortableOperation', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IDestroyable', 'shaka.util.ObjectUtils', 'shaka.util.OperationManager', 'shaka.util.Timer'], {});
88
+ goog.addDependency('../../../../lib/offline/download_info.js', ['shaka.offline.DownloadInfo'], ['shaka.util.Networking'], {});
87
89
  goog.addDependency('../../../../lib/offline/download_manager.js', ['shaka.offline.DownloadManager'], ['shaka.net.NetworkingEngine', 'shaka.offline.DownloadProgressEstimator', 'shaka.util.ArrayUtils', 'shaka.util.BufferUtils', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.IDestroyable', 'shaka.util.Pssh'], {});
88
90
  goog.addDependency('../../../../lib/offline/download_progress_estimator.js', ['shaka.offline.DownloadProgressEstimator'], [], {});
89
91
  goog.addDependency('../../../../lib/offline/indexeddb/base_storage_cell.js', ['shaka.offline.indexeddb.BaseStorageCell'], ['shaka.offline.indexeddb.DBConnection', 'shaka.util.Error'], {});
@@ -99,12 +101,13 @@ goog.addDependency('../../../../lib/offline/offline_manifest_parser.js', ['shaka
99
101
  goog.addDependency('../../../../lib/offline/offline_scheme.js', ['shaka.offline.OfflineScheme'], ['goog.asserts', 'shaka.net.NetworkingEngine', 'shaka.offline.OfflineUri', 'shaka.offline.StorageMuxer', 'shaka.util.AbortableOperation', 'shaka.util.Error'], {});
100
102
  goog.addDependency('../../../../lib/offline/offline_uri.js', ['shaka.offline.OfflineUri'], [], {});
101
103
  goog.addDependency('../../../../lib/offline/session_deleter.js', ['shaka.offline.SessionDeleter'], ['shaka.log', 'shaka.media.DrmEngine', 'shaka.util.ArrayUtils'], {});
102
- goog.addDependency('../../../../lib/offline/storage.js', ['shaka.offline.Storage'], ['goog.asserts', 'shaka.Deprecate', 'shaka.Player', 'shaka.log', 'shaka.media.DrmEngine', 'shaka.media.ManifestParser', 'shaka.net.NetworkingEngine', 'shaka.offline.DownloadManager', 'shaka.offline.OfflineUri', 'shaka.offline.SessionDeleter', 'shaka.offline.StorageMuxer', 'shaka.offline.StoredContentUtils', 'shaka.offline.StreamBandwidthEstimator', 'shaka.util.AbortableOperation', 'shaka.util.ArrayUtils', 'shaka.util.ConfigUtils', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.Functional', 'shaka.util.IDestroyable', 'shaka.util.Iterables', 'shaka.util.MimeUtils', 'shaka.util.Networking', 'shaka.util.Platform', 'shaka.util.PlayerConfiguration', 'shaka.util.StreamUtils'], {});
104
+ goog.addDependency('../../../../lib/offline/storage.js', ['shaka.offline.Storage'], ['goog.asserts', 'shaka.Deprecate', 'shaka.Player', 'shaka.log', 'shaka.media.DrmEngine', 'shaka.media.ManifestParser', 'shaka.net.NetworkingEngine', 'shaka.offline.DownloadInfo', 'shaka.offline.DownloadManager', 'shaka.offline.OfflineUri', 'shaka.offline.SessionDeleter', 'shaka.offline.StorageMuxer', 'shaka.offline.StoredContentUtils', 'shaka.offline.StreamBandwidthEstimator', 'shaka.util.AbortableOperation', 'shaka.util.ArrayUtils', 'shaka.util.ConfigUtils', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.Functional', 'shaka.util.IDestroyable', 'shaka.util.Iterables', 'shaka.util.MimeUtils', 'shaka.util.Mutex', 'shaka.util.Platform', 'shaka.util.PlayerConfiguration', 'shaka.util.StreamUtils'], {});
103
105
  goog.addDependency('../../../../lib/offline/storage_muxer.js', ['shaka.offline.StorageCellHandle', 'shaka.offline.StorageCellPath', 'shaka.offline.StorageMuxer'], ['shaka.log', 'shaka.util.Error', 'shaka.util.IDestroyable'], {});
104
106
  goog.addDependency('../../../../lib/offline/stored_content_utils.js', ['shaka.offline.StoredContentUtils'], ['goog.asserts', 'shaka.offline.ManifestConverter', 'shaka.offline.OfflineUri', 'shaka.util.StreamUtils'], {});
105
107
  goog.addDependency('../../../../lib/offline/stream_bandwidth_estimator.js', ['shaka.offline.StreamBandwidthEstimator'], ['shaka.log'], {});
106
- goog.addDependency('../../../../lib/player.js', ['shaka.Player'], ['goog.asserts', 'shaka.Deprecate', 'shaka.log', 'shaka.media.AdaptationSetCriteria', 'shaka.media.BufferingObserver', 'shaka.media.ClosedCaptionParser', 'shaka.media.DrmEngine', 'shaka.media.ExampleBasedCriteria', 'shaka.media.ManifestParser', 'shaka.media.MediaSourceEngine', 'shaka.media.MediaSourcePlayhead', 'shaka.media.MetaSegmentIndex', 'shaka.media.PlayRateController', 'shaka.media.Playhead', 'shaka.media.PlayheadObserverManager', 'shaka.media.PreferenceBasedCriteria', 'shaka.media.RegionObserver', 'shaka.media.RegionTimeline', 'shaka.media.SegmentIndex', 'shaka.media.SrcEqualsPlayhead', 'shaka.media.StreamingEngine', 'shaka.media.TimeRangesUtils', 'shaka.net.NetworkingEngine', 'shaka.routing.Walker', 'shaka.text.SimpleTextDisplayer', 'shaka.text.TextEngine', 'shaka.text.UITextDisplayer', 'shaka.text.WebVttGenerator', 'shaka.util.AbortableOperation', 'shaka.util.BufferUtils', 'shaka.util.ConfigUtils', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.Functional', 'shaka.util.IDestroyable', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MediaReadyState', 'shaka.util.MimeUtils', 'shaka.util.ObjectUtils', 'shaka.util.Platform', 'shaka.util.PlayerConfiguration', 'shaka.util.PublicPromise', 'shaka.util.Stats', 'shaka.util.StreamUtils', 'shaka.util.Timer'], {});
108
+ goog.addDependency('../../../../lib/player.js', ['shaka.Player'], ['goog.asserts', 'shaka.Deprecate', 'shaka.log', 'shaka.media.AdaptationSetCriteria', 'shaka.media.BufferingObserver', 'shaka.media.ClosedCaptionParser', 'shaka.media.DrmEngine', 'shaka.media.ExampleBasedCriteria', 'shaka.media.ManifestParser', 'shaka.media.MediaSourceEngine', 'shaka.media.MediaSourcePlayhead', 'shaka.media.MetaSegmentIndex', 'shaka.media.PlayRateController', 'shaka.media.Playhead', 'shaka.media.PlayheadObserverManager', 'shaka.media.PreferenceBasedCriteria', 'shaka.media.QualityObserver', 'shaka.media.RegionObserver', 'shaka.media.RegionTimeline', 'shaka.media.SegmentIndex', 'shaka.media.SrcEqualsPlayhead', 'shaka.media.StreamingEngine', 'shaka.media.TimeRangesUtils', 'shaka.net.NetworkingEngine', 'shaka.routing.Walker', 'shaka.text.SimpleTextDisplayer', 'shaka.text.TextEngine', 'shaka.text.UITextDisplayer', 'shaka.text.WebVttGenerator', 'shaka.util.AbortableOperation', 'shaka.util.BufferUtils', 'shaka.util.CmcdManager', 'shaka.util.ConfigUtils', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.Functional', 'shaka.util.IDestroyable', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MediaReadyState', 'shaka.util.MimeUtils', 'shaka.util.ObjectUtils', 'shaka.util.Platform', 'shaka.util.PlayerConfiguration', 'shaka.util.PublicPromise', 'shaka.util.Stats', 'shaka.util.StreamUtils', 'shaka.util.Timer'], {});
107
109
  goog.addDependency('../../../../lib/polyfill/all.js', ['shaka.polyfill'], ['shaka.log', 'shaka.util.Iterables'], {});
110
+ goog.addDependency('../../../../lib/polyfill/aria.js', ['shaka.polyfill.Aria'], ['shaka.log', 'shaka.polyfill'], {});
108
111
  goog.addDependency('../../../../lib/polyfill/encryption_scheme.js', ['shaka.polyfill.EncryptionScheme'], ['shaka.polyfill'], {});
109
112
  goog.addDependency('../../../../lib/polyfill/fullscreen.js', ['shaka.polyfill.Fullscreen'], ['shaka.polyfill'], {});
110
113
  goog.addDependency('../../../../lib/polyfill/mathround.js', ['shaka.polyfill.MathRound'], ['shaka.log', 'shaka.polyfill'], {});
@@ -116,13 +119,14 @@ goog.addDependency('../../../../lib/polyfill/patchedmediakeys_ms.js', ['shaka.po
116
119
  goog.addDependency('../../../../lib/polyfill/patchedmediakeys_nop.js', ['shaka.polyfill.PatchedMediaKeysNop'], ['goog.asserts', 'shaka.log', 'shaka.polyfill'], {});
117
120
  goog.addDependency('../../../../lib/polyfill/patchedmediakeys_webkit.js', ['shaka.polyfill.PatchedMediaKeysWebkit'], ['goog.asserts', 'shaka.log', 'shaka.media.DrmEngine', 'shaka.polyfill', 'shaka.util.BufferUtils', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.PublicPromise', 'shaka.util.StringUtils', 'shaka.util.Timer', 'shaka.util.Uint8ArrayUtils'], {});
118
121
  goog.addDependency('../../../../lib/polyfill/pip_webkit.js', ['shaka.polyfill.PiPWebkit'], ['shaka.log', 'shaka.polyfill'], {});
122
+ goog.addDependency('../../../../lib/polyfill/random_uuid.js', ['shaka.polyfill.RandomUUID'], ['shaka.log', 'shaka.polyfill'], {});
119
123
  goog.addDependency('../../../../lib/polyfill/storage_estimate.js', ['shaka.polyfill.StorageEstimate'], ['shaka.polyfill'], {});
120
124
  goog.addDependency('../../../../lib/polyfill/video_play_promise.js', ['shaka.polyfill.VideoPlayPromise'], ['shaka.log', 'shaka.polyfill'], {});
121
125
  goog.addDependency('../../../../lib/polyfill/videoplaybackquality.js', ['shaka.polyfill.VideoPlaybackQuality'], ['shaka.polyfill'], {});
122
126
  goog.addDependency('../../../../lib/polyfill/vttcue.js', ['shaka.polyfill.VTTCue'], ['shaka.log', 'shaka.polyfill'], {});
123
127
  goog.addDependency('../../../../lib/routing/node.js', ['shaka.routing.Node'], [], {});
124
128
  goog.addDependency('../../../../lib/routing/payload.js', ['shaka.routing.Payload'], [], {});
125
- goog.addDependency('../../../../lib/routing/walker.js', ['shaka.routing.Walker', 'shaka.routing.Walker.Implementation'], ['goog.asserts', 'shaka.routing.Node', 'shaka.routing.Payload', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.IDestroyable', 'shaka.util.PublicPromise'], {});
129
+ goog.addDependency('../../../../lib/routing/walker.js', ['shaka.routing.Walker'], ['goog.asserts', 'shaka.routing.Node', 'shaka.routing.Payload', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.IDestroyable', 'shaka.util.PublicPromise'], {});
126
130
  goog.addDependency('../../../../lib/text/cue.js', ['shaka.text.Cue', 'shaka.text.CueRegion'], ['shaka.util.ArrayUtils'], {});
127
131
  goog.addDependency('../../../../lib/text/lrc_text_parser.js', ['shaka.text.LrcTextParser'], ['goog.asserts', 'shaka.log', 'shaka.text.Cue', 'shaka.text.TextEngine', 'shaka.util.StringUtils'], {});
128
132
  goog.addDependency('../../../../lib/text/mp4_ttml_parser.js', ['shaka.text.Mp4TtmlParser'], ['shaka.text.TextEngine', 'shaka.text.TtmlTextParser', 'shaka.util.Error', 'shaka.util.Mp4Parser'], {});
@@ -139,6 +143,7 @@ goog.addDependency('../../../../lib/text/web_vtt_generator.js', ['shaka.text.Web
139
143
  goog.addDependency('../../../../lib/util/abortable_operation.js', ['shaka.util.AbortableOperation'], ['shaka.util.Error', 'shaka.util.PublicPromise'], {});
140
144
  goog.addDependency('../../../../lib/util/array_utils.js', ['shaka.util.ArrayUtils'], [], {});
141
145
  goog.addDependency('../../../../lib/util/buffer_utils.js', ['shaka.util.BufferUtils'], ['shaka.util.Iterables'], {});
146
+ goog.addDependency('../../../../lib/util/cmcd_manager.js', ['shaka.util.CmcdManager'], ['shaka.log'], {});
142
147
  goog.addDependency('../../../../lib/util/config_utils.js', ['shaka.util.ConfigUtils'], ['goog.asserts', 'shaka.log', 'shaka.util.ObjectUtils'], {});
143
148
  goog.addDependency('../../../../lib/util/data_view_reader.js', ['shaka.util.DataViewReader'], ['goog.asserts', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.StringUtils'], {});
144
149
  goog.addDependency('../../../../lib/util/delayed_tick.js', ['shaka.util.DelayedTick'], [], {});
@@ -163,6 +168,7 @@ goog.addDependency('../../../../lib/util/mime_utils.js', ['shaka.util.MimeUtils'
163
168
  goog.addDependency('../../../../lib/util/mp4_box_parsers.js', ['shaka.util.Mp4BoxParsers'], ['shaka.util.DataViewReader', 'shaka.util.Functional', 'shaka.util.Iterables'], {});
164
169
  goog.addDependency('../../../../lib/util/mp4_parser.js', ['shaka.util.Mp4Parser'], ['goog.asserts', 'shaka.log', 'shaka.util.DataViewReader', 'shaka.util.Functional', 'shaka.util.Iterables'], {});
165
170
  goog.addDependency('../../../../lib/util/multi_map.js', ['shaka.util.MultiMap'], [], {});
171
+ goog.addDependency('../../../../lib/util/mutex.js', ['shaka.util.Mutex'], [], {});
166
172
  goog.addDependency('../../../../lib/util/networking.js', ['shaka.util.Networking'], ['shaka.net.NetworkingEngine'], {});
167
173
  goog.addDependency('../../../../lib/util/object_utils.js', ['shaka.util.ObjectUtils'], [], {});
168
174
  goog.addDependency('../../../../lib/util/operation_manager.js', ['shaka.util.OperationManager'], ['shaka.util.ArrayUtils', 'shaka.util.IDestroyable'], {});
@@ -173,46 +179,48 @@ goog.addDependency('../../../../lib/util/pssh.js', ['shaka.util.Pssh'], ['goog.a
173
179
  goog.addDependency('../../../../lib/util/public_promise.js', ['shaka.util.PublicPromise'], [], {});
174
180
  goog.addDependency('../../../../lib/util/state_history.js', ['shaka.util.StateHistory'], ['goog.asserts', 'shaka.log'], {});
175
181
  goog.addDependency('../../../../lib/util/stats.js', ['shaka.util.Stats'], ['shaka.util.StateHistory', 'shaka.util.SwitchHistory'], {});
176
- goog.addDependency('../../../../lib/util/stream_utils.js', ['shaka.util.StreamUtils'], ['goog.asserts', 'shaka.log', 'shaka.media.MediaSourceEngine', 'shaka.text.TextEngine', 'shaka.util.Functional', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.MultiMap', 'shaka.util.Platform'], {});
182
+ goog.addDependency('../../../../lib/util/stream_utils.js', ['shaka.util.StreamUtils'], ['goog.asserts', 'shaka.log', 'shaka.text.TextEngine', 'shaka.util.Functional', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.MultiMap', 'shaka.util.Platform'], {});
177
183
  goog.addDependency('../../../../lib/util/string_utils.js', ['shaka.util.StringUtils'], ['goog.asserts', 'shaka.log', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.Iterables', 'shaka.util.Lazy'], {});
178
184
  goog.addDependency('../../../../lib/util/switch_history.js', ['shaka.util.SwitchHistory'], [], {});
179
185
  goog.addDependency('../../../../lib/util/text_parser.js', ['shaka.util.TextParser'], ['goog.asserts'], {});
180
186
  goog.addDependency('../../../../lib/util/timer.js', ['shaka.util.Timer'], ['shaka.util.DelayedTick'], {});
181
187
  goog.addDependency('../../../../lib/util/uint8array_utils.js', ['shaka.util.Uint8ArrayUtils'], ['shaka.Deprecate', 'shaka.util.BufferUtils', 'shaka.util.Iterables', 'shaka.util.StringUtils'], {});
182
- goog.addDependency('../../../../lib/util/xml_utils.js', ['shaka.util.XmlUtils'], ['shaka.log', 'shaka.util.StringUtils'], {});
188
+ goog.addDependency('../../../../lib/util/xml_utils.js', ['shaka.util.XmlUtils'], ['goog.asserts', 'shaka.log', 'shaka.util.StringUtils'], {});
183
189
  goog.addDependency('../../../../third_party/closure-uri/uri.js', ['goog.Uri', 'goog.Uri.QueryData'], ['goog.asserts', 'goog.uri.utils', 'goog.uri.utils.ComponentIndex'], {});
184
190
  goog.addDependency('../../../../third_party/closure-uri/utils.js', ['goog.uri.utils', 'goog.uri.utils.ComponentIndex'], [], {});
185
191
  goog.addDependency('../../../../third_party/language-mapping-list/language-mapping-list.js', ['mozilla.LanguageMapping'], [], {});
186
192
  goog.addDependency('../../../../ui/ad_counter.js', ['shaka.ui.AdCounter'], ['goog.asserts', 'shaka.ads.AdManager', 'shaka.ui.Element', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.Timer'], {});
187
193
  goog.addDependency('../../../../ui/ad_position.js', ['shaka.ui.AdPosition'], ['shaka.ads.AdManager', 'shaka.ui.Element', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.Utils', 'shaka.util.Dom'], {});
188
194
  goog.addDependency('../../../../ui/airplay_button.js', ['shaka.ui.AirPlayButton'], ['goog.asserts', 'shaka.Player', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.Utils', 'shaka.util.Dom'], {});
189
- goog.addDependency('../../../../ui/audio_language_selection.js', ['shaka.ui.AudioLanguageSelection'], ['shaka.ui.Constants', 'shaka.ui.Enums', 'shaka.ui.LanguageUtils', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.SettingsMenu', 'shaka.ui.Utils', 'shaka.util.FakeEvent'], {});
195
+ goog.addDependency('../../../../ui/audio_language_selection.js', ['shaka.ui.AudioLanguageSelection'], ['shaka.ui.Controls', 'shaka.ui.Enums', 'shaka.ui.LanguageUtils', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.SettingsMenu', 'shaka.ui.Utils', 'shaka.util.FakeEvent'], {});
190
196
  goog.addDependency('../../../../ui/big_play_button.js', ['shaka.ui.BigPlayButton'], ['shaka.ui.Locales', 'shaka.ui.PlayButton'], {});
191
- goog.addDependency('../../../../ui/cast_button.js', ['shaka.ui.CastButton'], ['shaka.cast.CastProxy', 'shaka.ui.Constants', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.Error', 'shaka.util.FakeEvent'], {});
197
+ goog.addDependency('../../../../ui/cast_button.js', ['shaka.ui.CastButton'], ['shaka.cast.CastProxy', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.Error', 'shaka.util.FakeEvent'], {});
192
198
  goog.addDependency('../../../../ui/constants.js', ['shaka.ui.Constants'], [], {});
193
- goog.addDependency('../../../../ui/controls.js', ['shaka.ui.Controls', 'shaka.ui.ControlsPanel'], ['goog.asserts', 'shaka.Deprecate', 'shaka.ads.AdManager', 'shaka.cast.CastProxy', 'shaka.log', 'shaka.ui.AdCounter', 'shaka.ui.AdPosition', 'shaka.ui.BigPlayButton', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.SeekBar', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IDestroyable', 'shaka.util.Timer'], {});
199
+ goog.addDependency('../../../../ui/context_menu.js', ['shaka.ui.ContextMenu'], ['goog.asserts', 'shaka.log', 'shaka.ui.Element', 'shaka.ui.Utils', 'shaka.util.Dom'], {});
200
+ goog.addDependency('../../../../ui/controls.js', ['shaka.ui.Controls', 'shaka.ui.ControlsPanel'], ['goog.asserts', 'shaka.Deprecate', 'shaka.ads.AdManager', 'shaka.cast.CastProxy', 'shaka.log', 'shaka.ui.AdCounter', 'shaka.ui.AdPosition', 'shaka.ui.BigPlayButton', 'shaka.ui.ContextMenu', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.SeekBar', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IDestroyable', 'shaka.util.Timer'], {});
194
201
  goog.addDependency('../../../../ui/element.js', ['shaka.ui.Element'], ['shaka.ads.AdManager', 'shaka.util.EventManager'], {});
195
202
  goog.addDependency('../../../../ui/enums.js', ['shaka.ui.Enums'], [], {});
196
- goog.addDependency('../../../../ui/fast_forward_button.js', ['shaka.ui.FastForwardButton'], ['shaka.ui.Constants', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {});
197
- goog.addDependency('../../../../ui/fullscreen_button.js', ['shaka.ui.FullscreenButton'], ['shaka.ui.Constants', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {});
203
+ goog.addDependency('../../../../ui/fast_forward_button.js', ['shaka.ui.FastForwardButton'], ['shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {});
204
+ goog.addDependency('../../../../ui/fullscreen_button.js', ['shaka.ui.FullscreenButton'], ['shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {});
198
205
  goog.addDependency('../../../../ui/language_utils.js', ['shaka.ui.LanguageUtils'], ['mozilla.LanguageMapping', 'shaka.log', 'shaka.ui.Locales', 'shaka.ui.Overlay.TrackLabelFormat', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.LanguageUtils'], {});
199
206
  goog.addDependency('../../../../ui/localization.js', ['shaka.ui.Localization', 'shaka.ui.Localization.ConflictResolution'], ['shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.Iterables', 'shaka.util.LanguageUtils'], {});
200
- goog.addDependency('../../../../ui/loop_button.js', ['shaka.ui.LoopButton'], ['shaka.ui.Constants', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.util.Dom', 'shaka.util.Timer'], {});
201
- goog.addDependency('../../../../ui/mute_button.js', ['shaka.ui.MuteButton'], ['shaka.ads.AdManager', 'shaka.ui.Constants', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {});
202
- goog.addDependency('../../../../ui/overflow_menu.js', ['shaka.ui.OverflowMenu'], ['goog.asserts', 'shaka.ads.AdManager', 'shaka.log', 'shaka.ui.Constants', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.Iterables'], {});
203
- goog.addDependency('../../../../ui/pip_button.js', ['shaka.ui.PipButton'], ['shaka.ui.Constants', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.FakeEvent'], {});
207
+ goog.addDependency('../../../../ui/loop_button.js', ['shaka.ui.LoopButton'], ['shaka.ui.ContextMenu', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.util.Dom', 'shaka.util.Timer'], {});
208
+ goog.addDependency('../../../../ui/mute_button.js', ['shaka.ui.MuteButton'], ['shaka.ads.AdManager', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {});
209
+ goog.addDependency('../../../../ui/overflow_menu.js', ['shaka.ui.OverflowMenu'], ['goog.asserts', 'shaka.ads.AdManager', 'shaka.log', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.Iterables'], {});
210
+ goog.addDependency('../../../../ui/pip_button.js', ['shaka.ui.PipButton'], ['shaka.ui.ContextMenu', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.FakeEvent'], {});
204
211
  goog.addDependency('../../../../ui/play_button.js', ['shaka.ui.PlayButton'], ['shaka.ads.AdManager', 'shaka.ui.Element', 'shaka.ui.Localization', 'shaka.util.Dom'], {});
205
- goog.addDependency('../../../../ui/playback_rate_selection.js', ['shaka.ui.PlaybackRateSelection'], ['shaka.ui.Constants', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.SettingsMenu', 'shaka.ui.Utils', 'shaka.util.Dom'], {});
206
- goog.addDependency('../../../../ui/presentation_time.js', ['shaka.ui.PresentationTimeTracker'], ['shaka.ui.Constants', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Locales', 'shaka.ui.Utils', 'shaka.util.Dom'], {});
212
+ goog.addDependency('../../../../ui/playback_rate_selection.js', ['shaka.ui.PlaybackRateSelection'], ['shaka.ui.Controls', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.SettingsMenu', 'shaka.ui.Utils', 'shaka.util.Dom'], {});
213
+ goog.addDependency('../../../../ui/presentation_time.js', ['shaka.ui.PresentationTimeTracker'], ['shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Locales', 'shaka.ui.Utils', 'shaka.util.Dom'], {});
207
214
  goog.addDependency('../../../../ui/range_element.js', ['shaka.ui.RangeElement'], ['shaka.ui.Element', 'shaka.util.Dom', 'shaka.util.Timer'], {});
208
- goog.addDependency('../../../../ui/resolution_selection.js', ['shaka.ui.ResolutionSelection'], ['goog.asserts', 'shaka.ui.Constants', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.SettingsMenu', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.FakeEvent'], {});
209
- goog.addDependency('../../../../ui/rewind_button.js', ['shaka.ui.RewindButton'], ['shaka.ui.Constants', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {});
215
+ goog.addDependency('../../../../ui/resolution_selection.js', ['shaka.ui.ResolutionSelection'], ['goog.asserts', 'shaka.ui.Controls', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.SettingsMenu', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.FakeEvent'], {});
216
+ goog.addDependency('../../../../ui/rewind_button.js', ['shaka.ui.RewindButton'], ['shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {});
210
217
  goog.addDependency('../../../../ui/seek_bar.js', ['shaka.ui.SeekBar'], ['shaka.ads.AdManager', 'shaka.ui.Constants', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.RangeElement', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.Timer'], {});
211
218
  goog.addDependency('../../../../ui/settings_menu.js', ['shaka.ui.SettingsMenu'], ['shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.FakeEvent'], {});
212
219
  goog.addDependency('../../../../ui/skip_ad_button.js', ['shaka.ui.SkipAdButton'], ['goog.asserts', 'shaka.ads.AdManager', 'shaka.ui.Element', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.Timer'], {});
213
220
  goog.addDependency('../../../../ui/small_play_button.js', ['shaka.ui.SmallPlayButton'], ['shaka.ui.Controls', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.PlayButton'], {});
214
221
  goog.addDependency('../../../../ui/spacer.js', ['shaka.ui.Spacer'], ['shaka.ui.Controls', 'shaka.ui.Element', 'shaka.util.Dom'], {});
215
- goog.addDependency('../../../../ui/text_selection.js', ['shaka.ui.TextSelection'], ['shaka.ui.Constants', 'shaka.ui.Enums', 'shaka.ui.LanguageUtils', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.SettingsMenu', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.FakeEvent'], {});
222
+ goog.addDependency('../../../../ui/statistics_button.js', ['shaka.ui.StatisticsButton'], ['shaka.log', 'shaka.ui.ContextMenu', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.Timer'], {});
223
+ goog.addDependency('../../../../ui/text_selection.js', ['shaka.ui.TextSelection'], ['shaka.ui.Controls', 'shaka.ui.Enums', 'shaka.ui.LanguageUtils', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.SettingsMenu', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.FakeEvent'], {});
216
224
  goog.addDependency('../../../../ui/ui.js', ['shaka.ui.Overlay', 'shaka.ui.Overlay.FailReasonCode', 'shaka.ui.Overlay.TrackLabelFormat'], ['goog.asserts', 'shaka.Player', 'shaka.log', 'shaka.polyfill', 'shaka.ui.Controls', 'shaka.util.ConfigUtils', 'shaka.util.Dom', 'shaka.util.FakeEvent', 'shaka.util.IDestroyable', 'shaka.util.Platform'], {});
217
225
  goog.addDependency('../../../../ui/ui_utils.js', ['shaka.ui.Utils'], ['goog.asserts', 'shaka.ui.Enums', 'shaka.util.Dom'], {});
218
- goog.addDependency('../../../../ui/volume_bar.js', ['shaka.ui.VolumeBar'], ['goog.asserts', 'shaka.ads.AdManager', 'shaka.ui.Constants', 'shaka.ui.Controls', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.RangeElement'], {});
226
+ goog.addDependency('../../../../ui/volume_bar.js', ['shaka.ui.VolumeBar'], ['goog.asserts', 'shaka.ads.AdManager', 'shaka.ui.Controls', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.RangeElement'], {});
package/dist/locales.js CHANGED
@@ -134,6 +134,7 @@ shaka.ui.Locales.addTo = function(localization) {
134
134
  ['SEEK', 'Seek'],
135
135
  ['SKIP_AD', 'Skip Ad'],
136
136
  ['SKIP_TO_LIVE', 'Skip ahead to live'],
137
+ ['STATISTICS', 'Statistics'],
137
138
  ['SUBTITLE_FORCED', 'Forced'],
138
139
  ['UNDETERMINED_LANGUAGE', 'Undetermined'],
139
140
  ['UNMUTE', 'Unmute'],
@@ -719,43 +720,44 @@ shaka.ui.Locales.addTo = function(localization) {
719
720
  * @const
720
721
  */
721
722
  shaka.ui.Locales.Ids = {
722
- SEEK: 'SEEK',
723
- PAUSE: 'PAUSE',
724
- PLAYBACK_RATE: 'PLAYBACK_RATE',
725
- ON: 'ON',
726
- AD_TIME: 'AD_TIME',
727
- EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
728
- AIRPLAY: 'AIRPLAY',
729
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
730
- AUTO_QUALITY: 'AUTO_QUALITY',
731
- BACK: 'BACK',
732
- MUTE: 'MUTE',
733
- REWIND: 'REWIND',
734
- UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
735
- SKIP_AD: 'SKIP_AD',
736
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
737
- VOLUME: 'VOLUME',
738
723
  EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
739
- NOT_APPLICABLE: 'NOT_APPLICABLE',
740
724
  FAST_FORWARD: 'FAST_FORWARD',
741
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
742
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
725
+ SKIP_TO_LIVE: 'SKIP_TO_LIVE',
726
+ MORE_SETTINGS: 'MORE_SETTINGS',
727
+ LIVE: 'LIVE',
728
+ REWIND: 'REWIND',
729
+ NOT_APPLICABLE: 'NOT_APPLICABLE',
730
+ STATISTICS: 'STATISTICS',
731
+ LANGUAGE: 'LANGUAGE',
743
732
  FULL_SCREEN: 'FULL_SCREEN',
744
- OFF: 'OFF',
745
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
746
- REPLAY: 'REPLAY',
733
+ UNMUTE: 'UNMUTE',
734
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
747
735
  AD_PROGRESS: 'AD_PROGRESS',
736
+ RESOLUTION: 'RESOLUTION',
737
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
738
+ AIRPLAY: 'AIRPLAY',
748
739
  CAST: 'CAST',
749
740
  CAPTIONS: 'CAPTIONS',
750
- RESOLUTION: 'RESOLUTION',
751
- AD_DURATION: 'AD_DURATION',
741
+ UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
742
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
743
+ VOLUME: 'VOLUME',
744
+ BACK: 'BACK',
745
+ MUTE: 'MUTE',
746
+ OFF: 'OFF',
752
747
  PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
753
- LANGUAGE: 'LANGUAGE',
754
- LIVE: 'LIVE',
755
- UNMUTE: 'UNMUTE',
748
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
749
+ REPLAY: 'REPLAY',
750
+ PLAYBACK_RATE: 'PLAYBACK_RATE',
756
751
  UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
757
- MORE_SETTINGS: 'MORE_SETTINGS',
758
- SKIP_TO_LIVE: 'SKIP_TO_LIVE',
752
+ AD_TIME: 'AD_TIME',
753
+ ON: 'ON',
754
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
755
+ AUTO_QUALITY: 'AUTO_QUALITY',
759
756
  PLAY: 'PLAY',
757
+ AD_DURATION: 'AD_DURATION',
758
+ SKIP_AD: 'SKIP_AD',
759
+ PAUSE: 'PAUSE',
760
760
  LOOP: 'LOOP',
761
+ SEEK: 'SEEK',
762
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
761
763
  };
@@ -105,14 +105,15 @@ CUSTOM_INTRO_TWO:"DEMO_CUSTOM_INTRO_TWO",CUSTOM_INTRO_THREE:"DEMO_CUSTOM_INTRO_T
105
105
  LICENSE_SERVER_URL:"DEMO_LICENSE_SERVER_URL",MAIN_TAB:"DEMO_MAIN_TAB",MANIFEST_URL:"DEMO_MANIFEST_URL",MANIFEST_URL_ERROR:"DEMO_MANIFEST_URL_ERROR",NAME:"DEMO_NAME",NAME_ERROR:"DEMO_NAME_ERROR",EXTRA_SHAKA_PLAYER_CONFIG:"DEMO_EXTRA_SHAKA_PLAYER_CONFIG",EXTRA_TAB:"DEMO_EXTRA_TAB",INVALID_JSON_CONFIG_ERROR:"DEMO_INVALID_JSON_CONFIG_ERROR",MIME_TYPE:"DEMO_MIME_TYPE",SAVE_BUTTON:"DEMO_SAVE_BUTTON",AD_SEARCH:"DEMO_AD_SEARCH",AUDIO_ONLY_SEARCH:"DEMO_AUDIO_ONLY_SEARCH",CONTAINER_SEARCH:"DEMO_CONTAINER_SEARCH",
106
106
  DRM_SEARCH:"DEMO_DRM_SEARCH",HIGH_DEFINITION_SEARCH:"DEMO_HIGH_DEFINITION_SEARCH",LIVE_SEARCH:"DEMO_LIVE_SEARCH",MANIFEST_SEARCH:"DEMO_MANIFEST_SEARCH",OFFLINE_SEARCH:"DEMO_OFFLINE_SEARCH",STORED_SEARCH:"DEMO_STORED_SEARCH",SUBTITLES_SEARCH:"DEMO_SUBTITLES_SEARCH",SURROUND_SEARCH:"DEMO_SURROUND_SEARCH",SOURCE_SEARCH:"DEMO_SOURCE_SEARCH",TRICK_MODE_SEARCH:"DEMO_TRICK_MODE_SEARCH",XLINK_SEARCH:"DEMO_XLINK_SEARCH",ADAPTATION_RESTRICTIONS_SECTION_HEADER:"DEMO_ADAPTATION_RESTRICTIONS_SECTION_HEADER",ADAPTATION_SECTION_HEADER:"DEMO_ADAPTATION_SECTION_HEADER",
107
107
  ALWAYS_STREAM_TEXT:"DEMO_ALWAYS_STREAM_TEXT",ALWAYS_STREAM_TEXT_WARNING:"DEMO_ALWAYS_STREAM_TEXT_WARNING",AUDIO_CHANNEL_COUNT:"DEMO_AUDIO_CHANNEL_COUNT",AUDIO_LANGUAGE:"DEMO_AUDIO_LANGUAGE",AUDIO_ROBUSTNESS:"DEMO_AUDIO_ROBUSTNESS",AUTO_CORRECT_DASH_DRIFT:"DEMO_AUTO_CORRECT_DASH_DRIFT",AUTO_LOW_LATENCY:"DEMO_AUTO_LOW_LATENCY",AVAILABILITY_WINDOW_OVERRIDE:"DEMO_AVAILABILITY_WINDOW_OVERRIDE",BACKOFF_FACTOR:"DEMO_BACKOFF_FACTOR",BASE_DELAY:"DEMO_BASE_DELAY",BANDWIDTH_DOWNGRADE:"DEMO_BANDWIDTH_DOWNGRADE",
108
- BANDWIDTH_ESTIMATE:"DEMO_BANDWIDTH_ESTIMATE",BANDWIDTH_UPGRADE:"DEMO_BANDWIDTH_UPGRADE",BUFFER_BEHIND:"DEMO_BUFFER_BEHIND",BUFFERING_GOAL:"DEMO_BUFFERING_GOAL",CLOCK_SYNC_URI:"DEMO_CLOCK_SYNC_URI",CONNECTION_TIMEOUT:"DEMO_CONNECTION_TIMEOUT",DEFAULT_PRESENTATION_DELAY:"DEMO_DEFAULT_PRESENTATION_DELAY",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",
109
- 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",ENABLED:"DEMO_ENABLED",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",
110
- IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY:"DEMO_IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY",IGNORE_HLS_TEXT_FAILURES:"DEMO_IGNORE_HLS_TEXT_FAILURES",USE_FULL_SEGMENTS_FOR_START_TIME:"DEMO_USE_FULL_SEGMENTS_FOR_START_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",JUMP_LARGE_GAPS:"DEMO_JUMP_LARGE_GAPS",LANGUAGE_SECTION_HEADER:"DEMO_LANGUAGE_SECTION_HEADER",
111
- LOG_LEVEL:"DEMO_LOG_LEVEL",LOG_LEVEL_DEBUG:"DEMO_LOG_LEVEL_DEBUG",LOG_LEVEL_INFO:"DEMO_LOG_LEVEL_INFO",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",
112
- MAX_PIXELS:"DEMO_MAX_PIXELS",MAX_SMALL_GAP_SIZE:"DEMO_MAX_SMALL_GAP_SIZE",MAX_WIDTH:"DEMO_MAX_WIDTH",MIN_FRAMERATE:"DEMO_MIN_FRAMERATE",MIN_HEIGHT:"DEMO_MIN_HEIGHT",MIN_PIXELS:"DEMO_MIN_PIXELS",MIN_WIDTH:"DEMO_MIN_WIDTH",MIN_BANDWIDTH:"DEMO_MIN_BANDWIDTH",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",
113
- 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",SHAKA_CONTROLS:"DEMO_SHAKA_CONTROLS",STALL_DETECTOR_ENABLED:"DEMO_STALL_DETECTOR_ENABLED",STALL_THRESHOLD:"DEMO_STALL_THRESHOLD",STALL_TIMEOUT:"DEMO_STALL_TIMEOUT",START_AT_SEGMENT_BOUNDARY:"DEMO_START_AT_SEGMENT_BOUNDARY",
114
- 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",UPDATE_EXPIRATION_TIME:"DEMO_UPDATE_EXPIRATION_TIME",USE_MEDIA_CAPABILITIES:"DEMO_USE_MEDIA_CAPABILITIES",USE_NATIVE_HLS_SAFARI:"DEMO_USE_NATIVE_HLS_SAFARI",
115
- 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.mimeType=this.imaContentSrcId=this.imaAssetKey=this.imaVideoId=
108
+ BANDWIDTH_ESTIMATE:"DEMO_BANDWIDTH_ESTIMATE",BANDWIDTH_UPGRADE:"DEMO_BANDWIDTH_UPGRADE",BUFFER_BEHIND:"DEMO_BUFFER_BEHIND",BUFFERING_GOAL:"DEMO_BUFFERING_GOAL",CLOCK_SYNC_URI:"DEMO_CLOCK_SYNC_URI",CMCD_SECTION_HEADER:"DEMO_CMCD_SECTION_HEADER",CONNECTION_TIMEOUT:"DEMO_CONNECTION_TIMEOUT",CONTENT_ID:"DEMO_CONTENT_ID",DEFAULT_AUDIO_CODEC:"DEMO_DEFAULT_AUDIO_CODEC",DEFAULT_PRESENTATION_DELAY:"DEMO_DEFAULT_PRESENTATION_DELAY",DEFAULT_VIDEO_CODEC:"DEMO_DEFAULT_VIDEO_CODEC",DELAY_LICENSE:"DEMO_DELAY_LICENSE",
109
+ 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",ENABLED:"DEMO_ENABLED",
110
+ 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",
111
+ IGNORE_HLS_TEXT_FAILURES:"DEMO_IGNORE_HLS_TEXT_FAILURES",USE_FULL_SEGMENTS_FOR_START_TIME:"DEMO_USE_FULL_SEGMENTS_FOR_START_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",JUMP_LARGE_GAPS:"DEMO_JUMP_LARGE_GAPS",LANGUAGE_SECTION_HEADER:"DEMO_LANGUAGE_SECTION_HEADER",LOG_LEVEL:"DEMO_LOG_LEVEL",LOG_LEVEL_DEBUG:"DEMO_LOG_LEVEL_DEBUG",
112
+ LOG_LEVEL_INFO:"DEMO_LOG_LEVEL_INFO",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_SMALL_GAP_SIZE:"DEMO_MAX_SMALL_GAP_SIZE",
113
+ MAX_WIDTH:"DEMO_MAX_WIDTH",MIN_BANDWIDTH:"DEMO_MIN_BANDWIDTH",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",
114
+ 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",SESSION_ID:"DEMO_SESSION_ID",SHAKA_CONTROLS:"DEMO_SHAKA_CONTROLS",SLOW_HALF_LIFE:"DEMO_SLOW_HALF_LIFE",STALL_DETECTOR_ENABLED:"DEMO_STALL_DETECTOR_ENABLED",STALL_THRESHOLD:"DEMO_STALL_THRESHOLD",
115
+ 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",UPDATE_EXPIRATION_TIME:"DEMO_UPDATE_EXPIRATION_TIME",
116
+ 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.mimeType=this.imaContentSrcId=this.imaAssetKey=this.imaVideoId=
116
117
  this.adTagUri=this.extraConfig=null;this.storedProgress=1};ShakaDemoAssetInfo.prototype.addDescription=function(a){this.description=a;return this};ShakaDemoAssetInfo.prototype.addCertificateUri=function(a){this.certificateUri=a;return this};ShakaDemoAssetInfo.caseLessAlphaComparator_=function(a,b){return a.toLowerCase()<b.toLowerCase()?-1:a.toLowerCase()>b.toLowerCase()?1:0};
117
118
  ShakaDemoAssetInfo.prototype.addFeature=function(a){var b=shakaAssets.Feature;a==b.LIVE&&(this.features=this.features.filter(function(c){return c!=b.VOD}));this.features.push(a);this.features.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);return this};ShakaDemoAssetInfo.prototype.addKeySystem=function(a){this.isClear()&&(this.drm=[]);this.drm.push(a);this.drm.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);return this};
118
119
  ShakaDemoAssetInfo.prototype.isClear=function(){return 1==this.drm.length&&this.drm[0]==shakaAssets.KeySystem.CLEAR};ShakaDemoAssetInfo.prototype.setExtraConfig=function(a){this.extraConfig=a;return this};ShakaDemoAssetInfo.prototype.setMimeType=function(a){this.mimeType=a;return this};ShakaDemoAssetInfo.prototype.setRequestFilter=function(a){this.requestFilter=a;return this};ShakaDemoAssetInfo.prototype.setResponseFilter=function(a){this.responseFilter=a;return this};
@@ -121,7 +122,7 @@ ShakaDemoAssetInfo.prototype.setIMAVideoId=function(a){this.imaVideoId=a;this.fe
121
122
  ShakaDemoAssetInfo.prototype.addExtraText=function(a){this.extraText.push(a);return this};ShakaDemoAssetInfo.prototype.markAsFocused=function(){this.focus=!0;return this};ShakaDemoAssetInfo.prototype.markAsFeatured=function(a){this.isFeatured=!0;this.shortName=a||this.shortName;return this};ShakaDemoAssetInfo.prototype.markAsDisabled=function(){this.disabled=!0;return this};
122
123
  ShakaDemoAssetInfo.prototype.toJSON=function(){var a={},b;for(b in this){var c=this[b];if(c instanceof Map){var d={__type__:"map"};c=$jscomp.makeIterator(c.entries());for(var e=c.next();!e.done;e=c.next())e=e.value,d[e[0]]=e[1];a[b]=d}else a[b]=c}return a};
123
124
  ShakaDemoAssetInfo.prototype.applyFilters=function(a){var b=this;a.clearAllRequestFilters();a.clearAllResponseFilters();this.licenseRequestHeaders.size&&a.registerRequestFilter(function(c,d){return b.addLicenseRequestHeaders_(b.licenseRequestHeaders,c,d)});this.requestFilter&&a.registerRequestFilter(this.requestFilter);this.responseFilter&&a.registerResponseFilter(this.responseFilter)};
124
- ShakaDemoAssetInfo.prototype.getConfiguration=function(){var a={drm:{advanced:{}},manifest:{dash:{}}};this.licenseServers.size&&(a.drm.servers={},this.licenseServers.forEach(function(c,d){a.drm.servers[d]=c}));this.clearKeys.size&&(a.drm.clearKeys={},this.clearKeys.forEach(function(c,d){a.drm.clearKeys[d]=c}));if(this.extraConfig)for(var b in this.extraConfig)a[b]=this.extraConfig[b];return a};
125
+ ShakaDemoAssetInfo.prototype.getConfiguration=function(){var a={drm:{advanced:{}},manifest:{dash:{}}};if(this.extraConfig)for(var b in this.extraConfig)a[b]=this.extraConfig[b];this.licenseServers.size&&(a.drm.servers=a.drm.servers||{},this.licenseServers.forEach(function(c,d){a.drm.servers[d]=c}));this.clearKeys.size&&(a.drm.clearKeys=a.drm.clearKeys||{},this.clearKeys.forEach(function(c,d){a.drm.clearKeys[d]=c}));return a};
125
126
  ShakaDemoAssetInfo.prototype.addLicenseRequestHeaders_=function(a,b,c){b==shaka.net.NetworkingEngine.RequestType.LICENSE&&a.forEach(function(d,e){c.headers[e]=d})};ShakaDemoAssetInfo.prototype.isStored=function(){return null!=this.storedContent};ShakaDemoAssetInfo.makeBlankAsset=function(){return new ShakaDemoAssetInfo("","","",shakaAssets.Source.CUSTOM)};
126
127
  ShakaDemoAssetInfo.fromJSON=function(a){var b={},c;for(c in a){var d=a[c];if(d&&"object"==typeof d&&"map"==d.__type__){var e=new Map,f;for(f in d)"__type__"!=f&&e.set(f,d[f]);b[c]=e}else b[c]=d}a=ShakaDemoAssetInfo.makeBlankAsset();Object.assign(a,b);return a};var ShakaReceiverApp=function(){this.idleTimerId_=this.idleCard_=this.receiver_=this.player_=this.video_=null};
127
128
  ShakaReceiverApp.prototype.init=function(){var a=this,b=document.getElementById("video");goog.asserts.assert(b instanceof HTMLVideoElement,"Wrong element type!");this.video_=b;b=this.video_.ui;goog.asserts.assert(b instanceof shaka.ui.Overlay,"UI not present or wrong type!");b.configure({fadeDelay:3,addBigPlayButton:!1,addSeekBar:!0,controlPanelElements:["play_pause","time_and_duration","spacer"]});this.player_=b.getControls().getLocalPlayer();goog.asserts.assert(this.player_,"Player should be available!");
@@ -131,8 +132,8 @@ ShakaReceiverApp.prototype.checkIdle_=function(){console.debug("status changed",
131
132
  ShakaReceiverApp.prototype.startIdleTimer_=function(){this.cancelIdleTimer_();this.idleTimerId_=window.setTimeout(function(){window.close()},6E4*ShakaReceiverApp.IDLE_TIMEOUT_MINUTES_)};ShakaReceiverApp.prototype.cancelIdleTimer_=function(){null!=this.idleTimerId_&&(window.clearTimeout(this.idleTimerId_),this.idleTimerId_=null)};ShakaReceiverApp.IDLE_TIMEOUT_MINUTES_=5;document.addEventListener("shaka-ui-loaded",function(){var a=new ShakaReceiverApp;window.receiver=a;a.init()});var shakaAssets={};
132
133
  shakaAssets.Source={CUSTOM:shakaDemo.MessageIds.CUSTOM,SHAKA:shakaDemo.MessageIds.SHAKA,AXINOM:shakaDemo.MessageIds.AXINOM,UNIFIED_STREAMING:shakaDemo.MessageIds.UNIFIED_STREAMING,DASH_IF:shakaDemo.MessageIds.DASH_IF,BITCODIN:shakaDemo.MessageIds.BITCODIN,METACDN:shakaDemo.MessageIds.METACDN,NIMBLE_STREAMER:shakaDemo.MessageIds.NIMBLE_STREAMER,AZURE_MEDIA_SERVICES:shakaDemo.MessageIds.AZURE_MEDIA_SERVICES,GPAC:shakaDemo.MessageIds.GPAC,UPLYNK:shakaDemo.MessageIds.UPLYNK,APPLE:shakaDemo.MessageIds.APPLE,IRT:shakaDemo.MessageIds.IRT,
133
134
  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};
134
- 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_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=",
135
- 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="};
135
+ 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=",
136
+ 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="};
136
137
  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"}};
137
138
  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,
138
139
  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="";shakaAssets.UplynkResponseFilter=function(a,b){a==shaka.net.NetworkingEngine.RequestType.MANIFEST&&(shakaAssets.lastUplynkPrefix=b.headers["x-uplynk-prefix"]?b.headers["x-uplynk-prefix"]:"")};
@@ -145,11 +146,12 @@ shakaAssets.testAssets=[(new ShakaDemoAssetInfo("Big Buck Bunny: the Dark Truths
145
146
  "https://cwip-shaka-proxy.appspot.com/clearkey?_u3wDe7erb7v8Lqt8A3QDQ=ABEiM0RVZneImaq7zN3u_w"),(new ShakaDemoAssetInfo("Angel One (HLS, MP4, multilingual)","https://storage.googleapis.com/shaka-asset-icons/angel_one.png","https://storage.googleapis.com/shaka-demo-assets/angel-one-hls/hls.m3u8",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.OFFLINE),
146
147
  (new ShakaDemoAssetInfo("Angel One (HLS, MP4, multilingual, Widevine)","https://storage.googleapis.com/shaka-asset-icons/angel_one.png","https://storage.googleapis.com/shaka-demo-assets/angel-one-widevine-hls/hls.m3u8",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha",
147
148
  "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Angel One (HLS, MP4, multilingual, Widevine, single linear ad)","https://storage.googleapis.com/shaka-asset-icons/angel_one.png","https://storage.googleapis.com/shaka-demo-assets/angel-one-widevine-hls/hls.m3u8",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).setAdTagUri(shakaAssets.AdTag.SINGLE_LINEAR_AD).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha",
149
+ "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Angel One (HLS, MP4, multilingual, Widevine, single non-linear ad)","https://storage.googleapis.com/shaka-asset-icons/angel_one.png","https://storage.googleapis.com/shaka-demo-assets/angel-one-widevine-hls/hls.m3u8",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).setAdTagUri(shakaAssets.AdTag.SINGLE_NON_LINEAR_AD).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha",
148
150
  "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Sintel 4k (multicodec)","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://storage.googleapis.com/shaka-demo-assets/sintel/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),(new ShakaDemoAssetInfo("Sintel w/ trick mode (MP4 only, 720p)",
149
151
  "https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://storage.googleapis.com/shaka-demo-assets/sintel-trickplay/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.TRICK_MODE).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Sintel 4k (WebM only)","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://storage.googleapis.com/shaka-demo-assets/sintel-webm-only/dash.mpd",
150
152
  shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Sintel 4k (MP4 only)","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://storage.googleapis.com/shaka-demo-assets/sintel-mp4-only/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.OFFLINE),
151
153
  (new ShakaDemoAssetInfo("Sintel 4k (multicodec, Widevine)","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://storage.googleapis.com/shaka-demo-assets/sintel-widevine/dash.mpd",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).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).addLicenseServer("com.widevine.alpha",
152
- "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Sintel 4k (multicodec, Widevine, ads)","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://storage.googleapis.com/shaka-demo-assets/sintel-widevine/dash.mpd",shakaAssets.Source.SHAKA)).addDescription("A Blender Foundation short film, protected by Widevine encryption with pre-roll, mid-roll, and post-roll ads.").markAsFeatured("Sintel").setAdTagUri(shakaAssets.AdTag.AD_POD_PREROLL_MIDROLL_POSTROLL).addKeySystem(shakaAssets.KeySystem.WIDEVINE).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).addLicenseServer("com.widevine.alpha",
154
+ "https://cwip-shaka-proxy.appspot.com/no_auth").setExtraConfig({drm:{advanced:{"com.widevine.alpha":{serverCertificateUri:"https://cwip-shaka-proxy.appspot.com/service-cert"}}}}),(new ShakaDemoAssetInfo("Sintel 4k (multicodec, Widevine, ads)","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://storage.googleapis.com/shaka-demo-assets/sintel-widevine/dash.mpd",shakaAssets.Source.SHAKA)).addDescription("A Blender Foundation short film, protected by Widevine encryption with pre-roll, mid-roll, and post-roll ads.").markAsFeatured("Sintel").setAdTagUri(shakaAssets.AdTag.AD_POD_PREROLL_MIDROLL_POSTROLL).addKeySystem(shakaAssets.KeySystem.WIDEVINE).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).addLicenseServer("com.widevine.alpha",
153
155
  "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Sintel 4k (MP4, VTT in MP4)","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://storage.googleapis.com/shaka-demo-assets/sintel-mp4-wvtt/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.OFFLINE),(new ShakaDemoAssetInfo("Sintel w/ 44 subtitle languages",
154
156
  "https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://storage.googleapis.com/shaka-demo-assets/sintel-many-subs/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Heliocentrism (multicodec, multiperiod)","https://storage.googleapis.com/shaka-asset-icons/heliocentricism.png","https://storage.googleapis.com/shaka-demo-assets/heliocentrism/heliocentrism.mpd",
155
157
  shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Heliocentrism (multicodec, multiperiod, xlink)","https://storage.googleapis.com/shaka-asset-icons/heliocentricism.png","https://storage.googleapis.com/shaka-demo-assets/heliocentrism-xlink/heliocentrism.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.XLINK).addFeature(shakaAssets.Feature.OFFLINE),