shaka-player 4.2.5 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/.github/workflows/build-and-test.yaml +7 -0
  2. package/.github/workflows/sync-labels.yaml +1 -1
  3. package/.github/workflows/update-issues.yaml +1 -1
  4. package/AUTHORS +4 -0
  5. package/CHANGELOG.md +114 -74
  6. package/CONTRIBUTORS +4 -0
  7. package/README.md +14 -0
  8. package/conditional/dummy_cast_proxy.js +120 -0
  9. package/demo/common/assets.js +58 -0
  10. package/demo/common/message_ids.js +22 -1
  11. package/demo/config.js +89 -5
  12. package/demo/demo.less +7 -1
  13. package/demo/index.html +8 -1
  14. package/demo/locales/en.json +21 -1
  15. package/demo/locales/source.json +82 -2
  16. package/demo/main.js +57 -1
  17. package/demo/search.js +2 -0
  18. package/demo/visualizer.js +337 -0
  19. package/demo/visualizer_button.js +103 -0
  20. package/dist/controls.css +1 -1
  21. package/dist/controls.css.map +1 -1
  22. package/dist/demo.compiled.debug.js +107 -88
  23. package/dist/demo.compiled.debug.map +4 -4
  24. package/dist/demo.compiled.js +107 -88
  25. package/dist/demo.compiled.map +4 -4
  26. package/dist/demo.css +1 -1
  27. package/dist/demo.css.map +1 -1
  28. package/dist/deps.js +21 -13
  29. package/dist/locales.js +31 -31
  30. package/dist/receiver.compiled.debug.js +75 -77
  31. package/dist/receiver.compiled.debug.map +3 -3
  32. package/dist/receiver.compiled.js +75 -77
  33. package/dist/receiver.compiled.map +3 -3
  34. package/dist/shaka-player.compiled.d.ts +181 -27
  35. package/dist/shaka-player.compiled.debug.d.ts +181 -27
  36. package/dist/shaka-player.compiled.debug.externs.js +169 -31
  37. package/dist/shaka-player.compiled.debug.js +510 -450
  38. package/dist/shaka-player.compiled.debug.map +4 -4
  39. package/dist/shaka-player.compiled.externs.js +169 -31
  40. package/dist/shaka-player.compiled.js +912 -874
  41. package/dist/shaka-player.compiled.map +4 -4
  42. package/dist/shaka-player.ui.d.ts +181 -27
  43. package/dist/shaka-player.ui.debug.d.ts +181 -27
  44. package/dist/shaka-player.ui.debug.externs.js +169 -31
  45. package/dist/shaka-player.ui.debug.js +533 -471
  46. package/dist/shaka-player.ui.debug.map +4 -4
  47. package/dist/shaka-player.ui.externs.js +169 -31
  48. package/dist/shaka-player.ui.js +1073 -1036
  49. package/dist/shaka-player.ui.map +4 -4
  50. package/docs/design/lcevc-architecture.png +0 -0
  51. package/docs/design/lcevc-demo.png +0 -0
  52. package/docs/design/lcevc-integration.md +72 -0
  53. package/docs/tutorials/fairplay.md +7 -0
  54. package/docs/tutorials/faq.md +1 -1
  55. package/docs/tutorials/ui.md +7 -7
  56. package/docs/tutorials/upgrade.md +6 -0
  57. package/externs/ima.js +13 -1
  58. package/externs/lcevc.js +81 -0
  59. package/externs/mux.js +1 -42
  60. package/externs/shaka/ads.js +11 -1
  61. package/externs/shaka/manifest_parser.js +5 -1
  62. package/externs/shaka/mp4_parser.js +3 -0
  63. package/externs/shaka/player.js +178 -15
  64. package/lib/abr/simple_abr_manager.js +7 -0
  65. package/lib/ads/ad_manager.js +0 -8
  66. package/lib/ads/client_side_ad.js +15 -0
  67. package/lib/ads/client_side_ad_manager.js +21 -8
  68. package/lib/ads/server_side_ad.js +15 -0
  69. package/lib/ads/server_side_ad_manager.js +3 -3
  70. package/lib/cast/cast_utils.js +2 -0
  71. package/lib/cea/dummy_cea_parser.js +28 -0
  72. package/lib/cea/i_cea_parser.js +14 -2
  73. package/lib/cea/mp4_cea_parser.js +108 -5
  74. package/lib/config/auto_show_text.js +33 -0
  75. package/lib/dash/dash_parser.js +1 -1
  76. package/lib/hls/hls_parser.js +808 -384
  77. package/lib/lcevc/lcevc_dil.js +152 -0
  78. package/lib/media/closed_caption_parser.js +9 -6
  79. package/lib/media/drm_engine.js +14 -6
  80. package/lib/media/media_source_capabilities.js +36 -0
  81. package/lib/media/media_source_engine.js +113 -28
  82. package/lib/media/presentation_timeline.js +26 -11
  83. package/lib/media/segment_reference.js +49 -1
  84. package/lib/media/streaming_engine.js +142 -12
  85. package/lib/media/transmuxer.js +78 -21
  86. package/lib/offline/storage.js +1 -0
  87. package/lib/player.js +456 -77
  88. package/lib/polyfill/media_capabilities.js +9 -5
  89. package/lib/polyfill/patchedmediakeys_apple.js +63 -4
  90. package/lib/text/vtt_text_parser.js +35 -1
  91. package/lib/util/dom_utils.js +0 -1
  92. package/lib/util/error.js +17 -0
  93. package/lib/util/fake_event.js +2 -0
  94. package/lib/util/id3_utils.js +300 -0
  95. package/lib/util/mime_utils.js +3 -6
  96. package/lib/util/mp4_box_parsers.js +39 -5
  97. package/lib/util/mp4_parser.js +35 -0
  98. package/lib/util/player_configuration.js +23 -1
  99. package/lib/util/stream_utils.js +5 -3
  100. package/lib/util/ts_parser.js +499 -0
  101. package/maintained-branches.md +2 -2
  102. package/package.json +7 -4
  103. package/roadmap.md +5 -3
  104. package/test/ads/ad_manager_unit.js +182 -29
  105. package/test/cast/cast_utils_unit.js +3 -1
  106. package/test/dash/dash_parser_content_protection_unit.js +1 -0
  107. package/test/dash/dash_parser_live_unit.js +1 -0
  108. package/test/dash/dash_parser_manifest_unit.js +93 -1
  109. package/test/dash/dash_parser_segment_base_unit.js +1 -0
  110. package/test/dash/dash_parser_segment_list_unit.js +1 -0
  111. package/test/dash/dash_parser_segment_template_unit.js +1 -0
  112. package/test/demo/demo_unit.js +2 -1
  113. package/test/hls/hls_live_unit.js +253 -19
  114. package/test/hls/hls_parser_unit.js +631 -12
  115. package/test/media/closed_caption_parser_unit.js +2 -1
  116. package/test/media/drm_engine_integration.js +3 -1
  117. package/test/media/media_source_engine_integration.js +71 -6
  118. package/test/media/media_source_engine_unit.js +10 -5
  119. package/test/media/streaming_engine_integration.js +4 -1
  120. package/test/media/streaming_engine_unit.js +144 -1
  121. package/test/media/transmuxer_integration.js +21 -10
  122. package/test/player_integration.js +224 -82
  123. package/test/player_unit.js +5 -2
  124. package/test/polyfill/media_capabilities_unit.js +21 -23
  125. package/test/polyfill/patchedmediakeys_apple_unit.js +130 -0
  126. package/test/test/assets/id3-metadata.aac +0 -0
  127. package/test/test/assets/id3-metadata.ts +0 -0
  128. package/test/test/assets/thumbnails-sprites.vtt +10 -0
  129. package/test/test/assets/thumbnails.vtt +10 -0
  130. package/test/test/util/dash_parser_util.js +2 -0
  131. package/test/test/util/fake_ad.js +21 -0
  132. package/test/test/util/fake_media_source_engine.js +7 -0
  133. package/test/test/util/id3_generator.js +100 -0
  134. package/test/test/util/manifest_generator.js +3 -6
  135. package/test/test/util/simple_fakes.js +4 -0
  136. package/test/test/util/stream_generator.js +38 -0
  137. package/test/test/util/test_scheme.js +43 -14
  138. package/test/text/vtt_text_parser_unit.js +11 -0
  139. package/test/util/id3_utils_unit.js +116 -0
  140. package/test/util/ts_parser_unit.js +77 -0
  141. package/third_party/closure-uri/uri.js +1 -1
  142. package/ui/less/containers.less +7 -0
  143. package/ui/ui.js +43 -4
@@ -112,6 +112,13 @@ jobs:
112
112
  # Install a launcher that can execute a shell script to launch this
113
113
  npm install karma-script-launcher --save-dev
114
114
 
115
+ # Some CI images (self-hosted or otherwise) don't have the minimum Java
116
+ # version necessary for the compiler (Java 11).
117
+ - uses: actions/setup-java@v3
118
+ with:
119
+ distribution: zulu
120
+ java-version: 11
121
+
115
122
  - name: Build Player
116
123
  run: python build/all.py
117
124
 
@@ -18,7 +18,7 @@ jobs:
18
18
  runs-on: ubuntu-latest
19
19
  steps:
20
20
  - name: Checkout code
21
- uses: actions/checkout@v2
21
+ uses: actions/checkout@v3
22
22
  with:
23
23
  repository: shaka-project/shaka-github-tools
24
24
 
@@ -16,7 +16,7 @@ jobs:
16
16
  runs-on: ubuntu-latest
17
17
  steps:
18
18
  - name: Checkout code
19
- uses: actions/checkout@v2
19
+ uses: actions/checkout@v3
20
20
  with:
21
21
  repository: shaka-project/shaka-github-tools
22
22
 
package/AUTHORS CHANGED
@@ -48,6 +48,7 @@ Jun Hong Chong <chongjunhong@gmail.com>
48
48
  Jürgen Kartnaller <kartnaller@lovelysystems.com>
49
49
  JW Player <*@jwplayer.com>
50
50
  Lucas Gabriel Sánchez <unkiwii@gmail.com>
51
+ Martin Stark <martin.stark@eyevinn.se>
51
52
  Matthias Van Parijs <matvp91@gmail.com>
52
53
  Mattias Wadman <mattias.wadman@gmail.com>
53
54
  Mohamed Rashid <ge_rashid@hotmail.co.uk>
@@ -83,7 +84,10 @@ uStudio Inc. <*@ustudio.com>
83
84
  Verizon Digital Media Services <*@verizondigitalmedia.com>
84
85
  ViacomCBS <*@viacomcbs.com>
85
86
  Vincent Valot <valot.vince@gmail.com>
87
+ V-Nova Limited <*@v-nova.com>
86
88
  Wayne Morgan <wayne.morgan.dev@gmail.com>
87
89
  Raymond Cheng <raycheng100@gmail.com>
88
90
  Blue Billywig <*@bluebillywig.com>
91
+ João Nabais <jlnabais@gmail.com>
89
92
  Koen Romers <koenromers@gmail.com>
93
+ Zhenghang Chen <czhtju@gmail.com>
package/CHANGELOG.md CHANGED
@@ -1,90 +1,130 @@
1
1
  # Changelog
2
2
 
3
- ## [4.2.5](https://github.com/shaka-project/shaka-player/compare/v4.2.4...v4.2.5) (2022-12-08)
3
+ ## [4.3.1](https://github.com/shaka-project/shaka-player/compare/v4.3.0...v4.3.1) (2022-12-08)
4
4
 
5
5
 
6
6
  ### Bug Fixes
7
7
 
8
- * 4676 - Virgin Media set top box is incorrectly categorized as Apple/Safari ([#4678](https://github.com/shaka-project/shaka-player/issues/4678)) ([fe1c3d8](https://github.com/shaka-project/shaka-player/commit/fe1c3d821bc38abfe945ac7afb7278a564174b12)), closes [#4676](https://github.com/shaka-project/shaka-player/issues/4676)
9
- * **cast:** Use cast platform APIs in MediaCapabilties polyfill ([#4727](https://github.com/shaka-project/shaka-player/issues/4727)) ([6f3b2da](https://github.com/shaka-project/shaka-player/commit/6f3b2dab5f8e488305c30cb644ca44ad835d593b))
10
- * **cea:** Fix MAX_ROWS in CEA-708 window ([#4757](https://github.com/shaka-project/shaka-player/issues/4757)) ([05d959b](https://github.com/shaka-project/shaka-player/commit/05d959b0ef36cfa4c4a512143ffde506a20de914))
11
- * Correct default initDataTransform for legacy Apple Media Keys ([#4797](https://github.com/shaka-project/shaka-player/issues/4797)) ([6eed72f](https://github.com/shaka-project/shaka-player/commit/6eed72fd84ca0f7971b01db39a411c544d022c8f))
12
- * Fix bufferBehind setting broken by image segments ([#4718](https://github.com/shaka-project/shaka-player/issues/4718)) ([2987451](https://github.com/shaka-project/shaka-player/commit/298745149efc9608938aa133a354c7f2133609e0)), closes [#4717](https://github.com/shaka-project/shaka-player/issues/4717)
13
- * Fix DRM workaround for Tizen and Xbox with hvc1/hev1 boxes ([#4743](https://github.com/shaka-project/shaka-player/issues/4743)) ([6e6a15f](https://github.com/shaka-project/shaka-player/commit/6e6a15f42aa0bfeb71b2fc426824280712d29360)), closes [#4742](https://github.com/shaka-project/shaka-player/issues/4742)
14
- * Fix subtitles not added to DOM region ([#4733](https://github.com/shaka-project/shaka-player/issues/4733)) ([c7cb175](https://github.com/shaka-project/shaka-player/commit/c7cb17501d71c1d2ea7e50897b07cb57a87e60b6)), closes [#4680](https://github.com/shaka-project/shaka-player/issues/4680)
15
- * Fix usage of WebCrypto in old browsers ([#4711](https://github.com/shaka-project/shaka-player/issues/4711)) ([9934cd7](https://github.com/shaka-project/shaka-player/commit/9934cd7be4e5f00e7da58ee667a10236ada8af25))
16
- * **HLS:** Fix lowLatencyPresentationDelay when using autoLowLatencyMode ([#4712](https://github.com/shaka-project/shaka-player/issues/4712)) ([c4ef744](https://github.com/shaka-project/shaka-player/commit/c4ef7441ecda7b68d0dede2fd4782d8d25116518))
17
- * **HLS:** Fix support legacy AVC1 codec used in HLS ([#4716](https://github.com/shaka-project/shaka-player/issues/4716)) ([e34e380](https://github.com/shaka-project/shaka-player/commit/e34e3809d2eb34ccc5e5c940fb5cd0137619fb5a))
18
- * **HLS:** Single alternative video renditions not working ([#4785](https://github.com/shaka-project/shaka-player/issues/4785)) ([655d080](https://github.com/shaka-project/shaka-player/commit/655d08016231a2aa9b8860f6e963ab586aec023a))
19
- * Polyfill missing AbortController on Tizen ([#4707](https://github.com/shaka-project/shaka-player/issues/4707)) ([eae487d](https://github.com/shaka-project/shaka-player/commit/eae487dd11c188ef740c8e36bc55462c86cc173a))
20
- * **TTML:** Add font-family mapping ([#4801](https://github.com/shaka-project/shaka-player/issues/4801)) ([9262f92](https://github.com/shaka-project/shaka-player/commit/9262f921b7601f230bfd2ec854c80dd25fc2a36e))
21
- * **TTML:** Fix duplicate cues overlapping segment boundaries ([#4798](https://github.com/shaka-project/shaka-player/issues/4798)) ([7aa3e5d](https://github.com/shaka-project/shaka-player/commit/7aa3e5d656d4dec1cace286cc54009dd4d79eff7)), closes [#4631](https://github.com/shaka-project/shaka-player/issues/4631)
22
- * **ui:** Check event cancelable before event.preventDefault ([#4690](https://github.com/shaka-project/shaka-player/issues/4690)) ([9d90919](https://github.com/shaka-project/shaka-player/commit/9d90919dd29d0d0b8299d416b1039dabcc91608c))
23
- * **ui:** Fix iOS fullscreen on rotation ([#4679](https://github.com/shaka-project/shaka-player/issues/4679)) ([04051fd](https://github.com/shaka-project/shaka-player/commit/04051fdcd5faaf1303e2875b4de7225e2534938e))
24
- * Update v4.2 receiver app ID ([56466dc](https://github.com/shaka-project/shaka-player/commit/56466dce484e5ced69eddeb0c62c68615f4ed8d3))
25
- * WebVTT line not correctly positioned in UITextDisplayer ([#4567](https://github.com/shaka-project/shaka-player/issues/4567)) ([#4682](https://github.com/shaka-project/shaka-player/issues/4682)) ([e9e6c94](https://github.com/shaka-project/shaka-player/commit/e9e6c945a31c9dfa84e4890606c606fa9346ef9e))
26
-
27
- ## [4.2.4](https://github.com/shaka-project/shaka-player/compare/v4.2.3...v4.2.4) (2022-11-09)
8
+ * **cast:** Use cast platform APIs in MediaCapabilties polyfill ([#4727](https://github.com/shaka-project/shaka-player/issues/4727)) ([fb1f0dc](https://github.com/shaka-project/shaka-player/commit/fb1f0dc019be0a5ac7f6ab4e51634cee203a666f))
9
+ * **cea:** Fix MAX_ROWS in CEA-708 window ([#4757](https://github.com/shaka-project/shaka-player/issues/4757)) ([3a501c6](https://github.com/shaka-project/shaka-player/commit/3a501c6ea63cf8ed5016c53c079364fec516cfe3))
10
+ * **cea:** Fix not rendering CEA-608 on encrypted mp4 segments ([#4756](https://github.com/shaka-project/shaka-player/issues/4756)) ([501d4ca](https://github.com/shaka-project/shaka-player/commit/501d4cacc19ae6503773a47c9d5b9da2a1488b52))
11
+ * Correct default initDataTransform for legacy Apple Media Keys ([#4797](https://github.com/shaka-project/shaka-player/issues/4797)) ([ac6c4ed](https://github.com/shaka-project/shaka-player/commit/ac6c4edd0d7b91e14930da0a1901ecda333b5d47))
12
+ * Fix bufferBehind setting broken by image segments ([#4718](https://github.com/shaka-project/shaka-player/issues/4718)) ([0e813a1](https://github.com/shaka-project/shaka-player/commit/0e813a176ed725933a9c96ecccc1617d99eb8c9a)), closes [#4717](https://github.com/shaka-project/shaka-player/issues/4717)
13
+ * Fix compiler error on static use of "this" ([#4699](https://github.com/shaka-project/shaka-player/issues/4699)) ([0e2a12a](https://github.com/shaka-project/shaka-player/commit/0e2a12a0c37c0d92a6f8f1f4a264f8e2f3b47bbd))
14
+ * Fix DRM workaround for Tizen and Xbox with hvc1/hev1 boxes ([#4743](https://github.com/shaka-project/shaka-player/issues/4743)) ([c6b6cff](https://github.com/shaka-project/shaka-player/commit/c6b6cffff973163a5c34784e11286e0540c66f03)), closes [#4742](https://github.com/shaka-project/shaka-player/issues/4742)
15
+ * Fix subtitles not added to DOM region ([#4733](https://github.com/shaka-project/shaka-player/issues/4733)) ([eea7858](https://github.com/shaka-project/shaka-player/commit/eea78580f45a708bd79d582253aea137b22b9ad5)), closes [#4680](https://github.com/shaka-project/shaka-player/issues/4680)
16
+ * Fix timestamp offset for ID3 on DAI-HLS ([#4696](https://github.com/shaka-project/shaka-player/issues/4696)) ([52aa102](https://github.com/shaka-project/shaka-player/commit/52aa102a70af82adafc5bb8ceaba2d5b5be0a84e))
17
+ * Fix usage of WebCrypto in old browsers ([#4711](https://github.com/shaka-project/shaka-player/issues/4711)) ([2fec68b](https://github.com/shaka-project/shaka-player/commit/2fec68b83070f265b88cb6871ecd3351f9873b26))
18
+ * **HLS:** Fix detection of Media Playlist for audio and video only in MP4 ([#4803](https://github.com/shaka-project/shaka-player/issues/4803)) ([f814d26](https://github.com/shaka-project/shaka-player/commit/f814d26039aa143c991008788a856285e9c34d84))
19
+ * **HLS:** fix lazy load with multiple raw audio tracks ([#4715](https://github.com/shaka-project/shaka-player/issues/4715)) ([ec2a3d6](https://github.com/shaka-project/shaka-player/commit/ec2a3d6f5b67fd8c98df3928b3101b8985aebd71))
20
+ * **HLS:** Fix lowLatencyPresentationDelay when using autoLowLatencyMode ([#4712](https://github.com/shaka-project/shaka-player/issues/4712)) ([824886d](https://github.com/shaka-project/shaka-player/commit/824886d759058ee25260da5fd3d0ad107ea9f6a1))
21
+ * **HLS:** Fix missing roles ([#4760](https://github.com/shaka-project/shaka-player/issues/4760)) ([d27f023](https://github.com/shaka-project/shaka-player/commit/d27f0230cf96d3c396156ce7f748e7f5b5f0d719)), closes [#4759](https://github.com/shaka-project/shaka-player/issues/4759)
22
+ * **HLS:** Fix support legacy AVC1 codec used in HLS ([#4716](https://github.com/shaka-project/shaka-player/issues/4716)) ([c7e83c4](https://github.com/shaka-project/shaka-player/commit/c7e83c4f46ff0db8db90f0746dda03758338c64f))
23
+ * **hls:** Fix type error in lazy-loading ([#4687](https://github.com/shaka-project/shaka-player/issues/4687)) ([ad41cf4](https://github.com/shaka-project/shaka-player/commit/ad41cf4f4a9bfd30637b121908b5daac108d823f))
24
+ * **HLS:** Single alternative video renditions not working ([#4785](https://github.com/shaka-project/shaka-player/issues/4785)) ([f0024fc](https://github.com/shaka-project/shaka-player/commit/f0024fc21ba774cc13fa7441dc28c53b5afe310b))
25
+ * Polyfill missing AbortController on Tizen ([#4707](https://github.com/shaka-project/shaka-player/issues/4707)) ([76fae10](https://github.com/shaka-project/shaka-player/commit/76fae10e44072d2561ca1a424311a7c10b9d4cf3))
26
+ * **TTML:** Add font-family mapping ([#4801](https://github.com/shaka-project/shaka-player/issues/4801)) ([57780dd](https://github.com/shaka-project/shaka-player/commit/57780dd449e31da83c37badb65b0d3e71cf8524c))
27
+ * **TTML:** Fix duplicate cues overlapping segment boundaries ([#4798](https://github.com/shaka-project/shaka-player/issues/4798)) ([9faf848](https://github.com/shaka-project/shaka-player/commit/9faf84801a1cf8da5b2261def2b24985f8d07366)), closes [#4631](https://github.com/shaka-project/shaka-player/issues/4631)
28
+ * **ui:** Check event cancelable before event.preventDefault ([#4690](https://github.com/shaka-project/shaka-player/issues/4690)) ([7a3e66d](https://github.com/shaka-project/shaka-player/commit/7a3e66dce32e78b16de02e070d41949626f736d8))
29
+ * **ui:** Fix iOS fullscreen on rotation ([#4679](https://github.com/shaka-project/shaka-player/issues/4679)) ([8504c17](https://github.com/shaka-project/shaka-player/commit/8504c17ee618f7a1d24302d0e219d6b605339151))
30
+
31
+
32
+ ### Performance Improvements
33
+
34
+ * Caching mediaSource support for browser engine ([#4778](https://github.com/shaka-project/shaka-player/issues/4778)) ([7d2d485](https://github.com/shaka-project/shaka-player/commit/7d2d48596f1fb8f164dd4a861227a2863b4eb68f))
35
+
36
+ ## [4.3.0](https://github.com/shaka-project/shaka-player/compare/v4.2.0...v4.3.0) (2022-11-10)
28
37
 
29
38
 
30
- ### Bug Fixes
31
-
32
- * Allow overriding special handling of 404s ([#4635](https://github.com/shaka-project/shaka-player/issues/4635)) ([bf3e4e8](https://github.com/shaka-project/shaka-player/commit/bf3e4e8967ab938c95861d3f02eb1bcf76722a5c)), closes [#4548](https://github.com/shaka-project/shaka-player/issues/4548)
33
- * **cast:** Reduce size of Cast update messages ([#4644](https://github.com/shaka-project/shaka-player/issues/4644)) ([2ee9803](https://github.com/shaka-project/shaka-player/commit/2ee9803f295bbdf7911740c4b5f35b81e8a7488c))
34
- * Content reload starttime with HLS on iOS ([#4575](https://github.com/shaka-project/shaka-player/issues/4575)) ([f02e25a](https://github.com/shaka-project/shaka-player/commit/f02e25af91eeb18939f16460702b8f9ec226b54c)), closes [#4244](https://github.com/shaka-project/shaka-player/issues/4244)
35
- * embed cc not shown when seeking back ([#4643](https://github.com/shaka-project/shaka-player/issues/4643)) ([3743fe8](https://github.com/shaka-project/shaka-player/commit/3743fe8ab70ce8bebd46ff4a667ddce188ec49c6)), closes [#4641](https://github.com/shaka-project/shaka-player/issues/4641)
36
- * Fix detection of ac4, dts, and dolby h265 ([#4657](https://github.com/shaka-project/shaka-player/issues/4657)) ([9da2b47](https://github.com/shaka-project/shaka-player/commit/9da2b47deba36f4c50fed10c859f46a432e20576))
37
- * focus on first element when back to the settings menu ([#4653](https://github.com/shaka-project/shaka-player/issues/4653)) ([f507c89](https://github.com/shaka-project/shaka-player/commit/f507c89bf63b0ec5b7802cd31ac3f3cca05ff237)), closes [#4652](https://github.com/shaka-project/shaka-player/issues/4652)
38
- * **HLS:** Fix detection of WebVTT subtitles in HLS by extension ([#4663](https://github.com/shaka-project/shaka-player/issues/4663)) ([731bd96](https://github.com/shaka-project/shaka-player/commit/731bd96644cbbd3fa39992fd62a4ae6de8389e74))
39
- * **HLS:** Infer missing codecs from config ([#4656](https://github.com/shaka-project/shaka-player/issues/4656)) ([507d96e](https://github.com/shaka-project/shaka-player/commit/507d96e74239973fb904d6ade4615ac8888a9d57))
40
- * **ui:** Fix exception on screen rotation if fullscreen is not supported ([#4669](https://github.com/shaka-project/shaka-player/issues/4669)) ([6c54db9](https://github.com/shaka-project/shaka-player/commit/6c54db91e03c4ff4a2c073b45dcb05e8591295d0))
41
-
42
- ## [4.2.3](https://github.com/shaka-project/shaka-player/compare/v4.2.2...v4.2.3) (2022-10-29)
43
-
44
-
45
- ### Bug Fixes
46
-
47
- * **ads:** Fix IMA crash when autoplay is rejected ([#4518](https://github.com/shaka-project/shaka-player/issues/4518)) ([871a3c0](https://github.com/shaka-project/shaka-player/commit/871a3c0315a2965c91ebdde9815c7f6c5e0a59de)), closes [#4179](https://github.com/shaka-project/shaka-player/issues/4179)
48
- * Fix HLS live stream subtitle offsets ([#4586](https://github.com/shaka-project/shaka-player/issues/4586)) ([ec0b4dc](https://github.com/shaka-project/shaka-player/commit/ec0b4dcb0e288ceb1a01874db99063ef54fb3e47))
49
- * Fix multi-period DASH with descriptive audio ([#4629](https://github.com/shaka-project/shaka-player/issues/4629)) ([0e70b87](https://github.com/shaka-project/shaka-player/commit/0e70b874cf8558207b0620516c5608c6a201018d)), closes [#4500](https://github.com/shaka-project/shaka-player/issues/4500)
50
- * fix support clear and encrypted periods ([#4606](https://github.com/shaka-project/shaka-player/issues/4606)) ([8ece8ea](https://github.com/shaka-project/shaka-player/commit/8ece8ea225fb8b9ec9027dacef0865cceb3fd93b))
51
- * Force using mcap polyfill on EOS browsers ([#4630](https://github.com/shaka-project/shaka-player/issues/4630)) ([6b9f806](https://github.com/shaka-project/shaka-player/commit/6b9f806df54cc7b8761ef1683cefe5ed8d576a03))
52
- * **hls:** Fix raw format detection when the main playlist hasn't type ([#4583](https://github.com/shaka-project/shaka-player/issues/4583)) ([4053088](https://github.com/shaka-project/shaka-player/commit/4053088847eff6d7ddb7a969701fa881f6e90e8a))
53
- * Limit key ids to 32 characters ([#4614](https://github.com/shaka-project/shaka-player/issues/4614)) ([6fc1455](https://github.com/shaka-project/shaka-player/commit/6fc145584ffc0798a6e97c5672409b1e1613f164))
54
- * Make XML parsing secure ([#4598](https://github.com/shaka-project/shaka-player/issues/4598)) ([2e45696](https://github.com/shaka-project/shaka-player/commit/2e45696c10f3c2199a372a7a5f311579e627cd8e))
55
- * **offline:** Add storage muxer init timeout ([#4566](https://github.com/shaka-project/shaka-player/issues/4566)) ([6022907](https://github.com/shaka-project/shaka-player/commit/6022907df5e3a18b552a49e537d2c1daeebbc2c6))
56
- * **playhead:** Safeguard getStallsDetected as stallDetector can be null ([#4581](https://github.com/shaka-project/shaka-player/issues/4581)) ([c4ee14f](https://github.com/shaka-project/shaka-player/commit/c4ee14f2abcdd83b21e64230b67ab121c1db037e))
57
- * Resolve load failures for TS-based content on Android-based Cast devices ([#4569](https://github.com/shaka-project/shaka-player/issues/4569)). ([#4570](https://github.com/shaka-project/shaka-player/issues/4570)) ([4a4f48d](https://github.com/shaka-project/shaka-player/commit/4a4f48d2cac726e2a5a1d4e51e89f0b854e281ef))
58
-
59
- ## [4.2.2](https://github.com/shaka-project/shaka-player/compare/v4.2.1...v4.2.2) (2022-10-07)
60
-
61
-
62
- ### Bug Fixes
63
-
64
- * allow build without text ([#4506](https://github.com/shaka-project/shaka-player/issues/4506)) ([7e93720](https://github.com/shaka-project/shaka-player/commit/7e9372097567d8d0f93c04e241fb917945da05bf))
65
- * allow the playback on platforms when low latency APIs are not supported ([#4485](https://github.com/shaka-project/shaka-player/issues/4485)) ([cf8c857](https://github.com/shaka-project/shaka-player/commit/cf8c857e58f041e24373e8b4f7d560287197cf13))
66
- * check for negative rows before moving ([#4510](https://github.com/shaka-project/shaka-player/issues/4510)) ([23f39d7](https://github.com/shaka-project/shaka-player/commit/23f39d7393c771440fc76ac9016b166d658710b2)), closes [#4508](https://github.com/shaka-project/shaka-player/issues/4508)
67
- * Filter unsupported H.264 streams in Xbox ([#4493](https://github.com/shaka-project/shaka-player/issues/4493)) ([914a08a](https://github.com/shaka-project/shaka-player/commit/914a08a4d08bed284a072aed52b0bf8fcbdc6986))
68
- * Fix choppy HLS startup ([#4553](https://github.com/shaka-project/shaka-player/issues/4553)) ([950ce69](https://github.com/shaka-project/shaka-player/commit/950ce699a06bb9e7668b431f4f08052c005f2e8a)), closes [#4516](https://github.com/shaka-project/shaka-player/issues/4516)
69
- * Fix errors with TS segments on Chromecast ([#4543](https://github.com/shaka-project/shaka-player/issues/4543)) ([8204db6](https://github.com/shaka-project/shaka-player/commit/8204db6ebc152cb01c36db941ca60bc82ccbe443))
70
- * Fix hang when seeking to the last segment ([#4537](https://github.com/shaka-project/shaka-player/issues/4537)) ([3d6c768](https://github.com/shaka-project/shaka-player/commit/3d6c768cb302de42138aec8fdf51dff8317c5607))
71
- * Fix HLS dynamic to static transition ([d9ecbf3](https://github.com/shaka-project/shaka-player/commit/d9ecbf3fccb886e10a491c43e05e681fe2103a2d))
72
- * Fix HLS dynamic to static transition ([#4483](https://github.com/shaka-project/shaka-player/issues/4483)) ([d9ecbf3](https://github.com/shaka-project/shaka-player/commit/d9ecbf3fccb886e10a491c43e05e681fe2103a2d)), closes [#4431](https://github.com/shaka-project/shaka-player/issues/4431)
73
- * Fix in-band key rotation on Xbox One ([#4478](https://github.com/shaka-project/shaka-player/issues/4478)) ([bc0a588](https://github.com/shaka-project/shaka-player/commit/bc0a588676828eb68bdca62efe52cb503feb947d)), closes [#4401](https://github.com/shaka-project/shaka-player/issues/4401)
74
- * Missing AES-128 key of last HLS segment ([#4519](https://github.com/shaka-project/shaka-player/issues/4519)) ([2c2677f](https://github.com/shaka-project/shaka-player/commit/2c2677fe7af10e1280ea8253b90ef6527bdcbbc0)), closes [#4517](https://github.com/shaka-project/shaka-player/issues/4517)
75
- * Respect existing app usage of Cast SDK ([#4523](https://github.com/shaka-project/shaka-player/issues/4523)) ([3db2568](https://github.com/shaka-project/shaka-player/commit/3db2568508cfc827fd9efc644096a45220eb617b)), closes [#4521](https://github.com/shaka-project/shaka-player/issues/4521)
76
- * **ttml:** Default TTML background color to transparent if unspecified ([#4496](https://github.com/shaka-project/shaka-player/issues/4496)) ([0b5c985](https://github.com/shaka-project/shaka-player/commit/0b5c9853a6a39cb24ab1270598bf34d2ac1eacf0)), closes [#4468](https://github.com/shaka-project/shaka-player/issues/4468)
39
+ ### Features
77
40
 
78
- ## [4.2.1](https://github.com/shaka-project/shaka-player/compare/v4.2.0...v4.2.1) (2022-08-31)
41
+ * Add AAC transmuxer ([#4632](https://github.com/shaka-project/shaka-player/issues/4632)) ([8623a5d](https://github.com/shaka-project/shaka-player/commit/8623a5d0304dd3e65c613b176b4afa38a6dc96b5))
42
+ * Add config for sequenceMode in DASH ([#4607](https://github.com/shaka-project/shaka-player/issues/4607)) ([aff2a5d](https://github.com/shaka-project/shaka-player/commit/aff2a5d9e81e5fdfaeb91275aaa0821aa189d34f))
43
+ * Add external thumbnails support ([#4497](https://github.com/shaka-project/shaka-player/issues/4497)) ([3582f0a](https://github.com/shaka-project/shaka-player/commit/3582f0a7274d6bb6f0bbfdf2ad51c5ecfb6f974b))
44
+ * Add external thumbnails with sprites support ([#4584](https://github.com/shaka-project/shaka-player/issues/4584)) ([86cb3e7](https://github.com/shaka-project/shaka-player/commit/86cb3e714cc3f59cff8f0b33adb291e128c32609))
45
+ * Add limited support for HLS "identity" key format ([#4451](https://github.com/shaka-project/shaka-player/issues/4451)) ([b1e81a6](https://github.com/shaka-project/shaka-player/commit/b1e81a684afe086b7a37ea29bbbfc972575ba332)), closes [#2146](https://github.com/shaka-project/shaka-player/issues/2146)
46
+ * Adds ChannelCount as a filter to the Player Select Audio Track Method ([#4552](https://github.com/shaka-project/shaka-player/issues/4552)) ([9dd945c](https://github.com/shaka-project/shaka-player/commit/9dd945c3df7364b90a9c3cb3150021492ebb7d81)), closes [#4550](https://github.com/shaka-project/shaka-player/issues/4550)
47
+ * **ads:** Add getDescription to CS and SS ads ([#4526](https://github.com/shaka-project/shaka-player/issues/4526)) ([7d2a170](https://github.com/shaka-project/shaka-player/commit/7d2a170336b828e8aac871ff276dbb8b42c384a4))
48
+ * **ads:** Add getTitle to CS and SS ads ([#4513](https://github.com/shaka-project/shaka-player/issues/4513)) ([a019065](https://github.com/shaka-project/shaka-player/commit/a019065d5d19598c9d0ba6ce5d4d79070f3e3cba))
49
+ * **ads:** Ignore ad events with no associated ad ([#4488](https://github.com/shaka-project/shaka-player/issues/4488)) ([e826eb8](https://github.com/shaka-project/shaka-player/commit/e826eb8eec207dd2ebd4d4ee1e44510ebff22b71)), closes [#4481](https://github.com/shaka-project/shaka-player/issues/4481)
50
+ * Allow add extra features to MediaSource.addSourceBuffer ([#4527](https://github.com/shaka-project/shaka-player/issues/4527)) ([4033be7](https://github.com/shaka-project/shaka-player/commit/4033be7c5b1d1c397d5a4840ef7333a26ca93983))
51
+ * Allow clearKey configuration in base64 or hex ([#4627](https://github.com/shaka-project/shaka-player/issues/4627)) ([29ffc89](https://github.com/shaka-project/shaka-player/commit/29ffc89a117e6f4285c0133dce555e44a1414228))
52
+ * Allow customization of HLS Live behavior ([#4578](https://github.com/shaka-project/shaka-player/issues/4578)) ([4914201](https://github.com/shaka-project/shaka-player/commit/4914201f86f6e683b64c7cc3338cdf67cee544cf))
53
+ * Allow playback of HLS Media Playlist with AAC by default ([#4564](https://github.com/shaka-project/shaka-player/issues/4564)) ([757b34e](https://github.com/shaka-project/shaka-player/commit/757b34e5959f14c9a5b5aed173cc99d98a794a40))
54
+ * Allow playback of HLS Media Playlist with RAW formats by default and support ID3 ([#4591](https://github.com/shaka-project/shaka-player/issues/4591)) ([18d8367](https://github.com/shaka-project/shaka-player/commit/18d836746e20164409c070c787e08b8bcf4da180))
55
+ * Automatic ABR quality restrictions based on screen size ([#4515](https://github.com/shaka-project/shaka-player/issues/4515)) ([b5935a8](https://github.com/shaka-project/shaka-player/commit/b5935a8a6b3b05c0c4cd10774a9625b0bbaf1cf6))
56
+ * **demo:** Demo visualizer for buffered ranges. ([#4417](https://github.com/shaka-project/shaka-player/issues/4417)) ([55d0a15](https://github.com/shaka-project/shaka-player/commit/55d0a1556a273b6af0da16197b424796a175adf8))
57
+ * enable uninstalling PatchedMediaKeysApple ([#4471](https://github.com/shaka-project/shaka-player/issues/4471)) ([7166f0c](https://github.com/shaka-project/shaka-player/commit/7166f0c1d09ad458abf0ee18e961c88f415afefc)), closes [#4469](https://github.com/shaka-project/shaka-player/issues/4469)
58
+ * **HLS:** Add support for EXT-X-SESSION-KEY tag ([#4655](https://github.com/shaka-project/shaka-player/issues/4655)) ([172c9f8](https://github.com/shaka-project/shaka-player/commit/172c9f834ab6575cf9cdb2f825abd9961b9ad7fb)), closes [#917](https://github.com/shaka-project/shaka-player/issues/917)
59
+ * **HLS:** allow customize live segments delay ([#4585](https://github.com/shaka-project/shaka-player/issues/4585)) ([1f558a8](https://github.com/shaka-project/shaka-player/commit/1f558a82c14e3d68a3a67cbb58879f2ab12549d0))
60
+ * **HLS:** Allow mp3 playback with mp4a.40.34 ([#4592](https://github.com/shaka-project/shaka-player/issues/4592)) ([8f892b1](https://github.com/shaka-project/shaka-player/commit/8f892b136f4cadce6a4d0585f88d4eccaf065f1b))
61
+ * **HLS:** Lazy-load HLS media playlists ([#4511](https://github.com/shaka-project/shaka-player/issues/4511)) ([b2f279d](https://github.com/shaka-project/shaka-player/commit/b2f279db1b111e3c8a02706551f466468621cd97)), closes [#1936](https://github.com/shaka-project/shaka-player/issues/1936)
62
+ * **HLS:** Support for HLS key rotation ([#4568](https://github.com/shaka-project/shaka-player/issues/4568)) ([3846eea](https://github.com/shaka-project/shaka-player/commit/3846eeac3f3777c35e61f479958015062f4275af)), closes [#741](https://github.com/shaka-project/shaka-player/issues/741)
63
+ * Improved LCEVC integration ([#4560](https://github.com/shaka-project/shaka-player/issues/4560)) ([50062f5](https://github.com/shaka-project/shaka-player/commit/50062f58adea248a403461b50b65c3a585de31b4))
64
+ * LCEVC Integration ([#4050](https://github.com/shaka-project/shaka-player/issues/4050)) ([284ea63](https://github.com/shaka-project/shaka-player/commit/284ea63a60178cbc87ce2fde769eb06bdb8fb8ea))
65
+ * New autoShowText config to change initial text visibility behavior ([#3421](https://github.com/shaka-project/shaka-player/issues/3421)) ([5c24410](https://github.com/shaka-project/shaka-player/commit/5c24410560d8afa13e6f2492590f13506419b59e))
66
+ * Parse and surface "prft" boxes as events ([#4389](https://github.com/shaka-project/shaka-player/issues/4389)) ([89777dd](https://github.com/shaka-project/shaka-player/commit/89777dd7043ae2b5fa213ab73e43f93482bb86d0)), closes [#4382](https://github.com/shaka-project/shaka-player/issues/4382)
67
+ * Parse ID3 metadata ([#4409](https://github.com/shaka-project/shaka-player/issues/4409)) ([95bbf72](https://github.com/shaka-project/shaka-player/commit/95bbf72f426f9df899193f6083197a77191c0c4f))
68
+ * Support HTML-escaped cues in VTT ([#4660](https://github.com/shaka-project/shaka-player/issues/4660)) ([2b8b387](https://github.com/shaka-project/shaka-player/commit/2b8b38788ab5b6fc297eaa3537e97bc348d2b389))
69
+ * TS parser improvements ([#4612](https://github.com/shaka-project/shaka-player/issues/4612)) ([5157b44](https://github.com/shaka-project/shaka-player/commit/5157b44b2d644ec9cdc13b03b4ac762ed8e0f183))
79
70
 
80
71
 
81
72
  ### Bug Fixes
82
73
 
83
- * Fix bitmap-based cue size ([#4453](https://github.com/shaka-project/shaka-player/issues/4453)) ([6329cf2](https://github.com/shaka-project/shaka-player/commit/6329cf25b1a3265361e50386d48b0438e294536e))
84
- * Fix drm.keySystemsMapping config ([#4425](https://github.com/shaka-project/shaka-player/issues/4425)) ([40235ef](https://github.com/shaka-project/shaka-player/commit/40235ef4f7675a853daf315d4c089ad7be7b2188)), closes [#4422](https://github.com/shaka-project/shaka-player/issues/4422)
85
- * Fix vanishing tracks while offline ([#4426](https://github.com/shaka-project/shaka-player/issues/4426)) ([d668790](https://github.com/shaka-project/shaka-player/commit/d668790f5b9eef990a190128bd11972204e98480)), closes [#4408](https://github.com/shaka-project/shaka-player/issues/4408)
86
- * return width and height in the stats when we are using src= ([#4435](https://github.com/shaka-project/shaka-player/issues/4435)) ([aad8769](https://github.com/shaka-project/shaka-player/commit/aad8769807bcf58b2bc5c6298e9a10f428c73806))
87
- * **UI:** Ad position and ad counter are too close to each other ([#4416](https://github.com/shaka-project/shaka-player/issues/4416)) ([a7333a5](https://github.com/shaka-project/shaka-player/commit/a7333a560aae4c8f915b3546ecc4e34dc501c5f2))
74
+ * **ads:** Fix IMA crash when autoplay is rejected ([#4518](https://github.com/shaka-project/shaka-player/issues/4518)) ([d27f7d2](https://github.com/shaka-project/shaka-player/commit/d27f7d24bb3e1000fc489a6aa125fca359dd77e1)), closes [#4179](https://github.com/shaka-project/shaka-player/issues/4179)
75
+ * allow build without text ([#4506](https://github.com/shaka-project/shaka-player/issues/4506)) ([340b04a](https://github.com/shaka-project/shaka-player/commit/340b04ad4798c9b68ed9510ae71912192a61348b))
76
+ * Allow overriding special handling of 404s ([#4635](https://github.com/shaka-project/shaka-player/issues/4635)) ([427f126](https://github.com/shaka-project/shaka-player/commit/427f126ea3958541d69474505e1af0eb892d8dde)), closes [#4548](https://github.com/shaka-project/shaka-player/issues/4548)
77
+ * allow the playback on platforms when low latency APIs are not supported ([#4485](https://github.com/shaka-project/shaka-player/issues/4485)) ([c1753e1](https://github.com/shaka-project/shaka-player/commit/c1753e1a02881cfbbafd863eeb582411c45df92c))
78
+ * **cast:** Reduce size of Cast update messages ([#4644](https://github.com/shaka-project/shaka-player/issues/4644)) ([4e75ec6](https://github.com/shaka-project/shaka-player/commit/4e75ec64be76414b1d4945cbfbf7bc52b5ff3b01))
79
+ * **cea:** Fix not rendering CEA-608 Closed Captions ([#4683](https://github.com/shaka-project/shaka-player/issues/4683)) ([a489282](https://github.com/shaka-project/shaka-player/commit/a489282ff26796a55f96e035b55d331abfc14142)), closes [#4605](https://github.com/shaka-project/shaka-player/issues/4605) [#3659](https://github.com/shaka-project/shaka-player/issues/3659)
80
+ * check for negative rows before moving ([#4510](https://github.com/shaka-project/shaka-player/issues/4510)) ([b3621c2](https://github.com/shaka-project/shaka-player/commit/b3621c26a86897ba80c17b68f316e22aba61b30b)), closes [#4508](https://github.com/shaka-project/shaka-player/issues/4508)
81
+ * Content reload starttime with HLS on iOS ([#4575](https://github.com/shaka-project/shaka-player/issues/4575)) ([59d4360](https://github.com/shaka-project/shaka-player/commit/59d4360b686421f07aa0d7f28eb944f0c51ff5a2)), closes [#4244](https://github.com/shaka-project/shaka-player/issues/4244)
82
+ * DAI ID3 metadata parsing ([#4616](https://github.com/shaka-project/shaka-player/issues/4616)) ([0d67ecd](https://github.com/shaka-project/shaka-player/commit/0d67ecd7cba253eb1919ae6e15a80f34e08fc132))
83
+ * embed cc not shown when seeking back ([#4643](https://github.com/shaka-project/shaka-player/issues/4643)) ([2a6b0d0](https://github.com/shaka-project/shaka-player/commit/2a6b0d02e550cfa5749b838f5915b8b6cf7b2099)), closes [#4641](https://github.com/shaka-project/shaka-player/issues/4641)
84
+ * Filter unsupported H.264 streams in Xbox ([#4493](https://github.com/shaka-project/shaka-player/issues/4493)) ([8475214](https://github.com/shaka-project/shaka-player/commit/8475214bc46e8321f7b60a6fc7fabee484a40800))
85
+ * Fix bitmap-based cue size ([#4453](https://github.com/shaka-project/shaka-player/issues/4453)) ([4a197e1](https://github.com/shaka-project/shaka-player/commit/4a197e1288c8f20a950cf491041eca9dde7033cb))
86
+ * Fix choppy HLS startup ([#4553](https://github.com/shaka-project/shaka-player/issues/4553)) ([59ef54a](https://github.com/shaka-project/shaka-player/commit/59ef54a158e14da2f7c6ab04e1fd9409bf63c6f0)), closes [#4516](https://github.com/shaka-project/shaka-player/issues/4516)
87
+ * Fix detection of ac4, dts, and dolby h265 ([#4657](https://github.com/shaka-project/shaka-player/issues/4657)) ([319a358](https://github.com/shaka-project/shaka-player/commit/319a358b8dc1838a89d8977109cab4296a558841))
88
+ * Fix dispatch ID3 metadata when transmuxing AAC ([#4639](https://github.com/shaka-project/shaka-player/issues/4639)) ([bf813f2](https://github.com/shaka-project/shaka-player/commit/bf813f2553dfc56efa79b708c54cbddee0f3ee2e))
89
+ * Fix drm.keySystemsMapping config ([#4425](https://github.com/shaka-project/shaka-player/issues/4425)) ([d945084](https://github.com/shaka-project/shaka-player/commit/d9450846e11224e0b1add6cc20a64844d6c09fcf)), closes [#4422](https://github.com/shaka-project/shaka-player/issues/4422)
90
+ * Fix errors with TS segments on Chromecast ([#4543](https://github.com/shaka-project/shaka-player/issues/4543)) ([593c280](https://github.com/shaka-project/shaka-player/commit/593c280dd578ee19cbb6a47f22962ff7fdd2cb45))
91
+ * Fix hang when seeking to the last segment ([#4537](https://github.com/shaka-project/shaka-player/issues/4537)) ([19a4842](https://github.com/shaka-project/shaka-player/commit/19a48422901440ff88fbbedfea5803c6dda07127))
92
+ * Fix HLS dynamic to static transition ([a16b1ac](https://github.com/shaka-project/shaka-player/commit/a16b1ac8a4c8f367f65747fc789a7d8c160e29e3))
93
+ * Fix HLS dynamic to static transition ([#4483](https://github.com/shaka-project/shaka-player/issues/4483)) ([a16b1ac](https://github.com/shaka-project/shaka-player/commit/a16b1ac8a4c8f367f65747fc789a7d8c160e29e3)), closes [#4431](https://github.com/shaka-project/shaka-player/issues/4431)
94
+ * Fix HLS lazy-loading exception during update ([#4648](https://github.com/shaka-project/shaka-player/issues/4648)) ([777c27e](https://github.com/shaka-project/shaka-player/commit/777c27ee558d803b3f166a0ac8b9778b08196654)), closes [#4647](https://github.com/shaka-project/shaka-player/issues/4647)
95
+ * Fix HLS lazy-loading exception on switch ([#4645](https://github.com/shaka-project/shaka-player/issues/4645)) ([941ed4e](https://github.com/shaka-project/shaka-player/commit/941ed4ed286e4463d4973e994d322250678cfdcb)), closes [#4621](https://github.com/shaka-project/shaka-player/issues/4621)
96
+ * Fix HLS lazy-loading with DRM ([#4646](https://github.com/shaka-project/shaka-player/issues/4646)) ([a7f0be7](https://github.com/shaka-project/shaka-player/commit/a7f0be726d5b801ac2365bb0c9b6db9e576c964f)), closes [#4622](https://github.com/shaka-project/shaka-player/issues/4622)
97
+ * Fix HLS live stream subtitle offsets ([#4586](https://github.com/shaka-project/shaka-player/issues/4586)) ([3b9af2e](https://github.com/shaka-project/shaka-player/commit/3b9af2efa6be06c8c8a13e5d715828e2875d75d7))
98
+ * Fix ID3 parsing in TS segments ([#4609](https://github.com/shaka-project/shaka-player/issues/4609)) ([3b534fd](https://github.com/shaka-project/shaka-player/commit/3b534fd405ad3254d37a86fd1895ceeb96dc8094))
99
+ * Fix in-band key rotation on Xbox One ([#4478](https://github.com/shaka-project/shaka-player/issues/4478)) ([4e93311](https://github.com/shaka-project/shaka-player/commit/4e933116984beb630d31ce7a0b8c9bc6f8b48c06)), closes [#4401](https://github.com/shaka-project/shaka-player/issues/4401)
100
+ * Fix metadata assert when the ID3 is future (coming in a previous segment) ([#4640](https://github.com/shaka-project/shaka-player/issues/4640)) ([216bdd7](https://github.com/shaka-project/shaka-player/commit/216bdd7657d7be8bb33f71c3a62f649ecc25ace5))
101
+ * Fix multi-period DASH with descriptive audio ([#4629](https://github.com/shaka-project/shaka-player/issues/4629)) ([81ccd5c](https://github.com/shaka-project/shaka-player/commit/81ccd5c73ba5e021466b82c05f8b607b0c345849)), closes [#4500](https://github.com/shaka-project/shaka-player/issues/4500)
102
+ * fix support clear and encrypted periods ([#4606](https://github.com/shaka-project/shaka-player/issues/4606)) ([6256db3](https://github.com/shaka-project/shaka-player/commit/6256db3af5065ea1db1951ea7583d4608ce5e28d))
103
+ * Fix vanishing tracks while offline ([#4426](https://github.com/shaka-project/shaka-player/issues/4426)) ([c935cc1](https://github.com/shaka-project/shaka-player/commit/c935cc17703297a44b3ce3bda75d8f2ea37f4147)), closes [#4408](https://github.com/shaka-project/shaka-player/issues/4408)
104
+ * Fixed LCEVC decode breaking dependencies issue and read me addition ([#4565](https://github.com/shaka-project/shaka-player/issues/4565)) ([3c75d1a](https://github.com/shaka-project/shaka-player/commit/3c75d1a71aea039c802555031fffbf3cad77f6fc))
105
+ * focus on first element when back to the settings menu ([#4653](https://github.com/shaka-project/shaka-player/issues/4653)) ([b40b6e7](https://github.com/shaka-project/shaka-player/commit/b40b6e7669d4ccf8677a6d262767f3e155eb02e6)), closes [#4652](https://github.com/shaka-project/shaka-player/issues/4652)
106
+ * Force using mcap polyfill on EOS browsers ([#4630](https://github.com/shaka-project/shaka-player/issues/4630)) ([6191d58](https://github.com/shaka-project/shaka-player/commit/6191d5894deb679ed68da54357dc1f6831edeb23))
107
+ * **HLS:** Add a guard on closeSegmentIndex ([#4615](https://github.com/shaka-project/shaka-player/issues/4615)) ([57ce56b](https://github.com/shaka-project/shaka-player/commit/57ce56b8d2bd5d2b1626b38594e6d54defd10255))
108
+ * **HLS:** Fix detection of WebVTT subtitles in HLS by extension ([#4663](https://github.com/shaka-project/shaka-player/issues/4663)) ([8f698c6](https://github.com/shaka-project/shaka-player/commit/8f698c6eaad6e1019f388e2d36f28883a142ddfb))
109
+ * **HLS:** Fix lazy-loading of TS content ([#4601](https://github.com/shaka-project/shaka-player/issues/4601)) ([dd7356d](https://github.com/shaka-project/shaka-player/commit/dd7356d0e0655f59792b3f992841d4c0c8d5540a))
110
+ * **hls:** Fix raw format detection when the main playlist hasn't type ([#4583](https://github.com/shaka-project/shaka-player/issues/4583)) ([d319718](https://github.com/shaka-project/shaka-player/commit/d319718eded6e36f4fc705588de84a301a428d49))
111
+ * **hls:** Fix single-variant HLS streams ([#4573](https://github.com/shaka-project/shaka-player/issues/4573)) ([62906bd](https://github.com/shaka-project/shaka-player/commit/62906bdc9a26456d213a0c5d33f00b4454cdfb5b)), closes [#1936](https://github.com/shaka-project/shaka-player/issues/1936) [#3536](https://github.com/shaka-project/shaka-player/issues/3536)
112
+ * **HLS:** Infer missing codecs from config ([#4656](https://github.com/shaka-project/shaka-player/issues/4656)) ([08fc7dd](https://github.com/shaka-project/shaka-player/commit/08fc7dd717390c61dcc3304c58bfff5c87c77833))
113
+ * **HLS:** Return 0-0 seek range until fully loaded ([#4590](https://github.com/shaka-project/shaka-player/issues/4590)) ([bf50ada](https://github.com/shaka-project/shaka-player/commit/bf50ada6874879b33ac1acd34ec7e5375eb4c45d))
114
+ * Limit key ids to 32 characters ([#4614](https://github.com/shaka-project/shaka-player/issues/4614)) ([9531b07](https://github.com/shaka-project/shaka-player/commit/9531b07296163d8cc5c8416f0baa4ffd29c0a90d))
115
+ * Make XML parsing secure ([#4598](https://github.com/shaka-project/shaka-player/issues/4598)) ([a731eba](https://github.com/shaka-project/shaka-player/commit/a731eba804ae1a3f3ee3061550fa43ea82e06313))
116
+ * Missing AES-128 key of last HLS segment ([#4519](https://github.com/shaka-project/shaka-player/issues/4519)) ([3d0f752](https://github.com/shaka-project/shaka-player/commit/3d0f752c7d0677f750dbbd9bcd2895358358628f)), closes [#4517](https://github.com/shaka-project/shaka-player/issues/4517)
117
+ * **offline:** Add storage muxer init timeout ([#4566](https://github.com/shaka-project/shaka-player/issues/4566)) ([d4d3740](https://github.com/shaka-project/shaka-player/commit/d4d37407c87b7c032a16679e96b318146bbdee22))
118
+ * **playhead:** Safeguard getStallsDetected as stallDetector can be null ([#4581](https://github.com/shaka-project/shaka-player/issues/4581)) ([21ceaca](https://github.com/shaka-project/shaka-player/commit/21ceacab9e9577c18cef7f6c76f57f39eca3dca9))
119
+ * Resolve load failures for TS-based content on Android-based Cast devices ([#4569](https://github.com/shaka-project/shaka-player/issues/4569)). ([#4570](https://github.com/shaka-project/shaka-player/issues/4570)) ([65903aa](https://github.com/shaka-project/shaka-player/commit/65903aa27b5723632ff16a92059cb20c4879fc59))
120
+ * Respect existing app usage of Cast SDK ([#4523](https://github.com/shaka-project/shaka-player/issues/4523)) ([8d3d556](https://github.com/shaka-project/shaka-player/commit/8d3d556edaa817af686e1577f0a0bad92d0c74d4)), closes [#4521](https://github.com/shaka-project/shaka-player/issues/4521)
121
+ * return width and height in the stats when we are using src= ([#4435](https://github.com/shaka-project/shaka-player/issues/4435)) ([9bbfb57](https://github.com/shaka-project/shaka-player/commit/9bbfb57cb4e2c0653e6eb5681e10714cb939bad9))
122
+ * Simplify transmuxer to allow more mimetypes in the future ([#4642](https://github.com/shaka-project/shaka-player/issues/4642)) ([a14e84b](https://github.com/shaka-project/shaka-player/commit/a14e84b5c9a6feb8f7f2efcbae52fe9691d48412))
123
+ * **ttml:** Default TTML background color to transparent if unspecified ([#4496](https://github.com/shaka-project/shaka-player/issues/4496)) ([32b0a90](https://github.com/shaka-project/shaka-player/commit/32b0a90a8c583bba03a3d7b035a1244d325e3da6)), closes [#4468](https://github.com/shaka-project/shaka-player/issues/4468)
124
+ * **UI:** Ad position and ad counter are too close to each other ([#4416](https://github.com/shaka-project/shaka-player/issues/4416)) ([8376410](https://github.com/shaka-project/shaka-player/commit/83764104277363b6ce0e05d8e53449ff454c6f0e))
125
+ * **ui:** Fix exception on screen rotation if fullscreen is not supported ([#4669](https://github.com/shaka-project/shaka-player/issues/4669)) ([fd93f6a](https://github.com/shaka-project/shaka-player/commit/fd93f6ae1bc917061c035abcfb835855e336bb06))
126
+ * Virgin Media set top box is incorrectly categorized as Apple/Safari ([df79470](https://github.com/shaka-project/shaka-player/commit/df79470af088089f8beba2f44a236593820d655a))
127
+ * WebVTT line not correctly positioned in UITextDisplayer ([#4567](https://github.com/shaka-project/shaka-player/issues/4567)) ([#4682](https://github.com/shaka-project/shaka-player/issues/4682)) ([140aefe](https://github.com/shaka-project/shaka-player/commit/140aefee04718faa631ba090d6313e372b608fc1))
88
128
 
89
129
  ## [4.2.0](https://github.com/shaka-project/shaka-player/compare/v4.1.0...v4.2.0) (2022-08-16)
90
130
 
package/CONTRIBUTORS CHANGED
@@ -75,6 +75,7 @@ Jun Hong Chong <chongjunhong@gmail.com>
75
75
  Jürgen Kartnaller <kartnaller@lovelysystems.com>
76
76
  Leandro Ribeiro Moreira <leandro.ribeiro.moreira@gmail.com>
77
77
  Lucas Gabriel Sánchez <unkiwii@gmail.com>
78
+ Martin Stark <martin.stark@eyevinn.se>
78
79
  Matias Russitto <russitto@gmail.com>
79
80
  Matthias Van Parijs <matvp91@gmail.com>
80
81
  Mattias Wadman <mattias.wadman@gmail.com>
@@ -122,8 +123,11 @@ Toshihiro Suzuki <t.suzuki326@gmail.com>
122
123
  Vasanth Polipelli <vasanthap@google.com>
123
124
  Vignesh Venkatasubramanian <vigneshv@google.com>
124
125
  Vincent Valot <valot.vince@gmail.com>
126
+ Vinod Balakrishnan <vinod.balakrishnan@v-nova.com>
125
127
  Wayne Morgan <wayne.morgan.dev@gmail.com>
126
128
  Yohann Connell <robinconnell@google.com>
127
129
  Raymond Cheng <raycheng100@gmail.com>
128
130
  Janroel Koppen <j.koppen@bluebillywig.com>
131
+ João Nabais <jlnabais@gmail.com>
129
132
  Koen Romers <koenromers@gmail.com>
133
+ Zhenghang Chen <czhtju@gmail.com>
package/README.md CHANGED
@@ -144,6 +144,20 @@ HLS features **not** supported:
144
144
 
145
145
  [mux.js]: https://github.com/videojs/mux.js/releases
146
146
 
147
+ ## MPEG-5 Part2 LCEVC Support
148
+
149
+ **Only supported on browsers with Media Source Extensions SourceBuffer support**
150
+
151
+ - MPEG-5 Part2 LCEVC decoding support (decoding provided by [lcevc_dil.js][], must be
152
+ separately included)
153
+
154
+ - Integration documentation : [docs](docs/design/lcevc-integration.md)
155
+
156
+ - More on [MPEG-5 Part2 LCEVC][]
157
+
158
+ [lcevc_dil.js]: https://www.npmjs.com/package/lcevc_dil.js
159
+ [MPEG-5 Part2 LCEVC]: https://www.lcevc.org
160
+
147
161
 
148
162
  ## DRM support matrix
149
163
 
@@ -0,0 +1,120 @@
1
+ /*! @license
2
+ * Shaka Player
3
+ * Copyright 2016 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ goog.provide('shaka.cast.CastProxy');
8
+
9
+ goog.require('shaka.Player');
10
+ goog.require('shaka.util.FakeEventTarget');
11
+ goog.require('shaka.util.IDestroyable');
12
+
13
+ /**
14
+ * @summary A dummy version of the cast proxy. Meant to allow Shaka Player to
15
+ * build the UI without the cast system.
16
+ *
17
+ * @implements {shaka.util.IDestroyable}
18
+ * @export
19
+ */
20
+ shaka.cast.CastProxy = class extends shaka.util.FakeEventTarget {
21
+ /**
22
+ * @param {!HTMLMediaElement} video
23
+ * @param {!shaka.Player} player
24
+ * @param {string} receiverAppId
25
+ * @param {boolean} androidReceiverCompatible
26
+ */
27
+ constructor(video, player, receiverAppId, androidReceiverCompatible = false) {
28
+ super();
29
+
30
+ /** @private {!HTMLMediaElement} */
31
+ this.video_ = video;
32
+
33
+ /** @private {!shaka.Player} */
34
+ this.player_ = player;
35
+ }
36
+
37
+ /**
38
+ * @param {boolean=} forceDisconnect
39
+ * @override
40
+ * @export
41
+ */
42
+ async destroy(forceDisconnect) {
43
+ await this.player_.destroy();
44
+ super.release();
45
+ }
46
+
47
+ /**
48
+ * @return {!HTMLMediaElement}
49
+ * @export
50
+ */
51
+ getVideo() {
52
+ return this.video_;
53
+ }
54
+
55
+ /**
56
+ * @return {!shaka.Player}
57
+ * @export
58
+ */
59
+ getPlayer() {
60
+ return this.player_;
61
+ }
62
+
63
+ /**
64
+ * @return {boolean}
65
+ * @export
66
+ */
67
+ canCast() {
68
+ return false;
69
+ }
70
+
71
+ /**
72
+ * @return {boolean}
73
+ * @export
74
+ */
75
+ isCasting() {
76
+ return false;
77
+ }
78
+
79
+ /**
80
+ * @return {string}
81
+ * @export
82
+ */
83
+ receiverName() {
84
+ return 'dummy';
85
+ }
86
+
87
+ /**
88
+ * @return {!Promise}
89
+ * @export
90
+ */
91
+ async cast() {
92
+ await Promise.resolve();
93
+ }
94
+
95
+ /**
96
+ * @param {Object} appData
97
+ * @export
98
+ */
99
+ setAppData(appData) {}
100
+
101
+ /**
102
+ * @export
103
+ */
104
+ suggestDisconnect() {}
105
+
106
+ /**
107
+ * @export
108
+ */
109
+ forceDisconnect() {}
110
+
111
+
112
+ /**
113
+ * @param {string} newAppId
114
+ * @param {boolean=} newCastAndroidReceiver
115
+ * @export
116
+ */
117
+ async changeReceiverId(newAppId, newCastAndroidReceiver = false) {
118
+ await Promise.resolve();
119
+ }
120
+ };
@@ -40,6 +40,7 @@ shakaAssets.Source = {
40
40
  APPLE: shakaDemo.MessageIds.APPLE,
41
41
  IRT: shakaDemo.MessageIds.IRT,
42
42
  MICROSOFT: shakaDemo.MessageIds.MICROSOFT,
43
+ VNOVA: shakaDemo.MessageIds.VNOVA,
43
44
  };
44
45
 
45
46
 
@@ -143,6 +144,9 @@ shakaAssets.Feature = {
143
144
 
144
145
  // Set if the asset has at least one image stream.
145
146
  THUMBNAILS: shakaDemo.MessageIds.THUMBNAILS,
147
+
148
+ // Set if the asset has LCEVC.
149
+ LCEVC: shakaDemo.MessageIds.LCEVC,
146
150
  };
147
151
 
148
152
 
@@ -1283,5 +1287,59 @@ shakaAssets.testAssets = [
1283
1287
  .addFeature(shakaAssets.Feature.HIGH_DEFINITION)
1284
1288
  .addLicenseServer('com.microsoft.playready', 'http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(persist:false,ck:W31bfVt9W31bfVt9W31bfQ==,ckt:aescbc)'),
1285
1289
  // }}}
1290
+
1291
+ // MPEG-5 LCEVC assets {{{
1292
+ /* LCEVC Enabled Content with LCEVC Encoded Stream */
1293
+ new ShakaDemoAssetInfo(
1294
+ /* name= */ 'Big Buck Bunny (LCEVC H264)',
1295
+ /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png',
1296
+ /* manifestUri= */ 'https://dyctis843rxh5.cloudfront.net/vnIAZIaowG1K7qOt/master.m3u8',
1297
+ /* source= */ shakaAssets.Source.VNOVA)
1298
+ .addFeature(shakaAssets.Feature.HLS)
1299
+ .addFeature(shakaAssets.Feature.HIGH_DEFINITION)
1300
+ .addFeature(shakaAssets.Feature.MP4)
1301
+ .addFeature(shakaAssets.Feature.WEBM)
1302
+ .addFeature(shakaAssets.Feature.OFFLINE)
1303
+ .addFeature(shakaAssets.Feature.LCEVC)
1304
+ .addDescription('H264 HLS stream with LCEVC enhancement')
1305
+ .markAsFeatured('Big Buck Bunny (LCEVC H264)')
1306
+ .setExtraConfig({
1307
+ streaming: {
1308
+ useNativeHlsOnSafari: false,
1309
+ forceTransmux: true,
1310
+ },
1311
+ lcevc: {
1312
+ enabled: true,
1313
+ dynamicPerformanceScaling: true,
1314
+ logLevel: 0,
1315
+ drawLogo: false,
1316
+ },
1317
+ }),
1318
+ new ShakaDemoAssetInfo(
1319
+ /* name= */ 'Game (LCEVC H264)',
1320
+ /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png',
1321
+ /* manifestUri= */ 'https://dyctis843rxh5.cloudfront.net/vny72tI8aXJDcTYX/master.m3u8',
1322
+ /* source= */ shakaAssets.Source.VNOVA)
1323
+ .addFeature(shakaAssets.Feature.HLS)
1324
+ .addFeature(shakaAssets.Feature.HIGH_DEFINITION)
1325
+ .addFeature(shakaAssets.Feature.MP4)
1326
+ .addFeature(shakaAssets.Feature.WEBM)
1327
+ .addFeature(shakaAssets.Feature.OFFLINE)
1328
+ .addFeature(shakaAssets.Feature.LCEVC)
1329
+ .addDescription('H264 HLS stream with LCEVC enhancement')
1330
+ .markAsFeatured('Game (LCEVC H264)')
1331
+ .setExtraConfig({
1332
+ streaming: {
1333
+ useNativeHlsOnSafari: false,
1334
+ forceTransmux: true,
1335
+ },
1336
+ lcevc: {
1337
+ enabled: true,
1338
+ dynamicPerformanceScaling: true,
1339
+ logLevel: 0,
1340
+ drawLogo: false,
1341
+ },
1342
+ }),
1343
+ // }}}
1286
1344
  ];
1287
1345
  /* eslint-enable max-len */