shaka-player 4.4.3 → 4.6.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 (307) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
  2. package/.github/workflows/release-please.yaml +2 -27
  3. package/AUTHORS +2 -0
  4. package/CHANGELOG.md +156 -39
  5. package/CODE_OF_CONDUCT.md +1 -1
  6. package/CONTRIBUTORS +2 -0
  7. package/README.md +54 -42
  8. package/demo/asset_card.js +18 -21
  9. package/demo/cast_receiver/index.html +0 -1
  10. package/demo/close_button.js +0 -3
  11. package/demo/common/asset.js +33 -22
  12. package/demo/common/assets.js +249 -60
  13. package/demo/config.js +219 -253
  14. package/demo/custom.js +88 -133
  15. package/demo/front.js +7 -10
  16. package/demo/index.html +19 -22
  17. package/demo/input.js +6 -11
  18. package/demo/input_container.js +8 -9
  19. package/demo/main.js +62 -126
  20. package/demo/search.js +29 -34
  21. package/demo/service_worker.js +0 -3
  22. package/demo/tooltip.js +3 -5
  23. package/demo/visualizer.js +3 -5
  24. package/demo/visualizer_button.js +1 -20
  25. package/dist/controls.css +1 -1
  26. package/dist/controls.css.map +1 -1
  27. package/dist/demo.compiled.debug.js +211 -228
  28. package/dist/demo.compiled.debug.map +4 -4
  29. package/dist/demo.compiled.js +211 -228
  30. package/dist/demo.compiled.map +4 -4
  31. package/dist/deps.js +42 -37
  32. package/dist/locales.js +34 -30
  33. package/dist/receiver.compiled.debug.js +64 -77
  34. package/dist/receiver.compiled.debug.map +4 -4
  35. package/dist/receiver.compiled.js +64 -77
  36. package/dist/receiver.compiled.map +4 -4
  37. package/dist/shaka-player.compiled.d.ts +343 -151
  38. package/dist/shaka-player.compiled.debug.d.ts +343 -151
  39. package/dist/shaka-player.compiled.debug.externs.js +356 -117
  40. package/dist/shaka-player.compiled.debug.js +952 -811
  41. package/dist/shaka-player.compiled.debug.map +4 -4
  42. package/dist/shaka-player.compiled.externs.js +356 -117
  43. package/dist/shaka-player.compiled.js +1165 -1078
  44. package/dist/shaka-player.compiled.map +4 -4
  45. package/dist/shaka-player.ui.d.ts +359 -153
  46. package/dist/shaka-player.ui.debug.d.ts +359 -153
  47. package/dist/shaka-player.ui.debug.externs.js +382 -117
  48. package/dist/shaka-player.ui.debug.js +1084 -918
  49. package/dist/shaka-player.ui.debug.map +4 -4
  50. package/dist/shaka-player.ui.externs.js +382 -117
  51. package/dist/shaka-player.ui.js +1377 -1274
  52. package/dist/shaka-player.ui.map +4 -4
  53. package/docs/design/lcevc-integration.md +14 -14
  54. package/docs/tutorials/ad_monetization.md +54 -0
  55. package/docs/tutorials/basic-usage.md +2 -1
  56. package/docs/tutorials/errors.md +2 -1
  57. package/docs/tutorials/faq.md +27 -55
  58. package/docs/tutorials/index.json +2 -1
  59. package/docs/tutorials/lcevc.md +118 -0
  60. package/docs/tutorials/offline.md +10 -8
  61. package/docs/tutorials/plugins.md +5 -0
  62. package/docs/tutorials/ui-customization.md +17 -0
  63. package/docs/tutorials/ui.md +2 -1
  64. package/docs/tutorials/upgrade.md +3 -0
  65. package/externs/css_style_declaration.js +19 -0
  66. package/externs/lcevc.js +37 -13
  67. package/externs/managedmediasource.js +24 -0
  68. package/externs/media_remote.js +68 -0
  69. package/externs/mediatailor.js +193 -0
  70. package/externs/pictureinpicture.js +11 -0
  71. package/externs/shaka/abr_manager.js +6 -2
  72. package/externs/shaka/ads.js +27 -0
  73. package/externs/shaka/cea.js +7 -0
  74. package/externs/shaka/codecs.js +5 -3
  75. package/externs/shaka/manifest.js +31 -10
  76. package/externs/shaka/manifest_parser.js +24 -1
  77. package/externs/shaka/net.js +2 -2
  78. package/externs/shaka/offline.js +13 -2
  79. package/externs/shaka/player.js +65 -8
  80. package/externs/shaka/text.js +3 -1
  81. package/externs/shaka/transmuxer.js +1 -1
  82. package/karma.conf.js +7 -3
  83. package/lib/abr/simple_abr_manager.js +66 -9
  84. package/lib/ads/ad_manager.js +104 -50
  85. package/lib/ads/media_tailor_ad.js +297 -0
  86. package/lib/ads/media_tailor_ad_manager.js +839 -0
  87. package/lib/cast/cast_receiver.js +1 -1
  88. package/lib/cea/cea_decoder.js +28 -0
  89. package/lib/cea/dummy_caption_decoder.js +5 -0
  90. package/lib/cea/ts_cea_parser.js +15 -2
  91. package/lib/config/codec_switching_strategy.js +24 -0
  92. package/lib/dash/content_protection.js +120 -2
  93. package/lib/dash/dash_parser.js +322 -93
  94. package/lib/dash/mpd_utils.js +62 -37
  95. package/lib/dash/segment_base.js +17 -10
  96. package/lib/dash/segment_list.js +18 -9
  97. package/lib/dash/segment_template.js +122 -107
  98. package/lib/dependencies/all.js +8 -7
  99. package/lib/hls/hls_classes.js +28 -43
  100. package/lib/hls/hls_parser.js +798 -658
  101. package/lib/hls/hls_utils.js +64 -5
  102. package/lib/hls/manifest_text_parser.js +7 -11
  103. package/lib/lcevc/lcevc_dec.js +220 -0
  104. package/lib/media/adaptation_set.js +32 -14
  105. package/lib/media/adaptation_set_criteria.js +86 -16
  106. package/lib/media/closed_caption_parser.js +13 -0
  107. package/lib/media/content_workarounds.js +6 -0
  108. package/lib/media/drm_engine.js +8 -13
  109. package/lib/media/manifest_parser.js +8 -113
  110. package/lib/media/media_source_capabilities.js +10 -3
  111. package/lib/media/media_source_engine.js +286 -44
  112. package/lib/media/play_rate_controller.js +8 -38
  113. package/lib/media/presentation_timeline.js +7 -1
  114. package/lib/media/quality_observer.js +1 -1
  115. package/lib/media/segment_index.js +6 -6
  116. package/lib/media/segment_prefetch.js +92 -24
  117. package/lib/media/segment_reference.js +73 -7
  118. package/lib/media/segment_utils.js +343 -0
  119. package/lib/media/stall_detector.js +0 -3
  120. package/lib/media/streaming_engine.js +73 -38
  121. package/lib/mss/mss_parser.js +19 -2
  122. package/lib/net/networking_engine.js +67 -12
  123. package/lib/net/networking_utils.js +95 -0
  124. package/lib/offline/indexeddb/v1_storage_cell.js +3 -0
  125. package/lib/offline/indexeddb/v2_storage_cell.js +3 -0
  126. package/lib/offline/manifest_converter.js +3 -0
  127. package/lib/offline/offline_manifest_parser.js +10 -0
  128. package/lib/offline/storage.js +14 -7
  129. package/lib/player.js +1098 -1537
  130. package/lib/polyfill/mediasource.js +22 -1
  131. package/lib/text/cue.js +15 -0
  132. package/lib/text/mp4_ttml_parser.js +2 -2
  133. package/lib/text/srt_text_parser.js +2 -2
  134. package/lib/text/stub_text_displayer.js +51 -0
  135. package/lib/text/text_engine.js +3 -2
  136. package/lib/text/ttml_text_parser.js +45 -5
  137. package/lib/text/ui_text_displayer.js +8 -0
  138. package/lib/text/vtt_text_parser.js +40 -22
  139. package/lib/transmuxer/aac_transmuxer.js +1 -1
  140. package/lib/transmuxer/ac3_transmuxer.js +1 -1
  141. package/lib/transmuxer/ec3_transmuxer.js +1 -1
  142. package/lib/transmuxer/h264.js +5 -4
  143. package/lib/transmuxer/h265.js +863 -0
  144. package/lib/transmuxer/mp3_transmuxer.js +1 -1
  145. package/lib/transmuxer/mpeg_ts_transmuxer.js +4 -3
  146. package/lib/transmuxer/mss_transmuxer.js +1 -1
  147. package/lib/transmuxer/ts_transmuxer.js +187 -22
  148. package/lib/util/buffer_utils.js +26 -4
  149. package/lib/util/content_steering_manager.js +358 -0
  150. package/lib/util/error.js +30 -15
  151. package/lib/util/exp_golomb.js +30 -2
  152. package/lib/util/fairplay_utils.js +1 -1
  153. package/lib/util/fake_event.js +8 -1
  154. package/lib/util/id3_utils.js +50 -1
  155. package/lib/util/manifest_parser_utils.js +12 -8
  156. package/lib/util/mp4_generator.js +6 -8
  157. package/lib/util/mutex.js +59 -0
  158. package/lib/util/object_utils.js +1 -1
  159. package/lib/util/periods.js +156 -179
  160. package/lib/util/platform.js +44 -3
  161. package/lib/util/player_configuration.js +43 -6
  162. package/lib/util/state_history.js +6 -2
  163. package/lib/util/stream_utils.js +206 -283
  164. package/lib/util/ts_parser.js +335 -98
  165. package/lib/util/uint8array_utils.js +5 -1
  166. package/lib/util/xml_utils.js +5 -0
  167. package/maintained-branches.md +3 -2
  168. package/package.json +4 -6
  169. package/roadmap.md +25 -5
  170. package/shaka-player.uncompiled.js +2 -2
  171. package/support.html +0 -1
  172. package/test/abr/simple_abr_manager_unit.js +33 -33
  173. package/test/ads/ad_manager_unit.js +3 -2
  174. package/test/cast/cast_receiver_integration.js +50 -4
  175. package/test/cast/cast_utils_unit.js +2 -0
  176. package/test/cea/cea_decoder_unit.js +7 -0
  177. package/test/codec_switching/codec_switching_integration.js +182 -0
  178. package/test/dash/dash_parser_content_protection_unit.js +2 -0
  179. package/test/dash/dash_parser_integration.js +74 -0
  180. package/test/dash/dash_parser_live_unit.js +2 -19
  181. package/test/dash/dash_parser_manifest_unit.js +536 -2
  182. package/test/dash/dash_parser_segment_base_unit.js +2 -0
  183. package/test/dash/dash_parser_segment_list_unit.js +2 -0
  184. package/test/dash/dash_parser_segment_template_unit.js +2 -0
  185. package/test/dash/mpd_utils_unit.js +61 -30
  186. package/test/demo/demo_unit.js +0 -16
  187. package/test/hls/hls_live_unit.js +14 -3
  188. package/test/hls/hls_parser_unit.js +385 -33
  189. package/test/hls/manifest_text_parser_unit.js +32 -99
  190. package/test/media/adaptation_set_criteria_unit.js +284 -15
  191. package/test/media/adaptation_set_unit.js +2 -0
  192. package/test/media/content_workarounds_unit.js +1 -1
  193. package/test/media/drm_engine_unit.js +3 -3
  194. package/test/media/media_source_engine_unit.js +166 -2
  195. package/test/media/play_rate_controller_unit.js +0 -48
  196. package/test/media/segment_index_unit.js +5 -4
  197. package/test/media/segment_prefetch_unit.js +1 -1
  198. package/test/media/streaming_engine_unit.js +17 -17
  199. package/test/mss/mss_parser_unit.js +2 -0
  200. package/test/mss/mss_player_integration.js +3 -2
  201. package/test/net/networking_engine_unit.js +3 -3
  202. package/test/{media/manifest_parser_unit.js → net/networking_utils_unit.js} +2 -2
  203. package/test/offline/manifest_convert_unit.js +14 -0
  204. package/test/offline/offline_integration.js +2 -1
  205. package/test/offline/storage_integration.js +22 -13
  206. package/test/player_external.js +4 -2
  207. package/test/player_integration.js +15 -4
  208. package/test/player_load_graph_integration.js +47 -151
  209. package/test/player_src_equals_external.js +1 -0
  210. package/test/player_src_equals_integration.js +71 -4
  211. package/test/player_unit.js +182 -158
  212. package/test/test/assets/dash-aes-128/Fragments(video=0,format=mpd-time-csf) +0 -0
  213. package/test/test/assets/dash-aes-128/Fragments(video=20000000,format=mpd-time-csf) +0 -0
  214. package/test/test/assets/dash-aes-128/Fragments(video=40000000,format=mpd-time-csf) +0 -0
  215. package/test/test/assets/dash-aes-128/Fragments(video=60000000,format=mpd-time-csf) +0 -0
  216. package/test/test/assets/dash-aes-128/Fragments(video=i,format=mpd-time-csf) +0 -0
  217. package/test/test/assets/dash-aes-128/dash.mpd +18 -0
  218. package/test/test/assets/dash-aes-128/license +1 -0
  219. package/test/test/assets/dash-multi-codec/audio_en_2c_128k_aac.mp4 +0 -0
  220. package/test/test/assets/dash-multi-codec/audio_es_2c_64k_opus.webm +0 -0
  221. package/test/test/assets/dash-multi-codec/dash.mpd +32 -0
  222. package/test/test/assets/dash-multi-codec/video_144p_108k_h264.mp4 +0 -0
  223. package/test/test/assets/hls-ts-h265/0.ts +0 -0
  224. package/test/test/assets/hls-ts-h265/hevc.m3u8 +6 -0
  225. package/test/test/assets/hls-ts-h265/index.m3u8 +7 -0
  226. package/test/test/assets/hls-ts-muxed-aac-h265/0.ts +0 -0
  227. package/test/test/assets/hls-ts-muxed-aac-h265/1.ts +0 -0
  228. package/test/test/assets/hls-ts-muxed-aac-h265/media.m3u8 +9 -0
  229. package/test/test/assets/hls-ts-muxed-ac3-h264/media.m3u8 +24 -0
  230. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00000.ts +0 -0
  231. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00001.ts +0 -0
  232. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00002.ts +0 -0
  233. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00003.ts +0 -0
  234. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00004.ts +0 -0
  235. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00005.ts +0 -0
  236. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0000.ts +0 -0
  237. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0001.ts +0 -0
  238. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0002.ts +0 -0
  239. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0003.ts +0 -0
  240. package/test/test/assets/hls-ts-muxed-ec3-h264/prog_index.m3u8 +14 -0
  241. package/test/test/assets/hls-ts-muxed-mp3-h264/index.m3u8 +23 -0
  242. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-1-v1-a1.ts +0 -0
  243. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-2-v1-a1.ts +0 -0
  244. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-3-v1-a1.ts +0 -0
  245. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-4-v1-a1.ts +0 -0
  246. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-5-v1-a1.ts +0 -0
  247. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-6-v1-a1.ts +0 -0
  248. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-7-v1-a1.ts +0 -0
  249. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-8-v1-a1.ts +0 -0
  250. package/test/test/util/dash_parser_util.js +4 -0
  251. package/test/test/util/fake_ad_manager.js +20 -0
  252. package/test/test/util/fake_media_source_engine.js +13 -2
  253. package/test/test/util/fake_networking_engine.js +9 -1
  254. package/test/test/util/fake_segment_prefetch.js +3 -0
  255. package/test/test/util/manifest_generator.js +11 -3
  256. package/test/test/util/manifest_parser_util.js +14 -2
  257. package/test/test/util/mss_parser_util.js +4 -0
  258. package/test/test/util/offline_utils.js +2 -0
  259. package/test/test/util/simple_fakes.js +2 -2
  260. package/test/test/util/streaming_engine_util.js +10 -4
  261. package/test/test/util/test_scheme.js +6 -0
  262. package/test/test/util/ui_utils.js +4 -3
  263. package/test/text/mp4_ttml_parser_unit.js +4 -4
  264. package/test/text/srt_text_parser_unit.js +1 -1
  265. package/test/text/text_displayer_layout_unit.js +1 -1
  266. package/test/text/text_engine_unit.js +6 -0
  267. package/test/text/ttml_text_parser_unit.js +85 -2
  268. package/test/text/vtt_text_parser_unit.js +103 -31
  269. package/test/transmuxer/transmuxer_engine_integration.js +9 -0
  270. package/test/transmuxer/transmuxer_integration.js +150 -3
  271. package/test/ui/ad_ui_unit.js +2 -2
  272. package/test/ui/ui_customization_unit.js +17 -16
  273. package/test/ui/ui_integration.js +30 -20
  274. package/test/ui/ui_unit.js +28 -29
  275. package/test/util/buffer_utils_unit.js +1 -1
  276. package/test/util/content_steering_manager_unit.js +427 -0
  277. package/test/util/id3_utils_unit.js +52 -0
  278. package/test/util/stream_utils_unit.js +207 -169
  279. package/test/util/ts_parser_unit.js +3 -3
  280. package/third_party/closure-uri/uri.js +13 -1
  281. package/ui/audio_language_selection.js +9 -2
  282. package/ui/controls.js +125 -0
  283. package/ui/externs/ui.js +24 -2
  284. package/ui/language_utils.js +43 -8
  285. package/ui/less/range_elements.less +33 -0
  286. package/ui/locales/en.json +1 -0
  287. package/ui/locales/es-419.json +1 -0
  288. package/ui/locales/es.json +1 -0
  289. package/ui/locales/source.json +4 -0
  290. package/ui/localization.js +10 -0
  291. package/ui/pip_button.js +22 -120
  292. package/ui/remote_button.js +203 -0
  293. package/ui/resolution_selection.js +47 -10
  294. package/ui/seek_bar.js +296 -3
  295. package/ui/text_selection.js +2 -1
  296. package/ui/ui.js +11 -4
  297. package/demo/common/message_ids.js +0 -309
  298. package/demo/locales/en.json +0 -288
  299. package/demo/locales/source.json +0 -1146
  300. package/externs/mux.js +0 -69
  301. package/lib/lcevc/lcevc_dil.js +0 -152
  302. package/lib/routing/node.js +0 -23
  303. package/lib/routing/payload.js +0 -43
  304. package/lib/routing/walker.js +0 -587
  305. package/lib/transmuxer/muxjs_transmuxer.js +0 -242
  306. package/test/routing/walker_unit.js +0 -504
  307. package/test/transmuxer/muxjs_transmuxer_integration.js +0 -177
@@ -44,7 +44,7 @@ assignees: ''
44
44
 
45
45
  **What are the manifest and license server URIs?**
46
46
  <!-- NOTE:
47
- You can send the URIs to <shaka-player-issues@google.com> instead,
47
+ You can send the URIs to <shaka-player-maintainers@googlegroups.com> instead,
48
48
  but please use GitHub and the template for the rest.
49
49
  A copy of the manifest text or an attached manifest will **not** be
50
50
  enough to reproduce your issue, and we **will** ask you to send a
@@ -23,33 +23,8 @@ jobs:
23
23
  default-branch: ${{ github.ref_name }}
24
24
  # Use a special shaka-bot access token for releases.
25
25
  token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
26
-
27
- # If we didn't create a release, we may have created or updated a PR.
28
- # Check out the code, then update the Player version in the PR.
29
- - uses: actions/checkout@v3
30
- if: steps.release.outputs.release_created == false
31
- with:
32
- # Use a special shaka-bot access token for releases.
33
- token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
34
- - name: Custom update Player version
35
- if: steps.release.outputs.release_created == false
36
- run: |
37
- # Check out the branch that release-please created.
38
- # If it does not exist, FAIL!
39
- git fetch
40
- git checkout release-please--branches--${{ github.ref_name }}--components--shaka-player || exit 1
41
- # If it does exist, update lib/player.js in the PR branch, so that the
42
- # -uncompiled tag remains in the player version in that context.
43
- VERSION="v$(jq -r .version package.json)-uncompiled"
44
- sed -e "s/^\\(shaka.Player.version =\\).*/\\1 '$VERSION';/" \
45
- -i lib/player.js
46
- git add lib/player.js
47
- # Set missing git config for the commit.
48
- git config user.name "shaka-bot"
49
- git config user.email "shaka-bot@users.noreply.github.com"
50
- # Update the PR.
51
- git commit --amend --no-edit
52
- git push -f
26
+ # Update these additional files containing version numbers.
27
+ extra-files: lib/player.js
53
28
 
54
29
  # The jobs below are all conditional on a release having been created by
55
30
  # someone merging the release PR. They all run in parallel.
package/AUTHORS CHANGED
@@ -21,6 +21,7 @@ Alugha GmbH <*@alugha.com>
21
21
  Alvaro Velad Galvan <ladvan91@hotmail.com>
22
22
  Amila Sampath <lucksy@gmail.com>
23
23
  Anthony Stansbridge <github@anthonystansbridge.co.uk>
24
+ Armand Zangue <armand.zangue@gmail.com>
24
25
  Benjamin Wallberg <me@bwallberg.com>
25
26
  Bonnier Broadcasting <*@bonnierbroadcasting.com>
26
27
  Bryan Huh <bhh1988@gmail.com>
@@ -41,6 +42,7 @@ Gil Gonen <gil.gonen@gmail.com>
41
42
  Giorgio Gamberoni <giorgio.gamberoni@gmail.com>
42
43
  Giuseppe Samela <giuseppe.samela@gmail.com>
43
44
  Google Inc. <*@google.com>
45
+ Ivan Kohut <i.kohut@yahoo.com>
44
46
  Itay Kinnrot <Itay.Kinnrot@Kaltura.com>
45
47
  Jaeseok Lee <devsunb@gmail.com>
46
48
  Jason Palmer <jason@jason-palmer.com>
package/CHANGELOG.md CHANGED
@@ -1,60 +1,177 @@
1
1
  # Changelog
2
2
 
3
- ## [4.4.3](https://github.com/shaka-project/shaka-player/compare/v4.4.2...v4.4.3) (2023-10-04)
3
+ ## [4.6.0](https://github.com/shaka-project/shaka-player/compare/v4.5.0...v4.6.0) (2023-11-16)
4
+
5
+
6
+ ### Features
7
+
8
+ * Add a stub text display class ([#5804](https://github.com/shaka-project/shaka-player/issues/5804)) ([#5806](https://github.com/shaka-project/shaka-player/issues/5806)) ([700d181](https://github.com/shaka-project/shaka-player/commit/700d181a576982617b211c948d990099306e1df5))
9
+ * Add config to ignore duplicate init data ([#5853](https://github.com/shaka-project/shaka-player/issues/5853)) ([acf23f8](https://github.com/shaka-project/shaka-player/commit/acf23f86af9691932f56e126bc9bf9d25ac19ec3))
10
+ * Add partial info to shaka.media.SegmentReference ([#5822](https://github.com/shaka-project/shaka-player/issues/5822)) ([766b0a1](https://github.com/shaka-project/shaka-player/commit/766b0a139e869a01a0170260e3f87a1378ca4860))
11
+ * Add support for WPE based browsers in RDK set-top boxes ([#5852](https://github.com/shaka-project/shaka-player/issues/5852)) ([2eedb12](https://github.com/shaka-project/shaka-player/commit/2eedb12a1e76044a410e5fd97ff5bda0a5c07db0))
12
+ * Add thumbnails support in src= ([#5802](https://github.com/shaka-project/shaka-player/issues/5802)) ([88e4cd4](https://github.com/shaka-project/shaka-player/commit/88e4cd41164c75dce44745c2fe89615b5d8c50a8))
13
+ * Add video progress events ([#5850](https://github.com/shaka-project/shaka-player/issues/5850)) ([c3beee6](https://github.com/shaka-project/shaka-player/commit/c3beee6f2a5dd929da2549ebeef1ee5018beafad))
14
+ * Allow prefetch init segments ([#5825](https://github.com/shaka-project/shaka-player/issues/5825)) ([3f392c0](https://github.com/shaka-project/shaka-player/commit/3f392c00dce6c8dcd57432c16aa683936bcf16df))
15
+ * **DASH:** Add initial support for "urn:mpeg:dash:ssr:2023" ([#5762](https://github.com/shaka-project/shaka-player/issues/5762)) ([508e5cf](https://github.com/shaka-project/shaka-player/commit/508e5cfbbaa36112d1f57841d83b232d2367e5dc))
16
+ * **DASH:** Add support for Content Steering ([#5710](https://github.com/shaka-project/shaka-player/issues/5710)) ([42f491f](https://github.com/shaka-project/shaka-player/commit/42f491f782f5c2c011fd8cd5b468d627529914f2))
17
+ * **DASH:** Add support for Content Steering in AdaptationSet BaseURL ([#5884](https://github.com/shaka-project/shaka-player/issues/5884)) ([1c6f1fa](https://github.com/shaka-project/shaka-player/commit/1c6f1fa7b32d32ab71e2420ec0f57b69cdbfb82a))
18
+ * **DASH:** Add support for minimum values in service descriptions ([#5844](https://github.com/shaka-project/shaka-player/issues/5844)) ([5f94a62](https://github.com/shaka-project/shaka-player/commit/5f94a6253ba3a598fdc086a11cedd1f061c7c291))
19
+ * **Demo:** Add CBCS content to demo ([#5862](https://github.com/shaka-project/shaka-player/issues/5862)) ([9777c52](https://github.com/shaka-project/shaka-player/commit/9777c524b6d7ea8a3cf8779affb01b887b048d09))
20
+ * **Demo:** Add Content Steering assets ([#5888](https://github.com/shaka-project/shaka-player/issues/5888)) ([8e0ee8a](https://github.com/shaka-project/shaka-player/commit/8e0ee8a8a783d1b881928d96f0cb8ab96f6d2621))
21
+ * **demo:** Add icon for new demo asset ([#5866](https://github.com/shaka-project/shaka-player/issues/5866)) ([f7448b7](https://github.com/shaka-project/shaka-player/commit/f7448b7bdb19f575c92854af3f90686890ee2761))
22
+ * **Demo:** Add new 3D movie stream from Apple ([#5872](https://github.com/shaka-project/shaka-player/issues/5872)) ([a5adf31](https://github.com/shaka-project/shaka-player/commit/a5adf3176fa1b74b2d3ccda10e9144ebd6bb627c))
23
+ * **HLS:** Add new config for allow LL-HLS byterange optimization ([#5877](https://github.com/shaka-project/shaka-player/issues/5877)) ([3e91e8e](https://github.com/shaka-project/shaka-player/commit/3e91e8eb0c584b3817421a8846bceba149ffd0dd))
24
+ * **HLS:** Add new config to get codecs from media segment for playlists without CODECS attribute ([#5772](https://github.com/shaka-project/shaka-player/issues/5772)) ([80630bb](https://github.com/shaka-project/shaka-player/commit/80630bb49581b056fb84afded0ac90a53fe54c36)), closes [#5769](https://github.com/shaka-project/shaka-player/issues/5769)
25
+ * **HLS:** Add support for Content Steering ([#5881](https://github.com/shaka-project/shaka-player/issues/5881)) ([b75ca1d](https://github.com/shaka-project/shaka-player/commit/b75ca1df63181976e1a39977360d25fc9a2e43e9))
26
+ * **HLS:** Add support for mjpg I-Frames playlist ([#5856](https://github.com/shaka-project/shaka-player/issues/5856)) ([801131f](https://github.com/shaka-project/shaka-player/commit/801131f84cf0cfadf79c4d069f82e1ff4c463a00))
27
+ * **HLS:** Add support for QUERYPARAM variable type in #EXT-X-DEFINE ([#5801](https://github.com/shaka-project/shaka-player/issues/5801)) ([fda3189](https://github.com/shaka-project/shaka-player/commit/fda3189fd2fb8a89946cdb2d8fd0c57bcbed3ab6))
28
+ * **HLS:** Add support for REQ-VIDEO-LAYOUT ([#5809](https://github.com/shaka-project/shaka-player/issues/5809)) ([81fc82b](https://github.com/shaka-project/shaka-player/commit/81fc82b6b24c2f17e60e6bfe89ee6870972efd72))
29
+ * **HLS:** Build closed captions metadata for media playlist on-the-fly. ([#5811](https://github.com/shaka-project/shaka-player/issues/5811)) ([754bfac](https://github.com/shaka-project/shaka-player/commit/754bfacf077226173eb46c3938696110bcbbfc55))
30
+ * **HLS:** Improve the stream info when EXT-X-MEDIA has not uri ([#5886](https://github.com/shaka-project/shaka-player/issues/5886)) ([b5b6a0f](https://github.com/shaka-project/shaka-player/commit/b5b6a0fd8455efbc635f75dd8c477c6c59474ee3))
31
+ * **ID3:** decode APIC frames ([#5857](https://github.com/shaka-project/shaka-player/issues/5857)) ([6a862d2](https://github.com/shaka-project/shaka-player/commit/6a862d265ac3b8e713e8f86bee3c641a1f0f38e5))
32
+ * Improve latency in LL DASH streams ([#5820](https://github.com/shaka-project/shaka-player/issues/5820)) ([20b4abf](https://github.com/shaka-project/shaka-player/commit/20b4abf81674e17fe5557d2cce58611faff7094c))
33
+ * **net:** Add shaka.net.NetworkingUtils ([#5756](https://github.com/shaka-project/shaka-player/issues/5756)) ([be96fd0](https://github.com/shaka-project/shaka-player/commit/be96fd0a2b0092efaecd1a09699ce78785266f52))
34
+ * Stop setting playbackRate to 0 to control buffering state ([#5696](https://github.com/shaka-project/shaka-player/issues/5696)) ([6156dce](https://github.com/shaka-project/shaka-player/commit/6156dced6bddc5e2cd0cc52071295cff63cadfcd))
35
+ * **thumbnails:** Add Player.getAllThumbnails ([#5783](https://github.com/shaka-project/shaka-player/issues/5783)) ([9f7576b](https://github.com/shaka-project/shaka-player/commit/9f7576be32c1c5292620ca1dc36325adde493626)), closes [#5781](https://github.com/shaka-project/shaka-player/issues/5781)
36
+ * **UI:** Add chapter titles and dividers on the seek bar ([#5863](https://github.com/shaka-project/shaka-player/issues/5863)) ([c1198df](https://github.com/shaka-project/shaka-player/commit/c1198df82f44f2fa402a5ff8d933219820ac9e8e))
37
+ * **UI:** Bucketize resolution names in the UI ([#5816](https://github.com/shaka-project/shaka-player/issues/5816)) ([b56b9df](https://github.com/shaka-project/shaka-player/commit/b56b9df602dfaff5012f95acfeea329f86dde618))
38
+ * **UI:** Display frame rates in the quality selector ([#5753](https://github.com/shaka-project/shaka-player/issues/5753)) ([3096378](https://github.com/shaka-project/shaka-player/commit/30963788be1d1840f9d8671cf8e91cbeaa721f10))
39
+ * **UI:** Show the channel count in the audio selector ([#5868](https://github.com/shaka-project/shaka-player/issues/5868)) ([1681acd](https://github.com/shaka-project/shaka-player/commit/1681acdd2439a542a976abc1aa252e377e4411d6))
40
+ * Use ManagedMediaSource when available ([#5683](https://github.com/shaka-project/shaka-player/issues/5683)) ([01da5fa](https://github.com/shaka-project/shaka-player/commit/01da5fa8a4b32c14582bd3cb865b5d5eca591d7f))
4
41
 
5
42
 
6
43
  ### Bug Fixes
7
44
 
8
- * Allow PID change in TsParser ([#5681](https://github.com/shaka-project/shaka-player/issues/5681)) ([ac8bb85](https://github.com/shaka-project/shaka-player/commit/ac8bb85bd8b02d0654af9fc7749cae7071c7abc5))
9
- * **CMCD:** Fix CMCD for some mimetypes in src= ([#5699](https://github.com/shaka-project/shaka-player/issues/5699)) ([8829e1e](https://github.com/shaka-project/shaka-player/commit/8829e1eb21f66479a16bcf85df915be9dc0d8241))
10
- * **Demo:** Fix url of "Low Latency HLS Live" asset ([#5708](https://github.com/shaka-project/shaka-player/issues/5708)) ([d0dbed3](https://github.com/shaka-project/shaka-player/commit/d0dbed330ee00f33bfb0c6b077bddad1a104c0ec))
11
- * Fix creation of new Stream object for each manifest request in DASH Live when using CEA ([#5674](https://github.com/shaka-project/shaka-player/issues/5674)) ([fdc1e9f](https://github.com/shaka-project/shaka-player/commit/fdc1e9fe99cdf336fb3dc411b7174eba48acf5bb))
12
- * Fix some properties on the shaka.text.Cue that are mangled ([#5673](https://github.com/shaka-project/shaka-player/issues/5673)) ([c69e50f](https://github.com/shaka-project/shaka-player/commit/c69e50f508ffeb5108133e39acd60c36b45c788d))
13
- * **HLS:** Fix audio and video out of sync ([#5658](https://github.com/shaka-project/shaka-player/issues/5658)) ([7df352d](https://github.com/shaka-project/shaka-player/commit/7df352db25c3dc2c14315bb65fd0159b3c195528))
14
- * **HLS:** Fix display CEA-708 in HLS ([#5694](https://github.com/shaka-project/shaka-player/issues/5694)) ([ed1d954](https://github.com/shaka-project/shaka-player/commit/ed1d95433b21049c6daf0b24d6ded13f46130e94))
15
- * **HLS:** Fix presentation delay for small live playlists (eg: 3-4 segments) ([#5687](https://github.com/shaka-project/shaka-player/issues/5687)) ([10b03e7](https://github.com/shaka-project/shaka-player/commit/10b03e7b2c026fc2393a7244946feca5b7bebd1b))
16
- * **HLS:** Skip segments without duration and without partial segments ([#5705](https://github.com/shaka-project/shaka-player/issues/5705)) ([eedad19](https://github.com/shaka-project/shaka-player/commit/eedad19b3e121d117e6748cbf965d58f30db49ca))
17
- * **HLS:** Support AES-128 in init segment according the RFC ([#5677](https://github.com/shaka-project/shaka-player/issues/5677)) ([9d50f01](https://github.com/shaka-project/shaka-player/commit/9d50f01fbb4d958e347f623450438d526a338c2f))
18
- * seeking in segment timeline returns incorrect index ([#5716](https://github.com/shaka-project/shaka-player/issues/5716)) ([15b8da0](https://github.com/shaka-project/shaka-player/commit/15b8da05aa70ae73957c68d00c78528a0ec7deb9)), closes [#5664](https://github.com/shaka-project/shaka-player/issues/5664)
19
- * **WebVTT:** Fix text displayed out of picture and with overlapping lines ([#5662](https://github.com/shaka-project/shaka-player/issues/5662)) ([580b3f7](https://github.com/shaka-project/shaka-player/commit/580b3f7229cb033437d2f4285dfb108358f13afb)), closes [#5661](https://github.com/shaka-project/shaka-player/issues/5661)
45
+ * **ABR:** Fix HLS playback after internet connection is restored ([#5879](https://github.com/shaka-project/shaka-player/issues/5879)) ([f5777e5](https://github.com/shaka-project/shaka-player/commit/f5777e5625994a6c5483a33f68d5af9dec1e1335))
46
+ * AD_STARTED fires before ad started with AWS Media Tailor ([#5855](https://github.com/shaka-project/shaka-player/issues/5855)) ([b39f334](https://github.com/shaka-project/shaka-player/commit/b39f33466ebdeb8aba2df2edd1cf16bbccbd46dd))
47
+ * Add Orange platform to requiresEncryptionInfoInAllInitSegments ([#5895](https://github.com/shaka-project/shaka-player/issues/5895)) ([9d23a87](https://github.com/shaka-project/shaka-player/commit/9d23a87f859f1bed1a2e10c2f32f18de8ce0a579))
48
+ * Allow get seekRange on manifestparsed event in some cases ([#5892](https://github.com/shaka-project/shaka-player/issues/5892)) ([606d693](https://github.com/shaka-project/shaka-player/commit/606d693900a653fcc84dac64abeb7dda974101ca))
49
+ * Allow parseXmlString when createNodeIterator is not available ([#5805](https://github.com/shaka-project/shaka-player/issues/5805)) ([ea7764d](https://github.com/shaka-project/shaka-player/commit/ea7764d0a772bca59ad78f1e3bbc9a7e2734f456))
50
+ * ban new Uint16Array(buffer) ([#5838](https://github.com/shaka-project/shaka-player/issues/5838)) ([155befb](https://github.com/shaka-project/shaka-player/commit/155befb0a0e240adc331fe4b8b1967e344e5b0df))
51
+ * CEA decoder should return early if packet is not large enough ([#5893](https://github.com/shaka-project/shaka-player/issues/5893)) ([9a694b5](https://github.com/shaka-project/shaka-player/commit/9a694b59f824f7d3bf9d7ca64364abf6e60b0de4))
52
+ * **DASH:** Fix bad url when specify MPD BaseURL and AdaptationSet BaseURL ([#5883](https://github.com/shaka-project/shaka-player/issues/5883)) ([5f891d9](https://github.com/shaka-project/shaka-player/commit/5f891d98d65805f40c9ecab7fcc60a5b1cd00c3b))
53
+ * **DASH:** Fix manifest update time for Live manifests ([#5763](https://github.com/shaka-project/shaka-player/issues/5763)) ([65449d1](https://github.com/shaka-project/shaka-player/commit/65449d1a1c43c2f0741a3e8eed620fb5a374da84))
54
+ * **DASH:** Fix manifest update time for LL-DASH ([#5736](https://github.com/shaka-project/shaka-player/issues/5736)) ([8b7141f](https://github.com/shaka-project/shaka-player/commit/8b7141f92342044c8515679f6532efe635e205dc))
55
+ * **dash:** fix race condition in segment template ([#5842](https://github.com/shaka-project/shaka-player/issues/5842)) ([8d2b657](https://github.com/shaka-project/shaka-player/commit/8d2b6574de6d0510ae752637c3507df93fbf3591))
56
+ * **DASH:** Handle minimumUpdatePeriod=0 with urn:mpeg:dash:event:2012 (EMSG) ([#5823](https://github.com/shaka-project/shaka-player/issues/5823)) ([f8438df](https://github.com/shaka-project/shaka-player/commit/f8438df7b0f2834e77685eadc6d206f251730510))
57
+ * **DASH:** Segments being fetched out of the range of the timeline ([#5889](https://github.com/shaka-project/shaka-player/issues/5889)) ([d8aa24f](https://github.com/shaka-project/shaka-player/commit/d8aa24f41d79c9efb58014c3069c5183738f26d4))
58
+ * Dispatch streamDataCallback correctly in SegmentPrefetchOperation ([#5764](https://github.com/shaka-project/shaka-player/issues/5764)) ([bab8153](https://github.com/shaka-project/shaka-player/commit/bab81537626a0662ee291e4f5bccf488fd2c1870))
59
+ * Fix bug with live start time ([#5835](https://github.com/shaka-project/shaka-player/issues/5835)) ([577d141](https://github.com/shaka-project/shaka-player/commit/577d141f42b316a6a3708e9455453b49a6386be7))
60
+ * Fix chooseCodecsAndFilterManifest for similar frameRate ([#5817](https://github.com/shaka-project/shaka-player/issues/5817)) ([8ff204d](https://github.com/shaka-project/shaka-player/commit/8ff204d49dbf5f99189cb92f4a8d3ae4dd5494d4))
61
+ * Fix chooseCodecsAndFilterManifest for some HLS manifest ([#5800](https://github.com/shaka-project/shaka-player/issues/5800)) ([51870e9](https://github.com/shaka-project/shaka-player/commit/51870e9d7cced20ee98783184b69584bea90446e))
62
+ * Fix converts legacy avc1 codec strings on transmuxer ([#5790](https://github.com/shaka-project/shaka-player/issues/5790)) ([8944ca9](https://github.com/shaka-project/shaka-player/commit/8944ca9b0ff7731889c35dbd62d6a57bd9f2060c))
63
+ * Fix crash while playing HLS AES 128 streams ([#5830](https://github.com/shaka-project/shaka-player/issues/5830)) ([64b12c1](https://github.com/shaka-project/shaka-player/commit/64b12c15792be2aa8e7f79b57f4231dfcb549fbd))
64
+ * Fix DRM workaround for Tizen and Xbox with ac-4 boxes ([#5812](https://github.com/shaka-project/shaka-player/issues/5812)) ([72a5de3](https://github.com/shaka-project/shaka-player/commit/72a5de337357fa9808509efc0e63a6b1ba4f4077))
65
+ * Fix incompatible codec is selected in Windows Edge for Widevine ([#5831](https://github.com/shaka-project/shaka-player/issues/5831)) ([5aa3597](https://github.com/shaka-project/shaka-player/commit/5aa359707469cca3cac3efdc7e7efcff1a180216))
66
+ * Fix mangled property in compiled mode in Content Steering ([#5887](https://github.com/shaka-project/shaka-player/issues/5887)) ([0e62b8e](https://github.com/shaka-project/shaka-player/commit/0e62b8e00713a0b56a5d81b9758b3b4e1d98dfcf))
67
+ * Fix missing audio streams ([#5869](https://github.com/shaka-project/shaka-player/issues/5869)) ([d6aab6b](https://github.com/shaka-project/shaka-player/commit/d6aab6befaf72eb87e431f5b27cb6c6bc368b56d))
68
+ * Fix nalu parsing and improve performance in the transmuxer ([#5846](https://github.com/shaka-project/shaka-player/issues/5846)) ([ae423b4](https://github.com/shaka-project/shaka-player/commit/ae423b4239141a62cf9d8acea622398048a60936))
69
+ * Fix selectAudioLanguage using channelsCount param ([#5875](https://github.com/shaka-project/shaka-player/issues/5875)) ([c830a99](https://github.com/shaka-project/shaka-player/commit/c830a99041e2d8d2f105ab569485c959fc8c5530))
70
+ * Fix variant filtering by preferredAudioChannelCount ([#5859](https://github.com/shaka-project/shaka-player/issues/5859)) ([51edeae](https://github.com/shaka-project/shaka-player/commit/51edeaefa02a0d01706bf2d18d601ad8d2763202))
71
+ * For text content is not necessary codec switching ([#5731](https://github.com/shaka-project/shaka-player/issues/5731)) ([bdbaae5](https://github.com/shaka-project/shaka-player/commit/bdbaae5182c1f4f650822edb2a95246a918ad5df))
72
+ * **hisense:** set stallSkip to 0 for HiSense devices ([#5833](https://github.com/shaka-project/shaka-player/issues/5833)) ([c457db8](https://github.com/shaka-project/shaka-player/commit/c457db835fee8292b840dc27451424706f238d78))
73
+ * **HLS:** Fix accessibilityPurpose detection ([#5840](https://github.com/shaka-project/shaka-player/issues/5840)) ([ceaa9fa](https://github.com/shaka-project/shaka-player/commit/ceaa9faba92465bf58cd9ea78ddac77158eabac1))
74
+ * **HLS:** Fix bad detection in some MediaPlaylist ([#5878](https://github.com/shaka-project/shaka-player/issues/5878)) ([5e797bd](https://github.com/shaka-project/shaka-player/commit/5e797bd734ca95be0cf68f59022645fad8dc9077))
75
+ * **HLS:** Fix decryption of AES-128 ([#5871](https://github.com/shaka-project/shaka-player/issues/5871)) ([da38b36](https://github.com/shaka-project/shaka-player/commit/da38b362e8146521e509599f4f2cbdef41a077d8))
76
+ * **HLS:** Fix init segment when EXT-X-MAP is preceded by EXT-X-BYTERANGE ([#5732](https://github.com/shaka-project/shaka-player/issues/5732)) ([24e5de3](https://github.com/shaka-project/shaka-player/commit/24e5de34ba2bd8a1e03204a1e8b96436c6aed296))
77
+ * **HLS:** Fix kind detection for 'captions' text tracks ([#5819](https://github.com/shaka-project/shaka-player/issues/5819)) ([8e442b3](https://github.com/shaka-project/shaka-player/commit/8e442b3884cb308df69e5327d06c773c2baeff04))
78
+ * **HLS:** Fix LL-HLS with byterange optimization using segments mode ([#5876](https://github.com/shaka-project/shaka-player/issues/5876)) ([c79e5a5](https://github.com/shaka-project/shaka-player/commit/c79e5a505878084c8691d28eae0813bb1755c927))
79
+ * **HLS:** Fix url management in HLS ([#5722](https://github.com/shaka-project/shaka-player/issues/5722)) ([8deab71](https://github.com/shaka-project/shaka-player/commit/8deab717f358502b9c79a0fbd504531cc3173ddd))
80
+ * **Offline:** Fix download of some HLS manifests ([#5861](https://github.com/shaka-project/shaka-player/issues/5861)) ([c2c8320](https://github.com/shaka-project/shaka-player/commit/c2c8320251526a0e755debf5448913a2fa896371))
81
+ * **offline:** Fix server certificate error when trying to store content ([#5848](https://github.com/shaka-project/shaka-player/issues/5848)) ([f4a35f2](https://github.com/shaka-project/shaka-player/commit/f4a35f2c3fa55449c6a12dd45f207893bc9eabca))
82
+ * **TTML:** Fix support of urls in smpte:backgroundImage ([#5851](https://github.com/shaka-project/shaka-player/issues/5851)) ([fa93d53](https://github.com/shaka-project/shaka-player/commit/fa93d5353acf785e450c8e7e664f7012e0d99bdc))
83
+ * **UI:** Console error on remote.cancelwatchavailability() method in remote playback feature ([#5793](https://github.com/shaka-project/shaka-player/issues/5793)) ([b66a8e8](https://github.com/shaka-project/shaka-player/commit/b66a8e871b3d541890f1fe431eb1c4c294c26a6e))
84
+ * **UI:** Fix text selector when the trackLabelFormat is set to LABEL ([#5751](https://github.com/shaka-project/shaka-player/issues/5751)) ([bba0651](https://github.com/shaka-project/shaka-player/commit/bba0651e23bdebc5ba12dc17f7d6d2a33c0bb51a))
85
+ * UITextDisplayer font-family is overridden by UI's Roboto font ([#5829](https://github.com/shaka-project/shaka-player/issues/5829)) ([cb8a5ed](https://github.com/shaka-project/shaka-player/commit/cb8a5edd7071a504d2d0f654944d86436d2632a8))
86
+ * **WebVTT:** Fix wrong writing-mode in nested cues ([#5807](https://github.com/shaka-project/shaka-player/issues/5807)) ([ea7d83e](https://github.com/shaka-project/shaka-player/commit/ea7d83ed8760d98119e771ea0b48baa1ba4eb4ea))
20
87
 
21
88
 
22
89
  ### Performance Improvements
23
90
 
24
- * Optimization to resolve uris ([#5657](https://github.com/shaka-project/shaka-player/issues/5657)) ([971b2a0](https://github.com/shaka-project/shaka-player/commit/971b2a0074ada35f1891d956d6ec9601ad1ece39))
25
-
26
- ## [4.4.2](https://github.com/shaka-project/shaka-player/compare/v4.4.1...v4.4.2) (2023-09-13)
91
+ * **dash:** improve readability and reduce number of loops in dash parser ([#5768](https://github.com/shaka-project/shaka-player/issues/5768)) ([17a4363](https://github.com/shaka-project/shaka-player/commit/17a4363e331fab3c4674504e54100b354fa0f0b8))
92
+ * **DASH:** PeriodCombiner optimisations ([#5837](https://github.com/shaka-project/shaka-player/issues/5837)) ([ade93b0](https://github.com/shaka-project/shaka-player/commit/ade93b0d004b379841dfaf0bcf7e2f04b8f14345))
93
+ * **DASH:** reduce looping and remove chaining awaits in period ([#5774](https://github.com/shaka-project/shaka-player/issues/5774)) ([be755e8](https://github.com/shaka-project/shaka-player/commit/be755e899536e169a8ef524e52f384e7a6abd001))
94
+ * **HLS:** Improve detection of all partial segments ([#5761](https://github.com/shaka-project/shaka-player/issues/5761)) ([2a35579](https://github.com/shaka-project/shaka-player/commit/2a3557915f05f72cb44406eb1497a386c8fecbab))
95
+ * Improve transmuxer performance ([#5789](https://github.com/shaka-project/shaka-player/issues/5789)) ([aa41e87](https://github.com/shaka-project/shaka-player/commit/aa41e8733f04948d6370dc066a96a2d7e394bc59))
96
+ * **manifest:** avoid unnecessary looping in uri resolver ([#5773](https://github.com/shaka-project/shaka-player/issues/5773)) ([4d5caee](https://github.com/shaka-project/shaka-player/commit/4d5caee6615c04acf591d0bd04ae6ca4a1ffbdb0))
97
+ * simplify and improve performance of parsing initData when deduping ([#5775](https://github.com/shaka-project/shaka-player/issues/5775)) ([041a08f](https://github.com/shaka-project/shaka-player/commit/041a08f88d2855e9457e7853014ee10b23a7612b))
98
+ * **utils:** use WeakSet to track object references ([#5791](https://github.com/shaka-project/shaka-player/issues/5791)) ([daa9d1f](https://github.com/shaka-project/shaka-player/commit/daa9d1f206652b775c406ecb4887e0f2bc7c533f))
99
+ * **Xbox:** drop incompatible variants for XBOX early ([#5777](https://github.com/shaka-project/shaka-player/issues/5777)) ([170a40c](https://github.com/shaka-project/shaka-player/commit/170a40c3083a8e4a0c6fabcf96439c2008ffcb63))
27
100
 
101
+ ## [4.5.0](https://github.com/shaka-project/shaka-player/compare/v4.4.0...v4.5.0) (2023-10-04)
28
102
 
29
- ### Bug Fixes
30
103
 
31
- * com.apple.fps should work with the default initDataTransform when using legacy Apple Media Keys ([#5603](https://github.com/shaka-project/shaka-player/issues/5603)) ([1a6fcf7](https://github.com/shaka-project/shaka-player/commit/1a6fcf71bc27b37ca44dc2dabdf5e4608a12dea4))
32
- * Compute correctly the positionAlign in UITextDisplayer ([#5630](https://github.com/shaka-project/shaka-player/issues/5630)) ([b19c5e7](https://github.com/shaka-project/shaka-player/commit/b19c5e720882dd9211f9455f12dff0485b121175))
33
- * **DASH:** Fix race condition error while switching audio tracks ([#5619](https://github.com/shaka-project/shaka-player/issues/5619)) ([c140ea3](https://github.com/shaka-project/shaka-player/commit/c140ea3d3e5550e1e89e7e0ad8fc50d637c0ed57))
34
- * **Demo:** Allow com.apple.fps.1_0 in the custom DRM System field ([#5600](https://github.com/shaka-project/shaka-player/issues/5600)) ([30597ed](https://github.com/shaka-project/shaka-player/commit/30597ed5d9f64c5ea56fc70043b46a8f8fdd774d))
35
- * Fix compiled-mode error formatting ([#5623](https://github.com/shaka-project/shaka-player/issues/5623)) ([838cb16](https://github.com/shaka-project/shaka-player/commit/838cb160653692c378afda9ec77b8fbc996cfd56))
36
- * fix preferred track selection on Safari ([#5601](https://github.com/shaka-project/shaka-player/issues/5601)) ([0e4a021](https://github.com/shaka-project/shaka-player/commit/0e4a02154ee4588c88e7526eac841aca46902c4f))
37
- * Fix transmuxed audio timestamps ([#5595](https://github.com/shaka-project/shaka-player/issues/5595)) ([258a91f](https://github.com/shaka-project/shaka-player/commit/258a91f2b70da7267067800e5e571a48f5c17be2))
38
- * **HLS:** Get the correct video codec for TS segments ([#5598](https://github.com/shaka-project/shaka-player/issues/5598)) ([0020afe](https://github.com/shaka-project/shaka-player/commit/0020afe02ef961581cfdcefbc412d7ae454a8128))
39
- * **HLS:** Show WebVTT subtitles with X-TIMESTAMP-MAP in segments mode ([#5643](https://github.com/shaka-project/shaka-player/issues/5643)) ([58298e2](https://github.com/shaka-project/shaka-player/commit/58298e24758c27a1fa409246098e3c186a0ab1e4))
40
- * Improve TsParse to avoid parsing errors ([#5615](https://github.com/shaka-project/shaka-player/issues/5615)) ([c57bb6f](https://github.com/shaka-project/shaka-player/commit/c57bb6f89081c0492dbc75a9b7c1ae7580caf0a7))
41
- * **TTML:** Fix wrong writing-mode in nested cues ([#5646](https://github.com/shaka-project/shaka-player/issues/5646)) ([521c239](https://github.com/shaka-project/shaka-player/commit/521c2398f2503b04be9f79ed62fb17ecb8d000d1))
42
- * **UI:** Fix broken language names on Google TV ([#5613](https://github.com/shaka-project/shaka-player/issues/5613)) ([4a84d8e](https://github.com/shaka-project/shaka-player/commit/4a84d8e25250871c3e4cda967b13ee80fe371913))
43
- * **WebVTT:** Fix support for line:0 vertical alignment ([#5632](https://github.com/shaka-project/shaka-player/issues/5632)) ([14cdc11](https://github.com/shaka-project/shaka-player/commit/14cdc11968e0e7782a9924a9a9be84882a031806))
44
- * **WebVTT:** Fix wrong writing-mode in nested cues ([#5641](https://github.com/shaka-project/shaka-player/issues/5641)) ([8a7e32e](https://github.com/shaka-project/shaka-player/commit/8a7e32e111fbab76e5989a7df8ea8efc00955eb3))
104
+ ### Features
45
105
 
46
- ## [4.4.1](https://github.com/shaka-project/shaka-player/compare/v4.4.0...v4.4.1) (2023-09-02)
106
+ * **ABR:** Allow some downscale when use restrictToElementSize or restrictToScreenSize ([#5631](https://github.com/shaka-project/shaka-player/issues/5631)) ([cad1ac8](https://github.com/shaka-project/shaka-player/commit/cad1ac82837123282248a0766147390d5c21bcb9))
107
+ * Add getBandwidthEstimate to the player interface for custom manifest parser ([#5714](https://github.com/shaka-project/shaka-player/issues/5714)) ([1271a18](https://github.com/shaka-project/shaka-player/commit/1271a18fec65551508a734615c9c1619ebd87e04))
108
+ * Add H.265 TS transmuxer ([#5611](https://github.com/shaka-project/shaka-player/issues/5611)) ([3c2c095](https://github.com/shaka-project/shaka-player/commit/3c2c0955cbd230f2360e2fb9d82e59cb19dab591))
109
+ * Add KeyStatusChanged and UpdateState events ([#5695](https://github.com/shaka-project/shaka-player/issues/5695)) ([2f97fa7](https://github.com/shaka-project/shaka-player/commit/2f97fa7ee3497261af038046f1de14095c6d4481))
110
+ * Add manifestupdated event ([#5602](https://github.com/shaka-project/shaka-player/issues/5602)) ([b16d2f0](https://github.com/shaka-project/shaka-player/commit/b16d2f0bf3691ef7cc2de4eea095df21814a2027))
111
+ * Add TS transmuxer for muxed content ([#5571](https://github.com/shaka-project/shaka-player/issues/5571)) ([7df3321](https://github.com/shaka-project/shaka-player/commit/7df33212726d0040ba5d5a4cc0c049f174a06c83))
112
+ * **Ads:** Add support for AWS Elemental MediaTailor ([#5679](https://github.com/shaka-project/shaka-player/issues/5679)) ([cf5a72b](https://github.com/shaka-project/shaka-player/commit/cf5a72bb513ff74e5b0f8ca7fd334313cd78370d))
113
+ * **CEA:** Parse CEA from TS with H.265 ([#5610](https://github.com/shaka-project/shaka-player/issues/5610)) ([54eaf63](https://github.com/shaka-project/shaka-player/commit/54eaf6371aeb2fb8b860d52b75a0c27555aaaaca))
114
+ * **DASH:** Add new config to prevent mixing of audio representations from different adaptation sets ([#5620](https://github.com/shaka-project/shaka-player/issues/5620)) ([0bbb470](https://github.com/shaka-project/shaka-player/commit/0bbb47025e347d321a9d764666a355b2d2a485a5))
115
+ * **DASH:** Add support for AES-128 ([#5656](https://github.com/shaka-project/shaka-player/issues/5656)) ([96ae7f2](https://github.com/shaka-project/shaka-player/commit/96ae7f2fe614402d1ee410591eb86a2868796c38))
116
+ * **DASH:** Allow the playback of DASH with $time$ and large timescale value ([#5621](https://github.com/shaka-project/shaka-player/issues/5621)) ([4a1c96e](https://github.com/shaka-project/shaka-player/commit/4a1c96e630de1ee259ed3a5ee582dddd0f844e04))
117
+ * **demo:** Added icons for new demo assets ([#5691](https://github.com/shaka-project/shaka-player/issues/5691)) ([12400b1](https://github.com/shaka-project/shaka-player/commit/12400b160b51c7ea87ecb9e8bb77ae481bb707d7))
118
+ * Enable codec switching ([#5470](https://github.com/shaka-project/shaka-player/issues/5470)) ([0078137](https://github.com/shaka-project/shaka-player/commit/0078137d1bd6bd471b5e1405e27d7fc76b5668ac))
119
+ * **HLS:** Get the correct video info for TS segments with H.265 ([#5616](https://github.com/shaka-project/shaka-player/issues/5616)) ([e191c75](https://github.com/shaka-project/shaka-player/commit/e191c755167abd8658e9e3aae35cd99d07d15ee6))
120
+ * **HLS:** Take into account the parsing time for manifest schedule update ([#5678](https://github.com/shaka-project/shaka-player/issues/5678)) ([f7e33a3](https://github.com/shaka-project/shaka-player/commit/f7e33a3ba529e13052bfaa8762b78379bb8c8e03))
121
+ * Migration of LCEVC DIL (Decoder Integration Layer) to LCEVC Dec (Decoder) ([#5459](https://github.com/shaka-project/shaka-player/issues/5459)) ([c1e18d3](https://github.com/shaka-project/shaka-player/commit/c1e18d358361392332372760b90c724047cf1310))
122
+ * **TTML:** Add support to tts:ruby ([#5645](https://github.com/shaka-project/shaka-player/issues/5645)) ([9fd220e](https://github.com/shaka-project/shaka-player/commit/9fd220e73f7ef0e9b5774717347b2d3fa7590e99))
123
+ * **TTML:** Add support to tts:textCombine ([#5644](https://github.com/shaka-project/shaka-player/issues/5644)) ([73a3bd9](https://github.com/shaka-project/shaka-player/commit/73a3bd931ebc7c9690f3d0aefb0639f2230fa594))
124
+ * **UI:** Add config to preferDocumentPictureInPicture ([#5690](https://github.com/shaka-project/shaka-player/issues/5690)) ([025502a](https://github.com/shaka-project/shaka-player/commit/025502a70c885216b9bbc063025ae80a72780fe6))
125
+ * **UI:** Add PiP function to controls ([#5629](https://github.com/shaka-project/shaka-player/issues/5629)) ([b422847](https://github.com/shaka-project/shaka-player/commit/b4228479dae3469e5a3a1e8190bef9c4e3e1a843))
126
+ * **UI:** Add remote button with RemotePlayback API ([#5650](https://github.com/shaka-project/shaka-player/issues/5650)) ([1ef5ae0](https://github.com/shaka-project/shaka-player/commit/1ef5ae0615a14baa26ff9ffa9fa5e083bfa19c7e))
127
+ * **WebVTT:** Add support to ruby, rt, rp html tags ([#5642](https://github.com/shaka-project/shaka-player/issues/5642)) ([76ffd38](https://github.com/shaka-project/shaka-player/commit/76ffd38c1d78042acac220df202a9abdd77489e9))
128
+ * **WebVTT:** Add support to text-combine-upright ([#5633](https://github.com/shaka-project/shaka-player/issues/5633)) ([a2f253f](https://github.com/shaka-project/shaka-player/commit/a2f253f8d619d2959c0195a8e1260657b5d34a3a))
47
129
 
48
130
 
49
131
  ### Bug Fixes
50
132
 
51
- * Fix MediaSourceEngine reset operation ([#5576](https://github.com/shaka-project/shaka-player/issues/5576)) ([8c66b7a](https://github.com/shaka-project/shaka-player/commit/8c66b7a061b044b1e1569fbcf18c094465b94466))
52
- * Fix Mp4Generator ([#5566](https://github.com/shaka-project/shaka-player/issues/5566)) ([a20f1db](https://github.com/shaka-project/shaka-player/commit/a20f1db194539d43e6851f54f28378c33f98d1d5))
53
- * Fix PES parsing ([#5559](https://github.com/shaka-project/shaka-player/issues/5559)) ([58e6627](https://github.com/shaka-project/shaka-player/commit/58e6627c5c56057d186823f07f364805d3c26b20))
54
- * Fix TS transmuxer when the main content is muxed ([#5575](https://github.com/shaka-project/shaka-player/issues/5575)) ([0831b97](https://github.com/shaka-project/shaka-player/commit/0831b979f076b773f8eecb42e72c45bdabbf878b))
55
- * **HLS:** Allow audio groups on audio-only content ([#5578](https://github.com/shaka-project/shaka-player/issues/5578)) ([17e4ef2](https://github.com/shaka-project/shaka-player/commit/17e4ef25c0f069002c6777e77569cbf90d538449))
56
- * Prevent codecs override in the transmuxer ([#5568](https://github.com/shaka-project/shaka-player/issues/5568)) ([1286fec](https://github.com/shaka-project/shaka-player/commit/1286fec03da968d71b8f0590421c0d0a39e98d06))
57
- * Remove debugging code on Simple Text ([#5582](https://github.com/shaka-project/shaka-player/issues/5582)) ([19be642](https://github.com/shaka-project/shaka-player/commit/19be6423ea5366b887d0cf89900d92bfbd573ce5))
133
+ * Allow PID change in TsParser ([#5681](https://github.com/shaka-project/shaka-player/issues/5681)) ([d9b49d9](https://github.com/shaka-project/shaka-player/commit/d9b49d992f533bf7664932d547253b860064ea03))
134
+ * **CMCD:** Fix CMCD for some mimetypes in src= ([#5699](https://github.com/shaka-project/shaka-player/issues/5699)) ([e2c32c5](https://github.com/shaka-project/shaka-player/commit/e2c32c52f0ae347083bcc6b4b7dceca903b5546b))
135
+ * com.apple.fps should work with the default initDataTransform when using legacy Apple Media Keys ([#5603](https://github.com/shaka-project/shaka-player/issues/5603)) ([76fdda6](https://github.com/shaka-project/shaka-player/commit/76fdda65231905c945db6a5eedeece65f8d7711e))
136
+ * Compute correctly the positionAlign in UITextDisplayer ([#5630](https://github.com/shaka-project/shaka-player/issues/5630)) ([3a2dbc3](https://github.com/shaka-project/shaka-player/commit/3a2dbc3deaf1e1ee5384eed41c6c9e79817a8a09))
137
+ * **DASH:** Fix bigint implementation ([#5707](https://github.com/shaka-project/shaka-player/issues/5707)) ([45009d2](https://github.com/shaka-project/shaka-player/commit/45009d2c0cbbb203ecb864bc4b742ed4ad9a0d9a))
138
+ * **DASH:** Fix race condition error while switching audio tracks ([#5619](https://github.com/shaka-project/shaka-player/issues/5619)) ([29d9a10](https://github.com/shaka-project/shaka-player/commit/29d9a107054fff16ec2abe2cbdbb8fa0c0cfd882))
139
+ * **Demo:** Allow com.apple.fps.1_0 in the custom DRM System field ([#5600](https://github.com/shaka-project/shaka-player/issues/5600)) ([ab86000](https://github.com/shaka-project/shaka-player/commit/ab86000dc75a352505875fe6dbc37fe0bdd2857a))
140
+ * **Demo:** Fix url of "Low Latency HLS Live" asset ([#5708](https://github.com/shaka-project/shaka-player/issues/5708)) ([146d3ec](https://github.com/shaka-project/shaka-player/commit/146d3ecd280b8b985e1fae6fc9262fa04dcf6126))
141
+ * Fix compiled-mode error formatting ([#5623](https://github.com/shaka-project/shaka-player/issues/5623)) ([a19912e](https://github.com/shaka-project/shaka-player/commit/a19912e5bf9ec5425a366b07745d5bac631a9dd2))
142
+ * Fix creation of new Stream object for each manifest request in DASH Live when using CEA ([#5674](https://github.com/shaka-project/shaka-player/issues/5674)) ([0a8b519](https://github.com/shaka-project/shaka-player/commit/0a8b5193f2de0b83ddd24aacda09523926b1cdb9))
143
+ * Fix MediaSourceEngine reset operation ([#5576](https://github.com/shaka-project/shaka-player/issues/5576)) ([9f5e91f](https://github.com/shaka-project/shaka-player/commit/9f5e91f4a37a8e504adcf1dd756fac9c777c2051))
144
+ * Fix Mp4Generator ([#5566](https://github.com/shaka-project/shaka-player/issues/5566)) ([effafbc](https://github.com/shaka-project/shaka-player/commit/effafbc849cc83c732fe113f5da479513b884f9f))
145
+ * Fix NALU parsing in some HLS muxed live streams ([#5688](https://github.com/shaka-project/shaka-player/issues/5688)) ([756a576](https://github.com/shaka-project/shaka-player/commit/756a57658608b3d8e674ae810afc692a25dc85cf))
146
+ * Fix PES parsing ([#5559](https://github.com/shaka-project/shaka-player/issues/5559)) ([5c6ab9e](https://github.com/shaka-project/shaka-player/commit/5c6ab9e0c8ba1236710209b36ea08d7a44fb1bf3))
147
+ * fix preferred track selection on Safari ([#5601](https://github.com/shaka-project/shaka-player/issues/5601)) ([d021d6f](https://github.com/shaka-project/shaka-player/commit/d021d6f932b3a64d826b919b5a7b252599e2ecd5))
148
+ * Fix some properties on the shaka.text.Cue that are mangled ([#5673](https://github.com/shaka-project/shaka-player/issues/5673)) ([d2b7cb2](https://github.com/shaka-project/shaka-player/commit/d2b7cb28212d5fc82b70169c77826333e0fc081f))
149
+ * Fix transmuxed audio timestamps ([#5595](https://github.com/shaka-project/shaka-player/issues/5595)) ([0260aef](https://github.com/shaka-project/shaka-player/commit/0260aefcdbdda2184ea32d3d8678a04491cc6fd3))
150
+ * Fix transmuxing of muxed content ([#5686](https://github.com/shaka-project/shaka-player/issues/5686)) ([f20d50a](https://github.com/shaka-project/shaka-player/commit/f20d50a37b8629d5429b22e2fa0ced4729335af3))
151
+ * Fix TS transmuxer when the main content is muxed ([#5575](https://github.com/shaka-project/shaka-player/issues/5575)) ([65b3037](https://github.com/shaka-project/shaka-player/commit/65b3037181b30274b1cedf52283f5726cf7df0b9))
152
+ * Fix unreleased stack overflow on statechanged ([#5712](https://github.com/shaka-project/shaka-player/issues/5712)) ([ebacf32](https://github.com/shaka-project/shaka-player/commit/ebacf32127dfc7b8b5227d66f7d53d3eee54fdd3))
153
+ * **HLS:** Allow audio groups on audio-only content ([#5578](https://github.com/shaka-project/shaka-player/issues/5578)) ([3cbc444](https://github.com/shaka-project/shaka-player/commit/3cbc444c95ab2e8c124d2caaaac6ce7bc5fdf02f))
154
+ * **HLS:** Fix audio and video out of sync ([#5658](https://github.com/shaka-project/shaka-player/issues/5658)) ([4cc4143](https://github.com/shaka-project/shaka-player/commit/4cc4143d5f3d78fc5839d6e61d7464ac62479253))
155
+ * **HLS:** Fix display CEA-708 in HLS ([#5694](https://github.com/shaka-project/shaka-player/issues/5694)) ([2097193](https://github.com/shaka-project/shaka-player/commit/2097193c1d16b2fc7478959257e45dd0d8233ffa))
156
+ * **HLS:** Fix presentation delay for small live playlists (eg: 3-4 segments) ([#5687](https://github.com/shaka-project/shaka-player/issues/5687)) ([caef5a4](https://github.com/shaka-project/shaka-player/commit/caef5a41edb3b7ac09d58249990bc2fa14ac5adb))
157
+ * **HLS:** Get the correct video codec for TS segments ([#5598](https://github.com/shaka-project/shaka-player/issues/5598)) ([1135115](https://github.com/shaka-project/shaka-player/commit/11351150694814813cb1cfeab4dc78fdefcce6fa))
158
+ * **HLS:** Show WebVTT subtitles with X-TIMESTAMP-MAP in segments mode ([#5643](https://github.com/shaka-project/shaka-player/issues/5643)) ([bd636d4](https://github.com/shaka-project/shaka-player/commit/bd636d4edffed3e845c79666547dc5af91af4055))
159
+ * **HLS:** Skip segments without duration and without partial segments ([#5705](https://github.com/shaka-project/shaka-player/issues/5705)) ([f53d50d](https://github.com/shaka-project/shaka-player/commit/f53d50dc3620736add47f4db2f4e71b4d8eea526))
160
+ * **HLS:** Support AES-128 in init segment according the RFC ([#5677](https://github.com/shaka-project/shaka-player/issues/5677)) ([806d91a](https://github.com/shaka-project/shaka-player/commit/806d91af4da9e71f9e11af406ffebf14232c5e9f))
161
+ * Improve TsParse to avoid parsing errors ([#5615](https://github.com/shaka-project/shaka-player/issues/5615)) ([5fa8b42](https://github.com/shaka-project/shaka-player/commit/5fa8b42118103ee8bb32394feb3aeb57b6d47553))
162
+ * Prevent codecs override in the transmuxer ([#5568](https://github.com/shaka-project/shaka-player/issues/5568)) ([66c625f](https://github.com/shaka-project/shaka-player/commit/66c625f55ab00989ff74419e8f85ca7619446dd0))
163
+ * Remove debugging code on Simple Text ([#5582](https://github.com/shaka-project/shaka-player/issues/5582)) ([991130a](https://github.com/shaka-project/shaka-player/commit/991130a6d875fd41ff585254563c5a879057603a))
164
+ * seeking in segment timeline returns incorrect index ([#5716](https://github.com/shaka-project/shaka-player/issues/5716)) ([c02ccee](https://github.com/shaka-project/shaka-player/commit/c02cceeeca0590a9b9b3161783142d89ba4948d4)), closes [#5664](https://github.com/shaka-project/shaka-player/issues/5664)
165
+ * **TTML:** Fix wrong writing-mode in nested cues ([#5646](https://github.com/shaka-project/shaka-player/issues/5646)) ([3a4f108](https://github.com/shaka-project/shaka-player/commit/3a4f10878a91c7d30f71862f2cec780b0f5e1bac))
166
+ * **UI:** Fix broken language names on Google TV ([#5613](https://github.com/shaka-project/shaka-player/issues/5613)) ([fc93292](https://github.com/shaka-project/shaka-player/commit/fc93292d9e4f8d38561dea8320cbcd5fd25f2c75))
167
+ * **WebVTT:** Fix support for line:0 vertical alignment ([#5632](https://github.com/shaka-project/shaka-player/issues/5632)) ([eed393f](https://github.com/shaka-project/shaka-player/commit/eed393f1bf777f00f1e7242c96bf9124ad3dec30))
168
+ * **WebVTT:** Fix text displayed out of picture and with overlapping lines ([#5662](https://github.com/shaka-project/shaka-player/issues/5662)) ([6975be9](https://github.com/shaka-project/shaka-player/commit/6975be92d47fd5368492e861a6ea63e627a4846c)), closes [#5661](https://github.com/shaka-project/shaka-player/issues/5661)
169
+ * **WebVTT:** Fix wrong writing-mode in nested cues ([#5641](https://github.com/shaka-project/shaka-player/issues/5641)) ([56a4cea](https://github.com/shaka-project/shaka-player/commit/56a4cea5789f15b5e78c9a5d8d0cb97eb542bafc))
170
+
171
+
172
+ ### Performance Improvements
173
+
174
+ * Optimization to resolve uris ([#5657](https://github.com/shaka-project/shaka-player/issues/5657)) ([bd17c2b](https://github.com/shaka-project/shaka-player/commit/bd17c2bfd077c596d77a2a3fdd865041ed08012c))
58
175
 
59
176
  ## [4.4.0](https://github.com/shaka-project/shaka-player/compare/v4.4.0...v4.4.0) (2023-08-30)
60
177
 
@@ -69,7 +69,7 @@ dispute. If you are unable to resolve the matter for any reason, or if the
69
69
  behavior is threatening or harassing, report it. We are dedicated to providing
70
70
  an environment where participants feel welcome and safe.
71
71
 
72
- Reports should be directed to *shaka-player-issues@google.com*, the
72
+ Reports should be directed to *shaka-player-maintainers@googlegroups.com*, the
73
73
  Project Steward(s) for *Shaka Player*. It is the Project Steward’s duty to
74
74
  receive and address reported violations of the code of conduct. They will then
75
75
  work with a committee consisting of representatives from the Open Source
package/CONTRIBUTORS CHANGED
@@ -32,6 +32,7 @@ Alvaro Velad Galvan <ladvan91@hotmail.com>
32
32
  Amila Sampath <lucksy@gmail.com>
33
33
  Andy Hochhaus <ahochhaus@samegoal.com>
34
34
  Anthony Stansbridge <github@anthonystansbridge.co.uk>
35
+ Armand Zangue <armand.zangue@gmail.com>
35
36
  Ashutosh Kumar Mukhiya <ashukm4@gmail.com>
36
37
  Benjamin Wallberg <benjamin.wallberg@bonnierbroadcasting.com>
37
38
  Benjamin Wallberg <me@bwallberg.com>
@@ -59,6 +60,7 @@ Gil Gonen <gil.gonen@gmail.com>
59
60
  Giorgio Gamberoni <giorgio.gamberoni@gmail.com>
60
61
  Giuseppe Samela <giuseppe.samela@gmail.com>
61
62
  Hichem Taoufik <hichem@code-it.fr>
63
+ Ivan Kohut <i.kohut@yahoo.com>
62
64
  Itay Kinnrot <itay.kinnrot@kaltura.com>
63
65
  Isaac Ramirez <isaac.ramirez.herrera@gmail.com>
64
66
  Jacob Trimble <modmaker@google.com>
package/README.md CHANGED
@@ -33,24 +33,24 @@ for the up-to-date list of maintained branches of Shaka Player.
33
33
 
34
34
  ## Platform and browser support matrix
35
35
 
36
- |Browser |Windows |Mac |Linux |Android |iOS >= 13 |ChromeOS|Other|
37
- |:---------:|:--------:|:-------:|:-------:|:-------:|:--------:|:------:|:---:|
38
- |Chrome¹ |**Y** |**Y** |**Y** |**Y** |**Native**|**Y** | - |
39
- |Firefox¹ |**Y** |**Y** |**Y** |untested⁵|**Native**| - | - |
40
- |Edge¹ |**Y** | - | - | - | - | - | - |
41
- |Edge Chromium|**Y** |**Y** |**Y** |untested⁵|**Native**| - | - |
42
- |IE | N | - | - | - | - | - | - |
43
- |Safari¹ | - |**Y** | - | - |**iPadOS 13<br>Native**| - | - |
44
- |Opera¹ |untested⁵ |untested⁵|untested⁵|untested⁵|**Native**| - | - |
45
- |Chromecast²| - | - | - | - | - | - |**Y**|
46
- |Tizen TV³ | - | - | - | - | - | - |**Y**|
47
- |WebOS⁶ | - | - | - | - | - | - |**Y**|
48
- |Xbox One | - | - | - | - | - | - |**Y**|
49
- |Playstation 4⁷| - | - | - | - | - | - |**Y**|
50
- |Playstation 5⁷| - | - | - | - | - | - |**Y**|
36
+ |Browser |Windows |Mac |Linux |Android |iOS >= 9 |iOS >= 17.1|iPadOS >= 13|ChromeOS|Other|
37
+ |:------------:|:--------:|:-------:|:-------:|:-------:|:--------:|:---------:|:----------:|:------:|:---:|
38
+ |Chrome¹ |**Y** |**Y** |**Y** |**Y** |**Native**|**Native** |**Native** |**Y** | - |
39
+ |Firefox¹ |**Y** |**Y** |**Y** |untested⁵|**Native**|**Native** |**Native** | - | - |
40
+ |Edge¹ |**Y** | - | - | - | - | - | - | - | - |
41
+ |Edge Chromium |**Y** |**Y** |**Y** |untested⁵|**Native**|**Native** |**Native** | - | - |
42
+ |IE | N | - | - | - | - | - | - | - | - |
43
+ |Safari¹ | - |**Y** | - | - |**Native**|**Y** |**Y** | - | - |
44
+ |Opera¹ |untested⁵ |untested⁵|untested⁵|untested⁵|**Native**| - | - | - | - |
45
+ |Chromecast². | - | - | - | - | - | - | - | - |**Y**|
46
+ |Tizen TV³ | - | - | - | - | - | - | - | - |**Y**|
47
+ |WebOS⁶ | - | - | - | - | - | - | - | - |**Y**|
48
+ |Xbox One | - | - | - | - | - | - | - | - |**Y**|
49
+ |Playstation 4⁷| - | - | - | - | - | - | - | - |**Y**|
50
+ |Playstation 5⁷| - | - | - | - | - | - | - | - |**Y**|
51
51
 
52
52
  NOTES:
53
- - ¹: On macOS, only Safari 13+ is supported. On iOS, only iOS 13+ is
53
+ - ¹: On macOS, only Safari 9+ is supported. On iOS, only iOS 9+ is
54
54
  supported. Older versions will be rejected.
55
55
  - ²: The latest stable Chromecast firmware is tested. Both sender and receiver
56
56
  can be implemented with Shaka Player.
@@ -65,18 +65,12 @@ NOTES:
65
65
  - ⁷: These are expected to work, but are community-supported and untested by
66
66
  us.
67
67
 
68
- We support iOS 13+ through Apple's native HLS player. We provide the same
69
- top-level API, but we just set the video's `src` element to the manifest/media.
70
- So we are dependent on the browser supporting the manifests.
71
-
72
- ### Shaka Player Embedded (for native iOS)
73
-
74
- We have another project called [Shaka Player Embedded][] which offers the same
75
- features and similar APIs for native apps on iOS. This project uses its own
76
- media stack, which allows it to play content that would otherwise not be
77
- supported. This supports both DASH and HLS manifests.
78
-
79
- [Shaka Player Embedded]: https://github.com/shaka-project/shaka-player-embedded
68
+ NOTES for iOS and iPadOS:
69
+ - We support iOS 9+ through Apple's native HLS player. We provide the same
70
+ top-level API, but we just set the video's `src` element to the manifest/media.
71
+ So we are dependent on the browser supporting the manifests.
72
+ - Since iPadOS 13 [MediaSource Extensions][] is supported
73
+ - Since iPadOS 17 and iOS 17.1 [ManagedMediaSource Extensions][] is supported
80
74
 
81
75
 
82
76
  ## Manifest format support matrix
@@ -115,7 +109,6 @@ DASH features **not** supported:
115
109
  - Xlink with actuate=onRequest
116
110
  - Manifests without any segment info:
117
111
  https://github.com/shaka-project/shaka-player/issues/1088
118
- - Changing codecs during a presentation (unsupported by MSE)
119
112
  - Multiple trick mode tracks for the same resolution at varying framerates or
120
113
  bitrates
121
114
  - Timescales so large that timestamps cannot be represented as integers in
@@ -132,32 +125,29 @@ HLS features supported:
132
125
  blocking playlist reload
133
126
  - Discontinuity
134
127
  - ISO-BMFF / MP4 / CMAF support
135
- - MPEG-2 TS support (transmuxing provided by [mux.js][] v6.2.0+, must be
136
- separately included)
128
+ - MPEG-2 TS support
137
129
  - WebVTT and TTML
138
130
  - CEA-608/708 captions
139
131
  - Encrypted content with PlayReady and Widevine
140
- - Encrypted content with FairPlay (Safari on macOS and iOS 13+ only)
132
+ - Encrypted content with FairPlay (Safari on macOS and iOS 9+ only)
141
133
  - Key rotation
142
134
  - Raw AAC, MP3, AC-3 and EC-3 (without an MP4 container)
135
+ - I-frame-only playlists with mjpg codec for thumbnails
136
+ - #EXT-X-IMAGE-STREAM-INF for thumbnails
143
137
 
144
- HLS features **not** supported:
145
- - I-frame-only playlists: https://github.com/shaka-project/shaka-player/issues/742
146
-
147
- [mux.js]: https://github.com/videojs/mux.js/releases
148
138
 
149
139
  ## MPEG-5 Part2 LCEVC Support
150
140
 
151
141
  **Only supported on browsers with Media Source Extensions SourceBuffer support**
152
142
 
153
- - MPEG-5 Part2 LCEVC decoding support (decoding provided by [lcevc_dil.js][], must be
143
+ - MPEG-5 Part2 LCEVC decoding support (decoding provided by [lcevc_dec.js][], must be
154
144
  separately included)
155
145
 
156
146
  - Integration documentation : [docs](docs/design/lcevc-integration.md)
157
147
 
158
148
  - More on [MPEG-5 Part2 LCEVC][]
159
149
 
160
- [lcevc_dil.js]: https://www.npmjs.com/package/lcevc_dil.js
150
+ [lcevc_dec.js]: https://www.npmjs.com/package/lcevc_dec.js
161
151
  [MPEG-5 Part2 LCEVC]: https://www.lcevc.org
162
152
 
163
153
 
@@ -235,8 +225,7 @@ Shaka Player supports:
235
225
  SegmentTemplate@index
236
226
  - Not supported in HLS
237
227
  - MPEG-2 TS
238
- - With help from [mux.js][] v6.2.0+, can be played on any browser which
239
- supports MP4
228
+ - Can be played on any browser which supports MP4
240
229
  - Can find and parse timestamps to find segment start time in HLS
241
230
  - WebVTT
242
231
  - Supported in both text form and embedded in MP4
@@ -289,8 +278,8 @@ Shaka Player supports:
289
278
  - MP3 in MPEG-2 TS to MP3 in MP4
290
279
  - MP3 in MPEG-2 TS to raw MP3
291
280
  - H.264 in MPEG-2 TS to H.264 in MP4
292
- - Muxed AAC and H.264 in MPEG-2 TS to AAC and H.264 in MP4,
293
- with help from [mux.js][] v6.2.0+
281
+ - H.265 in MPEG-2 TS to H.265 in MP4
282
+ - Muxed content in MPEG-2 TS with the previous codecs
294
283
 
295
284
 
296
285
  ## Thumbnails support
@@ -298,9 +287,32 @@ Shaka Player supports:
298
287
  Shaka Player supports:
299
288
  - Internal DASH thumbnails. Using DASH-IF IOP Image Adaptation Set
300
289
  - Internal HLS thumbnails. Using HLS Image Media Playlist
290
+ - Internal HLS thumbnails. Using I-frame-only playlists with mjpg codec
301
291
  - External WebVTT with images/sprites (only for VoD)
302
292
 
303
293
 
294
+ ## Monetization with Ads
295
+
296
+ Shaka Player supports:
297
+ - IMA SDK for Client-Side Ad Insertion
298
+ - IMA DAI SDK for Server-Side Ad Insertion
299
+ - AWS MediaTailor for Client-Side
300
+ - AWS MediaTailor for Server-Side
301
+ - AWS MediaTailor overlays
302
+
303
+
304
+ ## Content Steering support
305
+ Shaka Player supports Content Steering (v1) in DASH.
306
+
307
+ Content Steering features supported:
308
+ - TTL, if missing, the default value is 300 seconds.
309
+ - RELOAD-URI, if missing we use the url provided in the manifest as fallback.
310
+ - PATHWAY-PRIORITY only HOST replacement
311
+
312
+ Content Steering features **not** supported:
313
+ - PATHWAY-CLONES other replacements than HOST.
314
+
315
+
304
316
  ## Documentation & Important Links ##
305
317
 
306
318
  * [Demo](https://shaka-player-demo.appspot.com)([sources](demo/))