shaka-player 4.1.3 → 4.2.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 (59) hide show
  1. package/CHANGELOG.md +33 -34
  2. package/demo/common/assets.js +25 -0
  3. package/demo/common/message_ids.js +2 -0
  4. package/demo/config.js +5 -1
  5. package/demo/index.html +1 -1
  6. package/demo/locales/en.json +2 -0
  7. package/demo/locales/source.json +8 -0
  8. package/dist/demo.compiled.debug.js +25 -23
  9. package/dist/demo.compiled.debug.map +3 -3
  10. package/dist/demo.compiled.js +25 -23
  11. package/dist/demo.compiled.map +3 -3
  12. package/dist/deps.js +3 -2
  13. package/dist/locales.js +31 -31
  14. package/dist/receiver.compiled.debug.js +24 -22
  15. package/dist/receiver.compiled.debug.map +3 -3
  16. package/dist/receiver.compiled.js +24 -22
  17. package/dist/receiver.compiled.map +3 -3
  18. package/dist/shaka-player.compiled.d.ts +57 -4
  19. package/dist/shaka-player.compiled.debug.d.ts +57 -4
  20. package/dist/shaka-player.compiled.debug.externs.js +62 -4
  21. package/dist/shaka-player.compiled.debug.js +285 -241
  22. package/dist/shaka-player.compiled.debug.map +4 -4
  23. package/dist/shaka-player.compiled.externs.js +62 -4
  24. package/dist/shaka-player.compiled.js +815 -798
  25. package/dist/shaka-player.compiled.map +4 -4
  26. package/dist/shaka-player.ui.d.ts +57 -4
  27. package/dist/shaka-player.ui.debug.d.ts +57 -4
  28. package/dist/shaka-player.ui.debug.externs.js +62 -4
  29. package/dist/shaka-player.ui.debug.js +283 -239
  30. package/dist/shaka-player.ui.debug.map +4 -4
  31. package/dist/shaka-player.ui.externs.js +62 -4
  32. package/dist/shaka-player.ui.js +979 -960
  33. package/dist/shaka-player.ui.map +4 -4
  34. package/docs/tutorials/fairplay.md +149 -0
  35. package/docs/tutorials/ui.md +6 -6
  36. package/externs/shaka/abr_manager.js +8 -0
  37. package/externs/shaka/manifest.js +43 -0
  38. package/externs/shaka/player.js +13 -2
  39. package/lib/abr/simple_abr_manager.js +72 -4
  40. package/lib/hls/hls_parser.js +117 -25
  41. package/lib/media/drm_engine.js +0 -2
  42. package/lib/media/segment_index.js +8 -0
  43. package/lib/media/segment_reference.js +7 -1
  44. package/lib/media/streaming_engine.js +38 -2
  45. package/lib/net/networking_engine.js +1 -0
  46. package/lib/player.js +8 -1
  47. package/lib/polyfill/patchedmediakeys_apple.js +729 -0
  48. package/lib/text/vtt_text_parser.js +61 -4
  49. package/lib/util/error.js +21 -1
  50. package/lib/util/fairplay_utils.js +100 -2
  51. package/lib/util/platform.js +12 -1
  52. package/lib/util/player_configuration.js +3 -10
  53. package/package.json +1 -1
  54. package/shaka-player.uncompiled.js +1 -0
  55. package/test/hls/hls_parser_unit.js +49 -33
  56. package/test/media/streaming_engine_unit.js +79 -5
  57. package/test/test/util/simple_fakes.js +4 -0
  58. package/test/test/util/streaming_engine_util.js +10 -2
  59. package/test/text/vtt_text_parser_unit.js +26 -0
package/CHANGELOG.md CHANGED
@@ -1,46 +1,45 @@
1
1
  # Changelog
2
2
 
3
- ## [4.1.3](https://github.com/shaka-project/shaka-player/compare/v4.1.2...v4.1.3) (2022-08-16)
3
+ ## [4.2.0](https://github.com/shaka-project/shaka-player/compare/v4.1.0...v4.2.0) (2022-08-16)
4
4
 
5
5
 
6
- ### Bug Fixes
7
-
8
- * add strictMissingProperties suppressions to unblock strict missing properties on union types. ([#4371](https://github.com/shaka-project/shaka-player/issues/4371)) ([e055893](https://github.com/shaka-project/shaka-player/commit/e055893eca165eb9c01493ea89de4da3fcf7737e))
9
- * exception if on early adError ([#4362](https://github.com/shaka-project/shaka-player/issues/4362)) ([36023e8](https://github.com/shaka-project/shaka-player/commit/36023e89d44463bf9949b53e7f24f7d6c5fc4d73)), closes [#4004](https://github.com/shaka-project/shaka-player/issues/4004)
10
- * Fix key ID byteswapping for PlayReady on PS4 ([#4377](https://github.com/shaka-project/shaka-player/issues/4377)) ([b8eb590](https://github.com/shaka-project/shaka-player/commit/b8eb590084a9871d95b3f1fccc1921d1da649e6a))
11
- * Fix MediaCapabilities polyfill on Tizen and WebOS ([#4396](https://github.com/shaka-project/shaka-player/issues/4396)) ([259cd84](https://github.com/shaka-project/shaka-player/commit/259cd844863ffc754c3e130ee673014f7913670d)), closes [#4383](https://github.com/shaka-project/shaka-player/issues/4383) [#4357](https://github.com/shaka-project/shaka-player/issues/4357)
12
- * Fix TextDecoder fallback and browser support check ([#4403](https://github.com/shaka-project/shaka-player/issues/4403)) ([45cae27](https://github.com/shaka-project/shaka-player/commit/45cae273efd1070a7bb266e7cca84b9905756a4a))
13
- * Fix UI captions icon state ([#4384](https://github.com/shaka-project/shaka-player/issues/4384)) ([c31a57f](https://github.com/shaka-project/shaka-player/commit/c31a57fa19225e4a081f261958b678d389a9490b)), closes [#4358](https://github.com/shaka-project/shaka-player/issues/4358)
14
- * Fix VP9 codec checks on Mac Firefox ([#4391](https://github.com/shaka-project/shaka-player/issues/4391)) ([227dfef](https://github.com/shaka-project/shaka-player/commit/227dfefa39befe5bc184e05a3f6a916b4cf04147))
15
- * **text:** Fix cue region rendering in UI ([#4412](https://github.com/shaka-project/shaka-player/issues/4412)) ([4706572](https://github.com/shaka-project/shaka-player/commit/4706572b4582d56a51be1aa3295751c436cf6c07)), closes [#4381](https://github.com/shaka-project/shaka-player/issues/4381)
16
- * **text:** Fix TTML render timing and line break issues ([#4407](https://github.com/shaka-project/shaka-player/issues/4407)) ([1c6deb4](https://github.com/shaka-project/shaka-player/commit/1c6deb42a013cc36cf37497ac9b22606a286fd20)), closes [#4381](https://github.com/shaka-project/shaka-player/issues/4381)
17
- * Update v4.1.x branch Cast receiver ID ([582058b](https://github.com/shaka-project/shaka-player/commit/582058b2a22337ea2259c200949d51e594cba22a))
18
-
19
- ## [4.1.2](https://github.com/shaka-project/shaka-player/compare/v4.1.1...v4.1.2) (2022-07-14)
20
-
21
-
22
- ### Bug Fixes
23
-
24
- * Add fallback to TextDecoder and TextEncoder ([#4324](https://github.com/shaka-project/shaka-player/issues/4324)) ([dc26ed2](https://github.com/shaka-project/shaka-player/commit/dc26ed2e0e4c994684712c38b3cde4fcdbe5a974))
25
- * Debug buffer placement ([f554d5d](https://github.com/shaka-project/shaka-player/commit/f554d5d642c695ae28f1e5724fa025231323022a))
26
- * Fix EOS set-top box being identified as Apple. ([#4310](https://github.com/shaka-project/shaka-player/issues/4310)) ([3f24916](https://github.com/shaka-project/shaka-player/commit/3f24916b108ebdd833b626ea6cdfbdb20b244767))
27
- * Fix getVideoPlaybackQuality in WebOS 3 ([#4316](https://github.com/shaka-project/shaka-player/issues/4316)) ([0e741d9](https://github.com/shaka-project/shaka-player/commit/0e741d95282487a699b77a521e1acf31ada732a6))
28
- * Fix MediaCapabilities polyfill on Playstation 4 ([#4320](https://github.com/shaka-project/shaka-player/issues/4320)) ([afa2a4b](https://github.com/shaka-project/shaka-player/commit/afa2a4b3f3358dc538cc164f6eb1969100c1d491))
29
- * Fix segment index assertions with DAI ([2ef9270](https://github.com/shaka-project/shaka-player/commit/2ef9270a95dd0de5119dc5c6fe6cc18a59202c24))
30
- * VTT Cue Parsing On PlayStation 4 ([#4340](https://github.com/shaka-project/shaka-player/issues/4340)) ([6784d88](https://github.com/shaka-project/shaka-player/commit/6784d88d2a5ee0f3763a50e6b0b74418c2f6af41)), closes [#4321](https://github.com/shaka-project/shaka-player/issues/4321)
6
+ ### Features
31
7
 
32
- ## [4.1.1](https://github.com/shaka-project/shaka-player/compare/v4.1.0...v4.1.1) (2022-06-14)
8
+ * add Amazon Fire TV platform support ([#4375](https://github.com/shaka-project/shaka-player/issues/4375)) ([5102dac](https://github.com/shaka-project/shaka-player/commit/5102dac96cb1a749fefeb1f6b7a24c13f6b1077b))
9
+ * Add support for Modern EME and legacy Apple Media Keys for FairPlay ([#4309](https://github.com/shaka-project/shaka-player/issues/4309)) ([5441f93](https://github.com/shaka-project/shaka-player/commit/5441f932fd3da20f26da162cc0d49d0470689b41))
10
+ * Automatic ABR quality restrictions based on size ([#4404](https://github.com/shaka-project/shaka-player/issues/4404)) ([cfe8af5](https://github.com/shaka-project/shaka-player/commit/cfe8af5ff928fe7466b103429a6325917579ce70)), closes [#2333](https://github.com/shaka-project/shaka-player/issues/2333)
11
+ * **hls:** Support AES-128 in HLS ([#4386](https://github.com/shaka-project/shaka-player/issues/4386)) ([6194021](https://github.com/shaka-project/shaka-player/commit/6194021a3d4ea5dae22ade6713bb077875a4ee9d)), closes [#850](https://github.com/shaka-project/shaka-player/issues/850)
12
+ * Improve gap-detection robustness ([#4399](https://github.com/shaka-project/shaka-player/issues/4399)) ([4293a14](https://github.com/shaka-project/shaka-player/commit/4293a1421ada4b189d64b8c3f87a7599bc7b1a8f))
13
+ * Upgrade eme-encryption-scheme-polyfill to support ChromeCast version of PlayReady ([#4378](https://github.com/shaka-project/shaka-player/issues/4378)) ([e6b6d7c](https://github.com/shaka-project/shaka-player/commit/e6b6d7c24bee4138b6bb2735e3c9a4dc885a6cf6))
14
+ * **webvtt:** add support for karaoke style text in WebVTT ([#4274](https://github.com/shaka-project/shaka-player/issues/4274)) ([60af516](https://github.com/shaka-project/shaka-player/commit/60af5165207d39ebe26d536b009521192ab8cad9))
33
15
 
34
16
 
35
17
  ### Bug Fixes
36
18
 
37
- * **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))
38
- * **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))
39
- * **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)
40
- * 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))
41
- * 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))
42
- * 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)
43
- * 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))
19
+ * Add fallback to TextDecoder and TextEncoder [#4324](https://github.com/shaka-project/shaka-player/issues/4324) ([5b18069](https://github.com/shaka-project/shaka-player/commit/5b180694309f1cc01b2997cd0366154135f8acd8))
20
+ * add strictMissingProperties suppressions to unblock strict missing properties on union types. ([#4371](https://github.com/shaka-project/shaka-player/issues/4371)) ([b361948](https://github.com/shaka-project/shaka-player/commit/b36194878e26a22b522a6cf1dba07e9fc5cd341d))
21
+ * Debug buffer placement ([#4345](https://github.com/shaka-project/shaka-player/issues/4345)) ([47fa309](https://github.com/shaka-project/shaka-player/commit/47fa3093e1462d0bcca87238dc4886b9e2c1f8f4))
22
+ * **demo:** allow switch between UITextDisplayer and SimpleTextDisplayer ([#4275](https://github.com/shaka-project/shaka-player/issues/4275)) ([28689f3](https://github.com/shaka-project/shaka-player/commit/28689f38fb7cc8f3b85b6b1eb2337a1779e8ee95))
23
+ * **demo:** erroneous FairPlay keysystem in demo ([#4276](https://github.com/shaka-project/shaka-player/issues/4276)) ([8719bdc](https://github.com/shaka-project/shaka-player/commit/8719bdc0defd7956ec9fad934525477a603744a0))
24
+ * exception if on early adError ([#4362](https://github.com/shaka-project/shaka-player/issues/4362)) ([3c92f05](https://github.com/shaka-project/shaka-player/commit/3c92f0598e6c1628ff50d980a842dd40b2b56813)), closes [#4004](https://github.com/shaka-project/shaka-player/issues/4004)
25
+ * Fix EOS set-top box being identified as Apple. ([#4310](https://github.com/shaka-project/shaka-player/issues/4310)) ([7c2c4be](https://github.com/shaka-project/shaka-player/commit/7c2c4be2ae946c4cf270717f852b0d95b498266e))
26
+ * Fix getVideoPlaybackQuality in WebOS 3 ([#4316](https://github.com/shaka-project/shaka-player/issues/4316)) ([5561111](https://github.com/shaka-project/shaka-player/commit/556111143dfccbc7348fc15792df75bc35fea465))
27
+ * Fix key ID byteswapping for PlayReady on PS4 ([#4377](https://github.com/shaka-project/shaka-player/issues/4377)) ([25fd4f4](https://github.com/shaka-project/shaka-player/commit/25fd4f4af6ddd8953c4bc2da4a2d9eb1144c3fb9))
28
+ * Fix MediaCapabilities polyfill on Playstation 4 ([#4320](https://github.com/shaka-project/shaka-player/issues/4320)) ([0335b2a](https://github.com/shaka-project/shaka-player/commit/0335b2af2efea6ceda83e536e12094e4cc942a25))
29
+ * Fix MediaCapabilities polyfill on Tizen and WebOS ([#4396](https://github.com/shaka-project/shaka-player/issues/4396)) ([eb2aed8](https://github.com/shaka-project/shaka-player/commit/eb2aed825e84142f9fb9ddb3e69ebc333127c295)), closes [#4383](https://github.com/shaka-project/shaka-player/issues/4383) [#4357](https://github.com/shaka-project/shaka-player/issues/4357)
30
+ * Fix segment index assertions with DAI ([#4348](https://github.com/shaka-project/shaka-player/issues/4348)) ([c2b3853](https://github.com/shaka-project/shaka-player/commit/c2b3853a56e816c97fab57f961f295b7272e410e))
31
+ * Fix TextDecoder fallback and browser support check ([#4403](https://github.com/shaka-project/shaka-player/issues/4403)) ([04fc0d4](https://github.com/shaka-project/shaka-player/commit/04fc0d47c3895f294401b588ed49cc4360f31be1))
32
+ * Fix UI captions icon state ([#4384](https://github.com/shaka-project/shaka-player/issues/4384)) ([d462633](https://github.com/shaka-project/shaka-player/commit/d46263333ba3de68707d521b997c40c5ba492fda)), closes [#4358](https://github.com/shaka-project/shaka-player/issues/4358)
33
+ * Fix VP9 codec checks on Mac Firefox ([#4391](https://github.com/shaka-project/shaka-player/issues/4391)) ([b6ab769](https://github.com/shaka-project/shaka-player/commit/b6ab76976211852e96b2883562166a5e1e4dd0f2))
34
+ * **hls:** Fix AV sync issues, fallback to sequence numbers if PROGRAM-DATE-TIME ignored ([#4289](https://github.com/shaka-project/shaka-player/issues/4289)) ([314a987](https://github.com/shaka-project/shaka-player/commit/314a987ecf85b47cc8a6cef08f390ef817e11c49)), closes [#4287](https://github.com/shaka-project/shaka-player/issues/4287)
35
+ * New EME polyfill fixes EME/MCap issues on some smart TVs ([#4279](https://github.com/shaka-project/shaka-player/issues/4279)) ([db1b20e](https://github.com/shaka-project/shaka-player/commit/db1b20ec77f74472dd24f493f2a26c02b17927bc))
36
+ * Populate track's spatialAudio property ([#4291](https://github.com/shaka-project/shaka-player/issues/4291)) ([713f461](https://github.com/shaka-project/shaka-player/commit/713f461c62b23680557f8d6c4b9c3126bb604f9e))
37
+ * Remove IE 11 from default browsers for Windows ([#4272](https://github.com/shaka-project/shaka-player/issues/4272)) ([490b06c](https://github.com/shaka-project/shaka-player/commit/490b06cd45d09c7567056535f4b8dc6f3e2e5733)), closes [#4271](https://github.com/shaka-project/shaka-player/issues/4271)
38
+ * **text:** Fix cue region rendering in UI ([#4412](https://github.com/shaka-project/shaka-player/issues/4412)) ([b1f46db](https://github.com/shaka-project/shaka-player/commit/b1f46dbc3a685b0216600835e24fd13c504e1b62)), closes [#4381](https://github.com/shaka-project/shaka-player/issues/4381)
39
+ * **text:** Fix TTML render timing and line break issues for native display ([122f223](https://github.com/shaka-project/shaka-player/commit/122f223d19732bf5977ab8a5c93bbc4d934da1d7))
40
+ * Update main branch Cast receiver ID ([#4364](https://github.com/shaka-project/shaka-player/issues/4364)) ([46b27f1](https://github.com/shaka-project/shaka-player/commit/46b27f19e099d44ab3929222da7a3bcb41bdb230))
41
+ * 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)) ([3d27d2a](https://github.com/shaka-project/shaka-player/commit/3d27d2a2cfeb8fa21f3415baaf013567dcccf480))
42
+ * VTT Cue Parsing On PlayStation 4 ([#4340](https://github.com/shaka-project/shaka-player/issues/4340)) ([b5da41e](https://github.com/shaka-project/shaka-player/commit/b5da41ed80b96e8edae970c39dd5fac7348a9a55)), closes [#4321](https://github.com/shaka-project/shaka-player/issues/4321)
44
43
 
45
44
  ## [4.1.0](https://github.com/shaka-project/shaka-player/compare/v4.0.0...v4.1.0) (2022-06-02)
46
45
 
@@ -346,6 +346,22 @@ shakaAssets.testAssets = [
346
346
  .addFeature(shakaAssets.Feature.SURROUND)
347
347
  .addFeature(shakaAssets.Feature.OFFLINE)
348
348
  .addLicenseServer('com.widevine.alpha', 'https://cwip-shaka-proxy.appspot.com/no_auth'),
349
+ new ShakaDemoAssetInfo(
350
+ /* name= */ 'Sintel (HLS, TS, AES-128 key rotation)',
351
+ /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/sintel.png',
352
+ /* manifestUri= */ 'https://storage.googleapis.com/shaka-demo-assets/sintel-ts-aes-key-rotation/master.m3u8',
353
+ /* source= */ shakaAssets.Source.SHAKA)
354
+ .addFeature(shakaAssets.Feature.HLS)
355
+ .addFeature(shakaAssets.Feature.MP2TS)
356
+ .addFeature(shakaAssets.Feature.OFFLINE),
357
+ new ShakaDemoAssetInfo(
358
+ /* name= */ 'Sintel (HLS, FMP4, AES-128)',
359
+ /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/sintel.png',
360
+ /* manifestUri= */ 'https://storage.googleapis.com/shaka-demo-assets/sintel-fmp4-aes/master.m3u8',
361
+ /* source= */ shakaAssets.Source.SHAKA)
362
+ .addFeature(shakaAssets.Feature.HLS)
363
+ .addFeature(shakaAssets.Feature.MP4)
364
+ .addFeature(shakaAssets.Feature.OFFLINE),
349
365
  new ShakaDemoAssetInfo(
350
366
  /* name= */ 'Sintel 4k (multicodec)',
351
367
  /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/sintel.png',
@@ -904,6 +920,15 @@ shakaAssets.testAssets = [
904
920
  .addFeature(shakaAssets.Feature.HLS)
905
921
  .addFeature(shakaAssets.Feature.MP2TS)
906
922
  .addFeature(shakaAssets.Feature.OFFLINE),
923
+ new ShakaDemoAssetInfo(
924
+ /* name= */ 'Art of Motion (HLS, TS, AES-128)',
925
+ /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/art_of_motion.png',
926
+ /* manifestUri= */ 'https://bitmovin-a.akamaihd.net/content/art-of-motion_drm/m3u8s/11331.m3u8',
927
+ /* source= */ shakaAssets.Source.BITCODIN)
928
+ .addFeature(shakaAssets.Feature.HIGH_DEFINITION)
929
+ .addFeature(shakaAssets.Feature.HLS)
930
+ .addFeature(shakaAssets.Feature.MP2TS)
931
+ .addFeature(shakaAssets.Feature.OFFLINE),
907
932
  new ShakaDemoAssetInfo(
908
933
  /* name= */ 'Sintel (HLS, TS, 4k)',
909
934
  /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/sintel.png',
@@ -188,6 +188,7 @@ shakaDemo.MessageIds = {
188
188
  IGNORE_DASH_DRM: 'DEMO_IGNORE_DASH_DRM',
189
189
  IGNORE_DASH_MAX_SEGMENT_DURATION: 'DEMO_IGNORE_DASH_MAX_SEGMENT_DURATION',
190
190
  IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY: 'DEMO_IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY',
191
+ IGNORE_DEVICE_PIXEL_RATIO: 'DEMO_IGNORE_DEVICE_PIXEL_RATIO',
191
192
  IGNORE_HLS_IMAGE_FAILURES: 'DEMO_IGNORE_HLS_IMAGE_FAILURES',
192
193
  IGNORE_HLS_TEXT_FAILURES: 'DEMO_IGNORE_HLS_TEXT_FAILURES',
193
194
  IGNORE_MANIFEST_PROGRAM_DATE_TIME: 'DEMO_IGNORE_MANIFEST_PROGRAM_DATE_TIME',
@@ -229,6 +230,7 @@ shakaDemo.MessageIds = {
229
230
  PREFER_FORCED_SUBS: 'DEMO_PREFER_FORCED_SUBS',
230
231
  PREFER_NATIVE_HLS: 'DEMO_PREFER_NATIVE_HLS',
231
232
  REBUFFERING_GOAL: 'DEMO_REBUFFERING_GOAL',
233
+ RESTRICT_TO_ELEMENT_SIZE: 'DEMO_RESTRICT_TO_ELEMENT_SIZE',
232
234
  RESTRICTIONS_SECTION_HEADER: 'DEMO_RESTRICTIONS_SECTION_HEADER',
233
235
  SAFE_SEEK_OFFSET: 'DEMO_SAFE_SEEK_OFFSET',
234
236
  SAFE_SKIP_DISTANCE: 'DEMO_SAFE_SKIP_DISTANCE',
package/demo/config.js CHANGED
@@ -271,7 +271,11 @@ shakaDemo.Config = class {
271
271
  /* canBeDecimal= */ true)
272
272
  .addNumberInput_(MessageIds.SLOW_HALF_LIFE,
273
273
  'abr.advanced.slowHalfLife',
274
- /* canBeDecimal= */ true);
274
+ /* canBeDecimal= */ true)
275
+ .addBoolInput_(MessageIds.RESTRICT_TO_ELEMENT_SIZE,
276
+ 'abr.restrictToElementSize')
277
+ .addBoolInput_(MessageIds.IGNORE_DEVICE_PIXEL_RATIO,
278
+ 'abr.ignoreDevicePixelRatio');
275
279
  this.addRetrictionsSection_('abr',
276
280
  MessageIds.ADAPTATION_RESTRICTIONS_SECTION_HEADER);
277
281
  }
package/demo/index.html CHANGED
@@ -126,7 +126,7 @@ UNCOMPILED_JS = [
126
126
  </div>
127
127
  <main class="mdl-layout__content" id="main-div">
128
128
  <div id="video-bar" class="hidden">
129
- <div data-shaka-player-container data-shaka-player-cast-receiver-id="06EDA6EE" class="video-container">
129
+ <div data-shaka-player-container data-shaka-player-cast-receiver-id="07AEE832" class="video-container">
130
130
  <video data-shaka-player autoplay playsinline id="video"></video>
131
131
  </div>
132
132
  </div>
@@ -95,6 +95,7 @@
95
95
  "DEMO_IGNORE_DASH_EMPTY_ADAPTATION_SET": "Ignore empty DASH AdaptationSets",
96
96
  "DEMO_IGNORE_DASH_MAX_SEGMENT_DURATION": "Ignore DASH maxSegmentDuration",
97
97
  "DEMO_IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY": "Ignore DASH suggestedPresentationDelay",
98
+ "DEMO_IGNORE_DEVICE_PIXEL_RATIO": "Ignore device pixel ratio",
98
99
  "DEMO_IGNORE_HLS_IMAGE_FAILURES": "Ignore HLS Image Stream Failures",
99
100
  "DEMO_IGNORE_HLS_TEXT_FAILURES": "Ignore HLS Text Stream Failures",
100
101
  "DEMO_IMA_ASSET_KEY": "Asset key (for LIVE DAI Content)",
@@ -177,6 +178,7 @@
177
178
  "DEMO_PROMPT_YES": "Yes",
178
179
  "DEMO_REBUFFERING_GOAL": "Rebuffering Goal",
179
180
  "DEMO_REPORT_BUG": "REPORT BUG",
181
+ "DEMO_RESTRICT_TO_ELEMENT_SIZE": "Restrict to element size",
180
182
  "DEMO_RESTRICTIONS_SECTION_HEADER": "Restrictions",
181
183
  "DEMO_SAFE_SEEK_OFFSET": "Safe Seek Offset",
182
184
  "DEMO_SAFE_SKIP_DISTANCE": "Safe Skip Distance",
@@ -383,6 +383,10 @@
383
383
  "description": "The name of a configuration value.",
384
384
  "message": "Ignore [PROPER_NAME:DASH] [JARGON:suggestedPresentationDelay]"
385
385
  },
386
+ "DEMO_IGNORE_DEVICE_PIXEL_RATIO": {
387
+ "description": "The name of a configuration value.",
388
+ "message": "Ignore device pixel ratio"
389
+ },
386
390
  "DEMO_IGNORE_HLS_TEXT_FAILURES": {
387
391
  "description": "The name of a configuration value.",
388
392
  "message": "Ignore [PROPER_NAME:HLS] Text Stream Failures"
@@ -711,6 +715,10 @@
711
715
  "description": "A link in the header, that files a bug report.",
712
716
  "message": "REPORT BUG"
713
717
  },
718
+ "DEMO_RESTRICT_TO_ELEMENT_SIZE": {
719
+ "description": "The name of a configuration value.",
720
+ "message": "Restrict to element size"
721
+ },
714
722
  "DEMO_RESTRICTIONS_SECTION_HEADER": {
715
723
  "description": "The header for a section of configuration values.",
716
724
  "message": "Restrictions"
@@ -139,13 +139,13 @@ AUDIO_ONLY_SEARCH:"DEMO_AUDIO_ONLY_SEARCH",CONTAINER_SEARCH:"DEMO_CONTAINER_SEAR
139
139
  ADAPTATION_SECTION_HEADER:"DEMO_ADAPTATION_SECTION_HEADER",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",
140
140
  BANDWIDTH_DOWNGRADE:"DEMO_BANDWIDTH_DOWNGRADE",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",
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
- 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
- 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_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
- 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
- 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
- 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=
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_DEVICE_PIXEL_RATIO:"DEMO_IGNORE_DEVICE_PIXEL_RATIO",
143
+ IGNORE_HLS_IMAGE_FAILURES:"DEMO_IGNORE_HLS_IMAGE_FAILURES",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",
144
+ 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_DISABLED_TIME:"DEMO_MAX_DISABLED_TIME",MAX_FRAMERATE:"DEMO_MAX_FRAMERATE",MAX_HEIGHT:"DEMO_MAX_HEIGHT",MAX_PIXELS:"DEMO_MAX_PIXELS",
145
+ 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",
146
+ NUMBER_OF_PARALLEL_DOWNLOADS:"DEMO_NUMBER_OF_PARALLEL_DOWNLOADS",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",RESTRICT_TO_ELEMENT_SIZE:"DEMO_RESTRICT_TO_ELEMENT_SIZE",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",
147
+ 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",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",
148
+ 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",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=
149
149
  this.imaAssetKey=this.imaVideoId=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};
150
150
  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};
151
151
  ShakaDemoAssetInfo.prototype.isClear=function(){return 1==this.drm.length&&this.drm[0]==shakaAssets.KeySystem.CLEAR};ShakaDemoAssetInfo.prototype.setMediaPlaylistFullMimeType=function(a){this.mediaPlaylistFullMimeType=a;return this};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};
@@ -176,9 +176,10 @@ shakaAssets.testAssets=[(new ShakaDemoAssetInfo("Big Buck Bunny: the Dark Truths
176
176
  "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",
177
177
  "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",
178
178
  "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",
179
- "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)",
180
- "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",
181
- 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),
179
+ "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Sintel (HLS, TS, AES-128 key rotation)","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://storage.googleapis.com/shaka-demo-assets/sintel-ts-aes-key-rotation/master.m3u8",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Sintel (HLS, FMP4, AES-128)","https://storage.googleapis.com/shaka-asset-icons/sintel.png",
180
+ "https://storage.googleapis.com/shaka-demo-assets/sintel-fmp4-aes/master.m3u8",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE),(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),
181
+ (new ShakaDemoAssetInfo("Sintel w/ trick mode (MP4 only, 720p)","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",
182
+ "https://storage.googleapis.com/shaka-demo-assets/sintel-webm-only/dash.mpd",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),
182
183
  (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",
183
184
  "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",
184
185
  "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",
@@ -220,18 +221,19 @@ shakaAssets.Source.DASH_IF)).addFeature(shakaAssets.Feature.DASH).addFeature(sha
220
221
  "https://dash.akamaized.net/akamai/bbb_30fps/bbb_with_multiple_tiled_thumbnails.mpd",shakaAssets.Source.DASH_IF)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE).addFeature(shakaAssets.Feature.THUMBNAILS),(new ShakaDemoAssetInfo("DASH-IF THUMBNAILS - Live stream, Single adaptation set, 1x1 tiles (livesim)","https://storage.googleapis.com/shaka-asset-icons/dash_if_test_pattern.png",
221
222
  "https://livesim.dashif.org/livesim/testpic_2s/Manifest_thumbs.mpd",shakaAssets.Source.DASH_IF)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.THUMBNAILS),(new ShakaDemoAssetInfo("Art of Motion (DASH)","https://storage.googleapis.com/shaka-asset-icons/art_of_motion.png","https://bitdash-a.akamaihd.net/content/MI201109210084_1/mpds/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd",
222
223
  shakaAssets.Source.BITCODIN)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Art of Motion (HLS, TS)","https://storage.googleapis.com/shaka-asset-icons/art_of_motion.png","https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8",shakaAssets.Source.BITCODIN)).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.OFFLINE),
223
- (new ShakaDemoAssetInfo("Sintel (HLS, TS, 4k)","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8",shakaAssets.Source.BITCODIN)).markAsDisabled().addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Car Ride (DASH, VOD, 180 Degrees)","https://lab.streamshark.io:10433/streams/balmain_360/.png?scale=300:210",
224
- "https://lab.streamshark.io:10433/streams/balmain_360/Feature.DASH/.mpd",shakaAssets.Source.METACDN)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.VOD),(new ShakaDemoAssetInfo("Car Ride (HLS, VOD, 180 Degrees)","https://lab.streamshark.io:10433/streams/balmain_360/.png?scale=300:210","https://lab.streamshark.io:10433/streams/balmain_360/Feature.HLS/.m3u8",shakaAssets.Source.METACDN)).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.VOD),
225
- (new ShakaDemoAssetInfo("Queensland, Australia Landscape (DASH)","https://lab.streamshark.io:10433/streams/sharkahouse/.png?scale=300:210","https://lab.streamshark.io:10433/streams/sharkahouse/Feature.DASH/.mpd",shakaAssets.Source.METACDN)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.VOD),(new ShakaDemoAssetInfo("Queensland, Australia Landscape (HLS)","https://lab.streamshark.io:10433/streams/sharkahouse/.png?scale=300:210",
226
- "https://lab.streamshark.io:10433/streams/sharkahouse/Feature.HLS/.m3u8",shakaAssets.Source.METACDN)).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.VOD),(new ShakaDemoAssetInfo("Big Buck Bunny (Nimble, DASH)","https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png","https://cf-sf-video.wmspanel.com/local/raw/BigBuckBunny_320x180.mp4/manifest.mpd",shakaAssets.Source.NIMBLE_STREAMER)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),
227
- (new ShakaDemoAssetInfo("Big Buck Bunny (Nimble, HLS)","https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png","https://cf-sf-video.wmspanel.com/local/raw/BigBuckBunny_320x180.mp4/playlist.m3u8",shakaAssets.Source.NIMBLE_STREAMER)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Azure Trailer","https://storage.googleapis.com/shaka-asset-icons/azure.png",
228
- "https://amssamples.streaming.mediaservices.windows.net/91492735-c523-432b-ba01-faba6c2206a2/AzureMediaServicesPromo.ism/manifest(format=mpd-time-csf)",shakaAssets.Source.AZURE_MEDIA_SERVICES)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Big Buck Bunny (Azure)","https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png","https://amssamples.streaming.mediaservices.windows.net/622b189f-ec39-43f2-93a2-201ac4e31ce1/BigBuckBunny.ism/manifest(format=mpd-time-csf)",
229
- shakaAssets.Source.AZURE_MEDIA_SERVICES)).addKeySystem(shakaAssets.KeySystem.PLAYREADY).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha","https://amssamples.keydelivery.mediaservices.windows.net/Widevine/?KID=1ab45440-532c-4399-94dc-5c5ad9584bac").addLicenseServer("com.microsoft.playready","https://amssamples.keydelivery.mediaservices.windows.net/PlayReady/"),
230
- (new ShakaDemoAssetInfo("Tears of Steel (external text)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://ams-samplescdn.streaming.mediaservices.windows.net/11196e3d-2f40-4835-9a4d-fc52751b0323/TearsOfSteel_WAMEH264SmoothStreaming720p.ism/manifest(format=mpd-time-csf)",shakaAssets.Source.AZURE_MEDIA_SERVICES)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.OFFLINE).addExtraText({uri:"https://ams-samplescdn.streaming.mediaservices.windows.net/11196e3d-2f40-4835-9a4d-fc52751b0323/TOS-en.vtt",
231
- language:"en",kind:"subtitle",mime:"text/vtt"}).addExtraText({uri:"https://ams-samplescdn.streaming.mediaservices.windows.net/11196e3d-2f40-4835-9a4d-fc52751b0323/TOS-es.vtt",language:"es",kind:"subtitle",mime:"text/vtt"}).addExtraText({uri:"https://ams-samplescdn.streaming.mediaservices.windows.net/11196e3d-2f40-4835-9a4d-fc52751b0323/TOS-fr.vtt",language:"fr",kind:"subtitle",mime:"text/vtt"}),(new ShakaDemoAssetInfo("live profile","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-live/mp4-live-mpd-AV-BS.mpd",
232
- shakaAssets.Source.GPAC)).markAsDisabled().addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4),(new ShakaDemoAssetInfo("live profile with five periods","https://storage.googleapis.com/shaka-asset-icons/gpac_test_pattern.png","https://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-live-periods/mp4-live-periods-mpd.mpd",shakaAssets.Source.GPAC)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),
233
- (new ShakaDemoAssetInfo("main profile, single file","https://storage.googleapis.com/shaka-asset-icons/gpac_test_pattern.png","https://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-main-single/mp4-main-single-mpd-AV-NBS.mpd",shakaAssets.Source.GPAC)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("main profile, multiple files","https://storage.googleapis.com/shaka-asset-icons/gpac_test_pattern.png",
234
- "https://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-main-multi/mp4-main-multi-mpd-AV-BS.mpd",shakaAssets.Source.GPAC)).markAsDisabled().addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4),(new ShakaDemoAssetInfo("onDemand profile","https://storage.googleapis.com/shaka-asset-icons/gpac_test_pattern.png","https://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-onDemand/mp4-onDemand-mpd-AV.mpd",shakaAssets.Source.GPAC)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),
224
+ (new ShakaDemoAssetInfo("Art of Motion (HLS, TS, AES-128)","https://storage.googleapis.com/shaka-asset-icons/art_of_motion.png","https://bitmovin-a.akamaihd.net/content/art-of-motion_drm/m3u8s/11331.m3u8",shakaAssets.Source.BITCODIN)).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Sintel (HLS, TS, 4k)","https://storage.googleapis.com/shaka-asset-icons/sintel.png",
225
+ "https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8",shakaAssets.Source.BITCODIN)).markAsDisabled().addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Car Ride (DASH, VOD, 180 Degrees)","https://lab.streamshark.io:10433/streams/balmain_360/.png?scale=300:210","https://lab.streamshark.io:10433/streams/balmain_360/Feature.DASH/.mpd",shakaAssets.Source.METACDN)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.VOD),
226
+ (new ShakaDemoAssetInfo("Car Ride (HLS, VOD, 180 Degrees)","https://lab.streamshark.io:10433/streams/balmain_360/.png?scale=300:210","https://lab.streamshark.io:10433/streams/balmain_360/Feature.HLS/.m3u8",shakaAssets.Source.METACDN)).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.VOD),(new ShakaDemoAssetInfo("Queensland, Australia Landscape (DASH)","https://lab.streamshark.io:10433/streams/sharkahouse/.png?scale=300:210",
227
+ "https://lab.streamshark.io:10433/streams/sharkahouse/Feature.DASH/.mpd",shakaAssets.Source.METACDN)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.VOD),(new ShakaDemoAssetInfo("Queensland, Australia Landscape (HLS)","https://lab.streamshark.io:10433/streams/sharkahouse/.png?scale=300:210","https://lab.streamshark.io:10433/streams/sharkahouse/Feature.HLS/.m3u8",shakaAssets.Source.METACDN)).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.VOD),
228
+ (new ShakaDemoAssetInfo("Big Buck Bunny (Nimble, DASH)","https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png","https://cf-sf-video.wmspanel.com/local/raw/BigBuckBunny_320x180.mp4/manifest.mpd",shakaAssets.Source.NIMBLE_STREAMER)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Big Buck Bunny (Nimble, HLS)","https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png",
229
+ "https://cf-sf-video.wmspanel.com/local/raw/BigBuckBunny_320x180.mp4/playlist.m3u8",shakaAssets.Source.NIMBLE_STREAMER)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Azure Trailer","https://storage.googleapis.com/shaka-asset-icons/azure.png","https://amssamples.streaming.mediaservices.windows.net/91492735-c523-432b-ba01-faba6c2206a2/AzureMediaServicesPromo.ism/manifest(format=mpd-time-csf)",
230
+ shakaAssets.Source.AZURE_MEDIA_SERVICES)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Big Buck Bunny (Azure)","https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png","https://amssamples.streaming.mediaservices.windows.net/622b189f-ec39-43f2-93a2-201ac4e31ce1/BigBuckBunny.ism/manifest(format=mpd-time-csf)",shakaAssets.Source.AZURE_MEDIA_SERVICES)).addKeySystem(shakaAssets.KeySystem.PLAYREADY).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha",
231
+ "https://amssamples.keydelivery.mediaservices.windows.net/Widevine/?KID=1ab45440-532c-4399-94dc-5c5ad9584bac").addLicenseServer("com.microsoft.playready","https://amssamples.keydelivery.mediaservices.windows.net/PlayReady/"),(new ShakaDemoAssetInfo("Tears of Steel (external text)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://ams-samplescdn.streaming.mediaservices.windows.net/11196e3d-2f40-4835-9a4d-fc52751b0323/TearsOfSteel_WAMEH264SmoothStreaming720p.ism/manifest(format=mpd-time-csf)",
232
+ shakaAssets.Source.AZURE_MEDIA_SERVICES)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.OFFLINE).addExtraText({uri:"https://ams-samplescdn.streaming.mediaservices.windows.net/11196e3d-2f40-4835-9a4d-fc52751b0323/TOS-en.vtt",language:"en",kind:"subtitle",mime:"text/vtt"}).addExtraText({uri:"https://ams-samplescdn.streaming.mediaservices.windows.net/11196e3d-2f40-4835-9a4d-fc52751b0323/TOS-es.vtt",language:"es",
233
+ kind:"subtitle",mime:"text/vtt"}).addExtraText({uri:"https://ams-samplescdn.streaming.mediaservices.windows.net/11196e3d-2f40-4835-9a4d-fc52751b0323/TOS-fr.vtt",language:"fr",kind:"subtitle",mime:"text/vtt"}),(new ShakaDemoAssetInfo("live profile","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-live/mp4-live-mpd-AV-BS.mpd",shakaAssets.Source.GPAC)).markAsDisabled().addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4),
234
+ (new ShakaDemoAssetInfo("live profile with five periods","https://storage.googleapis.com/shaka-asset-icons/gpac_test_pattern.png","https://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-live-periods/mp4-live-periods-mpd.mpd",shakaAssets.Source.GPAC)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("main profile, single file","https://storage.googleapis.com/shaka-asset-icons/gpac_test_pattern.png",
235
+ "https://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-main-single/mp4-main-single-mpd-AV-NBS.mpd",shakaAssets.Source.GPAC)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("main profile, multiple files","https://storage.googleapis.com/shaka-asset-icons/gpac_test_pattern.png","https://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-main-multi/mp4-main-multi-mpd-AV-BS.mpd",
236
+ shakaAssets.Source.GPAC)).markAsDisabled().addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4),(new ShakaDemoAssetInfo("onDemand profile","https://storage.googleapis.com/shaka-asset-icons/gpac_test_pattern.png","https://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-onDemand/mp4-onDemand-mpd-AV.mpd",shakaAssets.Source.GPAC)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),
235
237
  (new ShakaDemoAssetInfo("main profile, open GOP","https://storage.googleapis.com/shaka-asset-icons/gpac_test_pattern.png","https://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-main-ogop/mp4-main-ogop-mpd-AV-BS.mpd",shakaAssets.Source.GPAC)).markAsDisabled().addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4),(new ShakaDemoAssetInfo("full profile, gradual decoding refresh","https://storage.googleapis.com/shaka-asset-icons/gpac_test_pattern.png",
236
238
  "https://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-full-gdr/mp4-full-gdr-mpd-AV-BS.mpd",shakaAssets.Source.GPAC)).markAsDisabled().addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4),(new ShakaDemoAssetInfo("Multi DRM - 8 Byte IV","https://storage.googleapis.com/shaka-asset-icons/azure.png","https://content.uplynk.com/847859273a4b4a81959d8fea181672a4.mpd?pr.version=2&pr.playenabler=B621D91F-EDCC-4035-8D4B-DC71760D43E9&pr.securitylevel=150",shakaAssets.Source.UPLYNK)).addKeySystem(shakaAssets.KeySystem.PLAYREADY).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addLicenseServer("com.microsoft.playready",
237
239
  "https://content.uplynk.com/pr").addLicenseServer("com.widevine.alpha","https://content.uplynk.com/wv").setRequestFilter(shakaAssets.UplynkRequestFilter).setResponseFilter(shakaAssets.UplynkResponseFilter),(new ShakaDemoAssetInfo("Multi DRM - MultiPeriod - 8 Byte IV","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://content.uplynk.com/054225d59be2454fabdca3e96912d847.mpd?ad=cleardash&pr.version=2&pr.playenabler=B621D91F-EDCC-4035-8D4B-DC71760D43E9&pr.securitylevel=150",shakaAssets.Source.UPLYNK)).addKeySystem(shakaAssets.KeySystem.PLAYREADY).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addLicenseServer("com.microsoft.playready",
@@ -288,7 +290,7 @@ shakaDemo.Config.prototype.addManifestSection_=function(){var a=shakaDemo.Messag
288
290
  "manifest.hls.defaultVideoCodec").addBoolInput_(a.IGNORE_MANIFEST_PROGRAM_DATE_TIME,"manifest.hls.ignoreManifestProgramDateTime").addNumberInput_(a.AVAILABILITY_WINDOW_OVERRIDE,"manifest.availabilityWindowOverride",!0,!1,!0).addTextInput_(a.CLOCK_SYNC_URI,"manifest.dash.clockSyncUri").addNumberInput_(a.DEFAULT_PRESENTATION_DELAY,"manifest.defaultPresentationDelay").addBoolInput_(a.IGNORE_MIN_BUFFER_TIME,"manifest.dash.ignoreMinBufferTime").addNumberInput_(a.INITIAL_SEGMENT_LIMIT,"manifest.dash.initialSegmentLimit",
289
291
  !1,!1,!0).addBoolInput_(a.DISABLE_AUDIO,"manifest.disableAudio").addBoolInput_(a.DISABLE_VIDEO,"manifest.disableVideo").addBoolInput_(a.DISABLE_TEXT,"manifest.disableText").addBoolInput_(a.DISABLE_THUMBNAILS,"manifest.disableThumbnails").addBoolInput_(a.SEGMENT_RELATIVE_VTT_TIMING,"manifest.segmentRelativeVttTiming");this.addRetrySection_("manifest",a.MANIFEST_RETRY_SECTION_HEADER)};
290
292
  shakaDemo.Config.prototype.addAbrSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".AbrConfiguration");this.addSection_(a.ADAPTATION_SECTION_HEADER,b).addBoolInput_(a.ENABLED,"abr.enabled").addBoolInput_(a.NETWORK_INFORMATION,"abr.useNetworkInformation").addNumberInput_(a.BANDWIDTH_ESTIMATE,"abr.defaultBandwidthEstimate").addNumberInput_(a.BANDWIDTH_DOWNGRADE,"abr.bandwidthDowngradeTarget",!0).addNumberInput_(a.BANDWIDTH_UPGRADE,"abr.bandwidthUpgradeTarget",!0).addNumberInput_(a.SWITCH_INTERVAL,
291
- "abr.switchInterval",!0).addNumberInput_(a.MIN_TOTAL_BYTES,"abr.advanced.minTotalBytes").addNumberInput_(a.MIN_BYTES,"abr.advanced.minBytes").addNumberInput_(a.FAST_HALF_LIFE,"abr.advanced.fastHalfLife",!0).addNumberInput_(a.SLOW_HALF_LIFE,"abr.advanced.slowHalfLife",!0);this.addRetrictionsSection_("abr",a.ADAPTATION_RESTRICTIONS_SECTION_HEADER)};
293
+ "abr.switchInterval",!0).addNumberInput_(a.MIN_TOTAL_BYTES,"abr.advanced.minTotalBytes").addNumberInput_(a.MIN_BYTES,"abr.advanced.minBytes").addNumberInput_(a.FAST_HALF_LIFE,"abr.advanced.fastHalfLife",!0).addNumberInput_(a.SLOW_HALF_LIFE,"abr.advanced.slowHalfLife",!0).addBoolInput_(a.RESTRICT_TO_ELEMENT_SIZE,"abr.restrictToElementSize").addBoolInput_(a.IGNORE_DEVICE_PIXEL_RATIO,"abr.ignoreDevicePixelRatio");this.addRetrictionsSection_("abr",a.ADAPTATION_RESTRICTIONS_SECTION_HEADER)};
292
294
  shakaDemo.Config.prototype.addCmcdSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".CmcdConfiguration");this.addSection_(a.CMCD_SECTION_HEADER,b).addBoolInput_(a.ENABLED,"cmcd.enabled").addTextInput_(a.SESSION_ID,"cmcd.sessionId").addTextInput_(a.CONTENT_ID,"cmcd.contentId").addBoolInput_(a.USE_HEADERS,"cmcd.useHeaders")};
293
295
  shakaDemo.Config.prototype.addRetrictionsSection_=function(a,b){var c=shakaDemo.MessageIds,d=(a?a+".":"")+"restrictions.",e=this.resolveExternLink_(".Restrictions");this.addSection_(b,e).addNumberInput_(c.MIN_WIDTH,d+"minWidth").addNumberInput_(c.MAX_WIDTH,d+"maxWidth").addNumberInput_(c.MIN_HEIGHT,d+"minHeight").addNumberInput_(c.MAX_HEIGHT,d+"maxHeight").addNumberInput_(c.MIN_PIXELS,d+"minPixels").addNumberInput_(c.MAX_PIXELS,d+"maxPixels").addNumberInput_(c.MIN_FRAMERATE,d+"minFrameRate").addNumberInput_(c.MAX_FRAMERATE,
294
296
  d+"maxFrameRate").addNumberInput_(c.MIN_BANDWIDTH,d+"minBandwidth").addNumberInput_(c.MAX_BANDWIDTH,d+"maxBandwidth")};