shaka-player 3.3.4 → 4.0.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 (184) hide show
  1. package/.github/workflows/build-and-test.yaml +0 -1
  2. package/.github/workflows/demo-version-index.yaml +8 -0
  3. package/.github/workflows/release-please.yaml +23 -2
  4. package/.github/workflows/selenium-lab-tests.yaml +0 -1
  5. package/.github/workflows/sync-labels.yaml +33 -0
  6. package/.github/workflows/update-issues.yaml +29 -0
  7. package/.github/workflows/validate-pr-title.yaml +35 -0
  8. package/AUTHORS +1 -0
  9. package/CHANGELOG.md +198 -32
  10. package/CONTRIBUTORS +1 -0
  11. package/README.md +10 -7
  12. package/app-engine/demo-version-index/README.md +3 -3
  13. package/app-engine/demo-version-index/app.yaml +27 -1
  14. package/app-engine/demo-version-index/generate.py +164 -0
  15. package/app-engine/demo-version-index/main.py +4 -155
  16. package/app-engine/demo-version-index/requirements.txt +0 -1
  17. package/build/README.md +2 -2
  18. package/build/compiler.py +1 -1
  19. package/build/generateTsDefs.py +0 -2
  20. package/build/shaka-lab.yaml +0 -2
  21. package/build/test.py +7 -1
  22. package/build/types/core +0 -1
  23. package/build/types/polyfill +0 -3
  24. package/demo/common/asset.js +17 -1
  25. package/demo/common/assets.js +29 -0
  26. package/demo/common/message_ids.js +6 -3
  27. package/demo/config.js +10 -11
  28. package/demo/custom.js +39 -0
  29. package/demo/demo_utils.js +0 -1
  30. package/demo/locales/en.json +6 -3
  31. package/demo/locales/source.json +22 -10
  32. package/demo/main.js +9 -6
  33. package/demo/search.js +2 -1
  34. package/dist/controls.css +1 -1
  35. package/dist/demo.compiled.debug.js +71 -64
  36. package/dist/demo.compiled.debug.map +3 -3
  37. package/dist/demo.compiled.js +71 -64
  38. package/dist/demo.compiled.map +3 -3
  39. package/dist/demo.css +1 -1
  40. package/dist/demo.css.map +1 -1
  41. package/dist/deps.js +16 -20
  42. package/dist/locales.js +31 -29
  43. package/dist/receiver.compiled.debug.js +32 -28
  44. package/dist/receiver.compiled.debug.map +3 -3
  45. package/dist/receiver.compiled.js +32 -28
  46. package/dist/receiver.compiled.map +3 -3
  47. package/dist/shaka-player.compiled.d.ts +78 -83
  48. package/dist/shaka-player.compiled.debug.d.ts +78 -83
  49. package/dist/shaka-player.compiled.debug.externs.js +126 -126
  50. package/dist/shaka-player.compiled.debug.js +426 -483
  51. package/dist/shaka-player.compiled.debug.map +4 -4
  52. package/dist/shaka-player.compiled.externs.js +126 -126
  53. package/dist/shaka-player.compiled.js +838 -856
  54. package/dist/shaka-player.compiled.map +4 -4
  55. package/dist/shaka-player.ui.d.ts +80 -83
  56. package/dist/shaka-player.ui.debug.d.ts +80 -83
  57. package/dist/shaka-player.ui.debug.externs.js +134 -126
  58. package/dist/shaka-player.ui.debug.js +488 -543
  59. package/dist/shaka-player.ui.debug.map +4 -4
  60. package/dist/shaka-player.ui.externs.js +134 -126
  61. package/dist/shaka-player.ui.js +980 -994
  62. package/dist/shaka-player.ui.map +4 -4
  63. package/docs/tutorials/config.md +0 -2
  64. package/docs/tutorials/drm-config.md +5 -0
  65. package/docs/tutorials/fairplay.md +7 -22
  66. package/docs/tutorials/faq.md +0 -11
  67. package/docs/tutorials/index.json +2 -8
  68. package/docs/tutorials/plugins.md +1 -3
  69. package/docs/tutorials/upgrade.md +83 -11
  70. package/externs/polyfill.js +15 -0
  71. package/externs/shaka/manifest.js +5 -1
  72. package/externs/shaka/net.js +12 -0
  73. package/externs/shaka/offline.js +5 -1
  74. package/externs/shaka/player.js +39 -32
  75. package/externs/shaka/text.js +12 -12
  76. package/externs/sourcebuffer.js +15 -0
  77. package/lib/ads/client_side_ad.js +13 -2
  78. package/lib/ads/client_side_ad_manager.js +22 -4
  79. package/lib/cast/cast_utils.js +0 -1
  80. package/lib/dash/content_protection.js +85 -5
  81. package/lib/dash/dash_parser.js +1 -1
  82. package/lib/hls/hls_parser.js +378 -743
  83. package/lib/hls/manifest_text_parser.js +2 -3
  84. package/lib/media/drm_engine.js +102 -53
  85. package/lib/media/gap_jumping_controller.js +10 -45
  86. package/lib/media/media_source_engine.js +87 -15
  87. package/lib/media/playhead.js +2 -5
  88. package/lib/media/presentation_timeline.js +1 -2
  89. package/lib/media/segment_index.js +13 -46
  90. package/lib/media/segment_reference.js +47 -1
  91. package/lib/media/streaming_engine.js +29 -11
  92. package/lib/media/time_ranges_utils.js +4 -9
  93. package/lib/net/networking_engine.js +3 -0
  94. package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
  95. package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
  96. package/lib/offline/manifest_converter.js +1 -0
  97. package/lib/offline/storage.js +100 -132
  98. package/lib/player.js +17 -201
  99. package/lib/polyfill/media_capabilities.js +12 -6
  100. package/lib/polyfill/mediasource.js +0 -28
  101. package/lib/polyfill/patchedmediakeys_nop.js +2 -0
  102. package/lib/polyfill/patchedmediakeys_webkit.js +2 -0
  103. package/lib/text/cue.js +0 -6
  104. package/lib/text/lrc_text_parser.js +8 -0
  105. package/lib/text/mp4_ttml_parser.js +8 -0
  106. package/lib/text/mp4_vtt_parser.js +8 -0
  107. package/lib/text/sbv_text_parser.js +8 -0
  108. package/lib/text/simple_text_displayer.js +1 -7
  109. package/lib/text/srt_text_parser.js +8 -0
  110. package/lib/text/ssa_text_parser.js +8 -0
  111. package/lib/text/text_engine.js +19 -3
  112. package/lib/text/ttml_text_parser.js +8 -0
  113. package/lib/text/ui_text_displayer.js +1 -7
  114. package/lib/text/vtt_text_parser.js +24 -2
  115. package/lib/text/web_vtt_generator.js +1 -7
  116. package/lib/util/error.js +9 -13
  117. package/lib/util/fairplay_utils.js +109 -0
  118. package/lib/util/functional.js +0 -42
  119. package/lib/util/mime_utils.js +2 -0
  120. package/lib/util/platform.js +45 -0
  121. package/lib/util/player_configuration.js +12 -6
  122. package/lib/util/pssh.js +23 -4
  123. package/lib/util/stream_utils.js +92 -22
  124. package/lib/util/uint8array_utils.js +0 -16
  125. package/lib/util/xml_utils.js +1 -1
  126. package/package.json +1 -1
  127. package/roadmap.md +19 -19
  128. package/shaka-player.uncompiled.js +0 -3
  129. package/test/cast/cast_utils_unit.js +1 -0
  130. package/test/dash/dash_parser_content_protection_unit.js +44 -0
  131. package/test/dash/dash_parser_manifest_unit.js +0 -24
  132. package/test/dash/dash_parser_segment_template_unit.js +3 -4
  133. package/test/demo/demo_unit.js +2 -1
  134. package/test/hls/hls_live_unit.js +99 -220
  135. package/test/hls/hls_parser_unit.js +515 -432
  136. package/test/media/drm_engine_unit.js +86 -120
  137. package/test/media/media_source_engine_integration.js +26 -3
  138. package/test/media/media_source_engine_unit.js +7 -6
  139. package/test/media/playhead_unit.js +27 -191
  140. package/test/media/segment_index_unit.js +15 -25
  141. package/test/media/streaming_engine_integration.js +4 -39
  142. package/test/media/streaming_engine_unit.js +3 -2
  143. package/test/media/time_ranges_utils_unit.js +0 -5
  144. package/test/offline/manifest_convert_unit.js +34 -4
  145. package/test/offline/offline_manifest_parser_unit.js +1 -0
  146. package/test/offline/storage_integration.js +5 -4
  147. package/test/player_external.js +0 -6
  148. package/test/player_integration.js +16 -0
  149. package/test/player_unit.js +26 -0
  150. package/test/test/util/fake_media_source_engine.js +11 -4
  151. package/test/test/util/manifest_generator.js +3 -1
  152. package/test/test/util/manifest_parser_util.js +4 -1
  153. package/test/test/util/offline_utils.js +1 -0
  154. package/test/test/util/streaming_engine_util.js +1 -0
  155. package/test/test/util/test_scheme.js +24 -1
  156. package/test/test/util/util.js +4 -4
  157. package/test/text/cue_integration.js +2 -2
  158. package/test/text/lrc_text_parser_unit.js +6 -7
  159. package/test/text/mp4_ttml_parser_unit.js +6 -4
  160. package/test/text/mp4_vtt_parser_unit.js +6 -5
  161. package/test/text/sbv_text_parser_unit.js +5 -6
  162. package/test/text/srt_text_parser_unit.js +5 -6
  163. package/test/text/ssa_text_parser_unit.js +17 -29
  164. package/test/text/text_engine_unit.js +45 -5
  165. package/test/text/ttml_text_parser_unit.js +77 -77
  166. package/test/text/vtt_text_parser_unit.js +55 -57
  167. package/test/ui/ui_integration.js +0 -16
  168. package/test/ui/ui_unit.js +27 -0
  169. package/test/util/cmcd_manager_unit.js +3 -0
  170. package/test/util/stream_utils_unit.js +23 -7
  171. package/ui/controls.js +65 -40
  172. package/ui/fullscreen_button.js +26 -6
  173. package/ui/less/containers.less +3 -3
  174. package/ui/locales/en.json +1 -0
  175. package/ui/locales/source.json +5 -0
  176. package/ui/resolution_selection.js +31 -33
  177. package/ui/ui.js +0 -17
  178. package/docs/tutorials/upgrade-v2-5.md +0 -441
  179. package/docs/tutorials/upgrade-v3.md +0 -38
  180. package/lib/polyfill/mathround.js +0 -49
  181. package/lib/polyfill/patchedmediakeys_apple.js +0 -744
  182. package/lib/polyfill/patchedmediakeys_ms.js +0 -698
  183. package/lib/util/mutex.js +0 -52
  184. package/test/util/functional_unit.js +0 -82
@@ -111,7 +111,6 @@ jobs:
111
111
  python build/test.py \
112
112
  --browsers "$browser" \
113
113
  --reporters spec --spec-hide-passed \
114
- --drm \
115
114
  ${{ matrix.extra_flags }}
116
115
 
117
116
  build_in_docker:
@@ -9,12 +9,20 @@ on:
9
9
  paths:
10
10
  - .github/workflows/demo-version-index.yaml
11
11
  - app-engine/demo-version-index/**
12
+ release:
13
+ types: [published]
12
14
 
13
15
  jobs:
14
16
  appspot:
15
17
  runs-on: ubuntu-latest
16
18
  steps:
17
19
  - uses: actions/checkout@v2
20
+ with:
21
+ # We need a list of all tags for this, so fetch the entire history.
22
+ fetch-depth: 0
23
+
24
+ - name: Generate static content
25
+ run: python3 app-engine/demo-version-index/generate.py
18
26
 
19
27
  - uses: google-github-actions/auth@v0
20
28
  with:
@@ -17,8 +17,14 @@ jobs:
17
17
  - uses: google-github-actions/release-please-action@v3
18
18
  id: release
19
19
  with:
20
- # Required input to specify the release type (node package).
21
- release-type: node
20
+ # Without this command, the manifest file will be ignored. At least
21
+ # for our initial main-branch releases using this workflow, we must
22
+ # use the manifest and config file.
23
+ command: manifest
24
+ config-file: .release-please-config.json
25
+ manifest-file: .release-please-manifest.json
26
+ # Make sure the player version gets updated.
27
+ extra-files: lib/player.js
22
28
  # Make sure we create the PR against the correct branch.
23
29
  default-branch: ${{ github.ref_name }}
24
30
 
@@ -145,3 +151,18 @@ jobs:
145
151
  project_id: shaka-player-demo
146
152
  version: ${{ env.APPSPOT_SUBDOMAIN }}
147
153
  promote: ${{ env.APPSPOT_PROMOTE }}
154
+
155
+ auto-branch:
156
+ runs-on: ubuntu-latest
157
+ needs: release
158
+ if: needs.release.outputs.release_created && endsWith(needs.release.outputs.tag_name, '.0')
159
+ steps:
160
+ - uses: actions/checkout@v2
161
+ with:
162
+ fetch-depth: 0
163
+
164
+ - name: Create release branch
165
+ run: |
166
+ TAG=${{ needs.release.outputs.tag_name }}
167
+ BRANCH=$(echo "$TAG" | sed -e 's/\.0$/.x/')
168
+ git push origin HEAD:"$BRANCH"
@@ -76,7 +76,6 @@ jobs:
76
76
  run: |
77
77
  python3 build/test.py \
78
78
  --reporters spec --spec-hide-passed \
79
- --drm \
80
79
  --lets-encrypt-folder /etc/shakalab.rocks \
81
80
  --hostname karma.shakalab.rocks \
82
81
  --port 61731 \
@@ -0,0 +1,33 @@
1
+ # Install this in .github/workflows/ to automate label updates
2
+ name: Sync Labels
3
+
4
+ on:
5
+ workflow_dispatch:
6
+ # Allows for manual triggering.
7
+ inputs:
8
+ dry_run:
9
+ description: "If true, don't make any actual changes"
10
+ required: false
11
+ default: false
12
+ schedule:
13
+ # Run every week on Sunday at 5:42 AM.
14
+ - cron: '42 5 * * 0'
15
+
16
+ jobs:
17
+ sync-labels:
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - name: Checkout code
21
+ uses: actions/checkout@v2
22
+ with:
23
+ repository: shaka-project/shaka-github-tools
24
+
25
+ # TODO: revert to micnncim and new release after landing
26
+ # https://github.com/micnncim/action-label-syncer/pull/68
27
+ - uses: joeyparrish/action-label-syncer@v1.8.0
28
+ with:
29
+ dry_run: ${{ github.event.inputs.dry_run || false }}
30
+ prune: true
31
+ manifest: sync-labels/configs/${{ github.repository }}.yaml
32
+ repository: ${{ github.repository }}
33
+ token: ${{ github.token }}
@@ -0,0 +1,29 @@
1
+ # Install this in .github/workflows/ to automate issue maintenance.
2
+ name: Update Issues
3
+
4
+ on:
5
+ workflow_dispatch:
6
+ # Allows for manual triggering.
7
+ schedule:
8
+ # Run every 30 minutes
9
+ - cron: '*/30 * * * *'
10
+
11
+ permissions:
12
+ issues: write
13
+
14
+ jobs:
15
+ update-issues:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - name: Checkout code
19
+ uses: actions/checkout@v2
20
+ with:
21
+ repository: shaka-project/shaka-github-tools
22
+
23
+ - name: Update Issues
24
+ env:
25
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26
+ run: |
27
+ cd update-issues
28
+ npm ci
29
+ node main.js
@@ -0,0 +1,35 @@
1
+ name: Validate PR Title
2
+
3
+ # We recommend that maintainers use this Chrome/Firefox extension so that
4
+ # squashed PRs will have the merged commit message default to the PR title and
5
+ # description: https://github.com/zachwhaley/squashed-merge-message
6
+ #
7
+ # This avoids the need to amend commits after the fact to match the desired PR
8
+ # syntax. As long as the PR itself is properly-formatted, this extension will
9
+ # help you commit the right format to the repo, too. This, in turn, feeds the
10
+ # changelog and release workflows.
11
+
12
+ on:
13
+ # NOTE: The automated PRs from release-please-action do not seem to trigger
14
+ # any of the default PR triggers (opened, synchronize, reopened). So we need
15
+ # additional types. This is a good set that makes it easy to trigger the
16
+ # workflow manually if needed.
17
+ pull_request_target:
18
+ types:
19
+ - opened
20
+ - reopened
21
+ - edited
22
+ - synchronize
23
+ - assigned
24
+ - labeled
25
+ - ready_for_review
26
+ - review_requested
27
+
28
+ jobs:
29
+ main:
30
+ name: Validate PR Title
31
+ runs-on: ubuntu-latest
32
+ steps:
33
+ - uses: amannn/action-semantic-pull-request@v4
34
+ env:
35
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
package/AUTHORS CHANGED
@@ -67,6 +67,7 @@ Rostislav Hejduk <Ross-cz@users.noreply.github.com>
67
67
  SameGoal Inc. <*@samegoal.com>
68
68
  Sanborn Hilland <sanbornh@rogers.com>
69
69
  Sander Saares <sander@saares.eu>
70
+ Sanil Raut <sr1990003@gmail.com>
70
71
  Swank Motion Pictures Inc. <*@swankmp.com>
71
72
  TalkTalk Plc <*@talktalkplc.com>
72
73
  Tatsiana Gelahova <tatsiana.gelahova@gmail.com>
package/CHANGELOG.md CHANGED
@@ -1,40 +1,121 @@
1
1
  # Changelog
2
2
 
3
- ### [3.3.4](https://github.com/shaka-project/shaka-player/compare/v3.3.3...v3.3.4) (2022-04-26)
3
+ ## [4.0.0](https://github.com/shaka-project/shaka-player/compare/v3.3.0...v4.0.0) (2022-04-30)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * Remove small/large gap config, always jump gaps (#4125)
9
+ * **config:** `manifest.dash.defaultPresentationDelay` has been replaced by `manifest.defaultPresentationDelay` (deprecated in v3.0.0)
10
+ * **config:** Configuration of factories should be plain factory functions, not constructors; these will not be invoked with `new` (deprecated in v3.1.0)
11
+ * **player:** `shaka.Player.prototype.addTextTrack()` has been replaced by `addTextTrackAsync()`, which returns a `Promise` (deprecated in v3.1.0)
12
+ * **ui:** `shaka.ui.TrackLabelFormat` has been renamed to `shaka.ui.Overlay.TrackLabelFormat` (deprecated in v3.1.0)
13
+ * **ui:** `shaka.ui.FailReasonCode` has been renamed to `shaka.ui.Overlay.FailReasonCode` (deprecated in v3.1.0)
14
+ * **offline:** `shaka.offline.Storage.prototype.store()` returns `AbortableOperation` instead of `Promise` (deprecated in v3.0.0)
15
+ * **offline:** `shaka.offline.Storage.prototype.getStoreInProgress()` has been removed; concurrent operations are supported, so callers don't need to check this (deprecated in v3.0.0)
16
+ * `shaka.util.Uint8ArrayUtils.equal` has been replaced by `shaka.util.BufferUtils.equal`, which can handle multiple types of buffers (deprecated in v3.0.0)
17
+ * **manifest:** `shaka.media.SegmentIndex.prototype.destroy()` has been replaced by `release()`, which is synchronous (deprecated in v3.0.0)
18
+ * **manifest:** `shaka.media.SegmentIterator.prototype.seek()`, which mutates the iterator, has been replaced by `shaka.media.SegmentIndex.getIteratorForTime()` (deprecated in v3.1.0)
19
+ * **manifest:** `shaka.media.SegmentIndex.prototype.merge()` has become private; use `mergeAndEvict()` instead (deprecated in v3.2.0)
20
+ * **plugin:** `AbrManager` plugins must implement the `playbackRateChanged()` method (deprecated in v3.0.0)
21
+ * **plugin:** `shaka.extern.Cue.prototype.spacer` has been replaced by the more clearly-named `lineBreak` (deprecated in v3.1.0)
22
+ * **plugin:** `IUIElement` plugins must have a `release()` method (not `destroy()`) (deprecated in v3.0.0)
23
+ * Remove deprecated features, update upgrade guides (#4089)
24
+ * Remove support for Safari 12 and iOS 12 (#4112)
25
+ * **hls:** HLS disabled in old browsers/platforms due to incompatibilities (#3964)
26
+
27
+ ### Features
28
+
29
+ * `shaka.util.Uint8ArrayUtils.equal` has been replaced by `shaka.util.BufferUtils.equal`, which can handle multiple types of buffers (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
30
+ * Add Dockerfile and docker build instructions ([925de19](https://github.com/shaka-project/shaka-player/commit/925de1995eeb22863e8d4e92d720465834619288))
31
+ * add modern EME support for FairPlay ([#3776](https://github.com/shaka-project/shaka-player/issues/3776)) ([6d76a13](https://github.com/shaka-project/shaka-player/commit/6d76a135e5128dfd47653acea025d0a264d121d5))
32
+ * add new methods to FairPlayUtils ([#4029](https://github.com/shaka-project/shaka-player/issues/4029)) ([f1eeac1](https://github.com/shaka-project/shaka-player/commit/f1eeac1efb618aa7202b17b67c43056714f8da2f))
33
+ * add option for segment-relative VTT timings ([#4083](https://github.com/shaka-project/shaka-player/issues/4083)) ([f382cc7](https://github.com/shaka-project/shaka-player/commit/f382cc702be6cc28266fe61a33e43573cb22be57))
34
+ * Add separate audio and video MIME types to Track API ([#3892](https://github.com/shaka-project/shaka-player/issues/3892)) ([74c491d](https://github.com/shaka-project/shaka-player/commit/74c491d2e0042f62385813f04e74517cf00fcade)), closes [#3888](https://github.com/shaka-project/shaka-player/issues/3888)
35
+ * Allow WebP and AVIF image streams ([#3856](https://github.com/shaka-project/shaka-player/issues/3856)) ([9f3fb46](https://github.com/shaka-project/shaka-player/commit/9f3fb46d371d52f58bc9a7fc5beefe51890879ed)), closes [#3845](https://github.com/shaka-project/shaka-player/issues/3845)
36
+ * **config:** `manifest.dash.defaultPresentationDelay` has been replaced by `manifest.defaultPresentationDelay` (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
37
+ * **config:** Configuration of factories should be plain factory functions, not constructors; these will not be invoked with `new` (deprecated in v3.1.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
38
+ * **dash:** Construct ClearKey PSSH based on MPD ContentProtection ([#4104](https://github.com/shaka-project/shaka-player/issues/4104)) ([b83b412](https://github.com/shaka-project/shaka-player/commit/b83b4120f46ae94e3ce194f43b13517b7a736f07))
39
+ * **dash:** Parse ClearKey license URL in MPD ([#4066](https://github.com/shaka-project/shaka-player/issues/4066)) ([19e24b1](https://github.com/shaka-project/shaka-player/commit/19e24b1d741b4ba6946011748be8b759b4b71773))
40
+ * **demo:** Add Apple Advanced HLS Stream (TS) with raw AAC ([#3933](https://github.com/shaka-project/shaka-player/issues/3933)) ([1becadf](https://github.com/shaka-project/shaka-player/commit/1becadfc93ca06d64d0c9ace37c80213268a1675))
41
+ * **demo:** Added demo asset with raw AAC. ([014c7b3](https://github.com/shaka-project/shaka-player/commit/014c7b302b292a22f62d4e01230b927b33bc51da)), closes [#2337](https://github.com/shaka-project/shaka-player/issues/2337)
42
+ * **DRM:** add drmInfo to license requests ([#4030](https://github.com/shaka-project/shaka-player/issues/4030)) ([abe846e](https://github.com/shaka-project/shaka-player/commit/abe846e1a3456b029822ea42eb0520dec547fda6))
43
+ * **DRM:** add initData and initDataType to license requests ([#4039](https://github.com/shaka-project/shaka-player/issues/4039)) ([bdc5ea7](https://github.com/shaka-project/shaka-player/commit/bdc5ea767ebe55bb0b18dd106e269ab3fecd6d00))
44
+ * **HLS:** Containerless format support ([36d0b54](https://github.com/shaka-project/shaka-player/commit/36d0b5484fad68dc1d640fbddf2fae3e1eb7169b)), closes [#2337](https://github.com/shaka-project/shaka-player/issues/2337)
45
+ * **hls:** HLS disabled in old browsers/platforms due to incompatibilities ([#3964](https://github.com/shaka-project/shaka-player/issues/3964)) ([0daa00f](https://github.com/shaka-project/shaka-player/commit/0daa00fc7f074c1c86968ed0fcd84bc30254ee6d))
46
+ * **hls:** make a head request if hls subtitles have no extension ([#4140](https://github.com/shaka-project/shaka-player/issues/4140)) ([19e12b5](https://github.com/shaka-project/shaka-player/commit/19e12b5e282e661a9a17a6bfbb87c565faf2bc6e))
47
+ * **hls:** parse EXT-X-GAP ([#4134](https://github.com/shaka-project/shaka-player/issues/4134)) ([42eecc8](https://github.com/shaka-project/shaka-player/commit/42eecc84f992ca6a680c3a5fd46d1c300fe92a72))
48
+ * **HLS:** Re-add TS support to Safari ([#4097](https://github.com/shaka-project/shaka-player/issues/4097)) ([8a3bed7](https://github.com/shaka-project/shaka-player/commit/8a3bed710c104c9729fec2072318e50f9fe15ab2))
49
+ * **hls:** Read EXT-X-PROGRAM-DATE-TIME ([#4034](https://github.com/shaka-project/shaka-player/issues/4034)) ([89409ce](https://github.com/shaka-project/shaka-player/commit/89409cee3eaeb6764dbc191b7408bf45eecdced3)), closes [#2337](https://github.com/shaka-project/shaka-player/issues/2337)
50
+ * **manifest:** `shaka.media.SegmentIndex.prototype.destroy()` has been replaced by `release()`, which is synchronous (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
51
+ * **manifest:** `shaka.media.SegmentIndex.prototype.merge()` has become private; use `mergeAndEvict()` instead (deprecated in v3.2.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
52
+ * **manifest:** `shaka.media.SegmentIterator.prototype.seek()`, which mutates the iterator, has been replaced by `shaka.media.SegmentIndex.getIteratorForTime()` (deprecated in v3.1.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
53
+ * **offline:** `shaka.offline.Storage.prototype.getStoreInProgress()` has been removed; concurrent operations are supported, so callers don't need to check this (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
54
+ * **offline:** `shaka.offline.Storage.prototype.store()` returns `AbortableOperation` instead of `Promise` (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
55
+ * **offline:** improve the speed of offline downloads ([#4168](https://github.com/shaka-project/shaka-player/issues/4168)) ([73f6de3](https://github.com/shaka-project/shaka-player/commit/73f6de3e01ae4ed3b86302add7ee16c86c3b9b78))
56
+ * only polyfill MCap for non Android-based Cast devices. ([#4170](https://github.com/shaka-project/shaka-player/issues/4170)) ([11321d8](https://github.com/shaka-project/shaka-player/commit/11321d8f26b01412fa5173aa6efcf777186fa7a0))
57
+ * **player:** `shaka.Player.prototype.addTextTrack()` has been replaced by `addTextTrackAsync()`, which returns a `Promise` (deprecated in v3.1.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
58
+ * **plugin:** `AbrManager` plugins must implement the `playbackRateChanged()` method (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
59
+ * **plugin:** `IUIElement` plugins must have a `release()` method (not `destroy()`) (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
60
+ * **plugin:** `shaka.extern.Cue.prototype.spacer` has been replaced by the more clearly-named `lineBreak` (deprecated in v3.1.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
61
+ * Public release of Sindarin (sjn) translation easter egg ([#4033](https://github.com/shaka-project/shaka-player/issues/4033)) ([9029d06](https://github.com/shaka-project/shaka-player/commit/9029d0677e0e0325e0dbe939907ba60ecec74c92))
62
+ * Remove deprecated features, update upgrade guides ([#4089](https://github.com/shaka-project/shaka-player/issues/4089)) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
63
+ * Remove small/large gap config, always jump gaps ([#4125](https://github.com/shaka-project/shaka-player/issues/4125)) ([0fd1999](https://github.com/shaka-project/shaka-player/commit/0fd19997dde7b03bad7464a82dc86d7b2cd8a304))
64
+ * Remove support for Safari 12 and iOS 12 ([#4112](https://github.com/shaka-project/shaka-player/issues/4112)) ([8bb7044](https://github.com/shaka-project/shaka-player/commit/8bb70449d33c31a0e7fc312260dc001cc9e3a792))
65
+ * **ui:** `shaka.ui.FailReasonCode` has been renamed to `shaka.ui.Overlay.FailReasonCode` (deprecated in v3.1.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
66
+ * **ui:** `shaka.ui.TrackLabelFormat` has been renamed to `shaka.ui.Overlay.TrackLabelFormat` (deprecated in v3.1.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
67
+ * **ui:** Add quality selection for audio-only content ([#3649](https://github.com/shaka-project/shaka-player/issues/3649)) ([adc3502](https://github.com/shaka-project/shaka-player/commit/adc3502d55f39eaca30f3c42e17961ec7d681c80)), closes [#2071](https://github.com/shaka-project/shaka-player/issues/2071)
68
+ * **UI:** Add video fullscreen support for iOS ([#3853](https://github.com/shaka-project/shaka-player/issues/3853)) ([8d1b5e6](https://github.com/shaka-project/shaka-player/commit/8d1b5e6b07e979bd641da0b2b53c5f8e872422ad)), closes [#3832](https://github.com/shaka-project/shaka-player/issues/3832)
4
69
 
5
70
 
6
71
  ### Bug Fixes
7
72
 
8
- * Add missing module export in generated typescript defs ([#4163](https://github.com/shaka-project/shaka-player/issues/4163)) ([164e601](https://github.com/shaka-project/shaka-player/commit/164e60184ac9842451d91e123c35367892f82c46))
9
- * **css:** Fix missing % in calculation ([#4157](https://github.com/shaka-project/shaka-player/issues/4157)) ([ee8404f](https://github.com/shaka-project/shaka-player/commit/ee8404f24ba8855a72d3f412b4a4667eb988fb56))
10
- * **css:** Fix missing calc() statements ([#4156](https://github.com/shaka-project/shaka-player/issues/4156)) ([002d5eb](https://github.com/shaka-project/shaka-player/commit/002d5ebd3d4771a082300d8987fbd019d40f9b68)), closes [#4155](https://github.com/shaka-project/shaka-player/issues/4155)
11
-
12
- ### [3.3.3](https://github.com/shaka-project/shaka-player/compare/v3.3.2...v3.3.3) (2022-04-25)
13
-
14
-
15
- ### Bug Fixes
16
-
17
- * **cea:** make a more robust CEA MP4 parser ([#3965](https://github.com/shaka-project/shaka-player/issues/3965)) ([7281e0f](https://github.com/shaka-project/shaka-player/commit/7281e0f229bcc004b64ad3b899ad16131541036b))
18
- * **cmcd:** Fix Symbol usage in CMCD on Xbox One ([#4073](https://github.com/shaka-project/shaka-player/issues/4073)) ([c638b4f](https://github.com/shaka-project/shaka-player/commit/c638b4fe882da5b0331ec0ad3ba3648fa63cb786)), closes [#4072](https://github.com/shaka-project/shaka-player/issues/4072)
19
- * **dash:** Account for bandwidth before filtering text stream ([#3765](https://github.com/shaka-project/shaka-player/issues/3765)) ([edd58fc](https://github.com/shaka-project/shaka-player/commit/edd58fc9a5e0461d69fed635433fc7d0ea7e31ee)), closes [#3724](https://github.com/shaka-project/shaka-player/issues/3724)
20
- * **dash:** Fix performance regression ([#4064](https://github.com/shaka-project/shaka-player/issues/4064)) ([bfac645](https://github.com/shaka-project/shaka-player/commit/bfac645e589190d002f91a57b68941ab68584941))
21
- * Fix exceptions when quickly shutting down src= on Safari ([#4088](https://github.com/shaka-project/shaka-player/issues/4088)) ([2e10748](https://github.com/shaka-project/shaka-player/commit/2e107484e3975f17b9d9a99f6074b804aab05f04)), closes [#4087](https://github.com/shaka-project/shaka-player/issues/4087)
22
- * Fix playRangeEnd for certain content ([#4068](https://github.com/shaka-project/shaka-player/issues/4068)) ([11f998d](https://github.com/shaka-project/shaka-player/commit/11f998d97254a1b9ca27b2a461bf850db2c76eaa)), closes [#4026](https://github.com/shaka-project/shaka-player/issues/4026)
23
- * **performance:** Eliminate use of ES6 generators ([#4092](https://github.com/shaka-project/shaka-player/issues/4092)) ([5bb5502](https://github.com/shaka-project/shaka-player/commit/5bb5502a194154c6277ac7fb48addd314c37ebdb)), closes [#4062](https://github.com/shaka-project/shaka-player/issues/4062)
24
- * Select first of identical audio streams ([#3869](https://github.com/shaka-project/shaka-player/issues/3869)) ([603fdc1](https://github.com/shaka-project/shaka-player/commit/603fdc16014fad6a0cde520675b4c2359877c62b))
25
- * **ttml:** Center subtitles by default ([#4023](https://github.com/shaka-project/shaka-player/issues/4023)) ([02604ab](https://github.com/shaka-project/shaka-player/commit/02604abb3d831d33cbe14f6b8a7808e29f419cbf))
26
- * **UI:** Add cursor pointer to range elements ([#4059](https://github.com/shaka-project/shaka-player/issues/4059)) ([2ca947e](https://github.com/shaka-project/shaka-player/commit/2ca947ecad3ca208a379185e916cef7189b605bf)), closes [#3220](https://github.com/shaka-project/shaka-player/issues/3220)
27
-
28
- ## [3.3.2](https://github.com/shaka-project/shaka-player/compare/v3.3.1...v3.3.2) (2022-02-16)
29
-
30
-
31
- ### Bug Fixes
32
-
33
- * Add explicit release() for FakeEventTarget ([#3950](https://github.com/shaka-project/shaka-player/issues/3950)) ([1f9dd98](https://github.com/shaka-project/shaka-player/commit/1f9dd9856eb21079ca789b2c8f7e461438cb13de))
34
- * Fix download of some HLS assets ([#3934](https://github.com/shaka-project/shaka-player/issues/3934)) ([449065c](https://github.com/shaka-project/shaka-player/commit/449065c84c5b6e4bbceba03c2345a3330ac2d1a7))
35
- * Fix exception in StreamingEngine for EMSG with HLS ([#3887](https://github.com/shaka-project/shaka-player/issues/3887)) ([ca1ca33](https://github.com/shaka-project/shaka-player/commit/ca1ca33c3caf1787c52713ccb151ea59a9285649)), closes [#3886](https://github.com/shaka-project/shaka-player/issues/3886)
36
- * Fix memory leak in DASH live streams with inband EventStream ([#3957](https://github.com/shaka-project/shaka-player/issues/3957)) ([6eb81da](https://github.com/shaka-project/shaka-player/commit/6eb81dae36a9cced95bd99f5356b69205c264ee0))
37
- * **HLS:** skip whitespace in attributes ([#3884](https://github.com/shaka-project/shaka-player/issues/3884)) ([6305555](https://github.com/shaka-project/shaka-player/commit/6305555d40ca0e8be1604fc1f07dd34112b62530))
73
+ * Add explicit release() for FakeEventTarget ([#3950](https://github.com/shaka-project/shaka-player/issues/3950)) ([f1c1585](https://github.com/shaka-project/shaka-player/commit/f1c1585afb2cfa3eb6b7465c8b32c9bad8e62d15))
74
+ * Add missing module export in generated typescript defs ([feefd7b](https://github.com/shaka-project/shaka-player/commit/feefd7b7d1cc318800c8d83de8cce81c57939f7d))
75
+ * Avoid WebCrypto randomUUID when CMCD disabled ([4731c76](https://github.com/shaka-project/shaka-player/commit/4731c7677f4f179f19ae647d3bb1edfda40dac53))
76
+ * **cea:** make a more robust CEA MP4 parser ([#3965](https://github.com/shaka-project/shaka-player/issues/3965)) ([2687b95](https://github.com/shaka-project/shaka-player/commit/2687b95d5830179c53914a7e903ecfbaced429cc))
77
+ * Clear buffer on seek if mediaState is updating ([#3795](https://github.com/shaka-project/shaka-player/issues/3795)) ([9705639](https://github.com/shaka-project/shaka-player/commit/9705639f4514d8d2dbfe5d81a31388f99e6be507)), closes [#3299](https://github.com/shaka-project/shaka-player/issues/3299)
78
+ * **cmcd:** Fix Symbol usage in CMCD on Xbox One ([#4073](https://github.com/shaka-project/shaka-player/issues/4073)) ([4005754](https://github.com/shaka-project/shaka-player/commit/400575498f34cf252aaba0bc1367953b8cf44537)), closes [#4072](https://github.com/shaka-project/shaka-player/issues/4072)
79
+ * **css:** Fix missing % in calculation ([#4157](https://github.com/shaka-project/shaka-player/issues/4157)) ([1c86195](https://github.com/shaka-project/shaka-player/commit/1c8619582319c46c524807aa4bdff1191b2efc91))
80
+ * **dash:** Account for bandwidth before filtering text stream ([#3765](https://github.com/shaka-project/shaka-player/issues/3765)) ([0b04aec](https://github.com/shaka-project/shaka-player/commit/0b04aecdd7ad4184a72b8cf562318b28128344bf)), closes [#3724](https://github.com/shaka-project/shaka-player/issues/3724)
81
+ * **dash:** Fix performance regression ([#4064](https://github.com/shaka-project/shaka-player/issues/4064)) ([298b604](https://github.com/shaka-project/shaka-player/commit/298b60481d34bd9d776874fe1b9a8eea05b533d9))
82
+ * **dash:** Fix playback of Dolby Atmos ([#4173](https://github.com/shaka-project/shaka-player/issues/4173)) ([d51fe23](https://github.com/shaka-project/shaka-player/commit/d51fe23b7fab99501818c18cc76586e1ec4abcdd)), closes [#4171](https://github.com/shaka-project/shaka-player/issues/4171)
83
+ * Fix broken deps file generation on Windows ([#4086](https://github.com/shaka-project/shaka-player/issues/4086)) ([9660ce8](https://github.com/shaka-project/shaka-player/commit/9660ce85df48856b964eebc330c28beba2e3068a)), closes [#4085](https://github.com/shaka-project/shaka-player/issues/4085)
84
+ * Fix CMCD property mangling ([#3842](https://github.com/shaka-project/shaka-player/issues/3842)) ([fa5932c](https://github.com/shaka-project/shaka-player/commit/fa5932ca8f604952590734bf8bdc27ad8e69e8d8)), closes [#3839](https://github.com/shaka-project/shaka-player/issues/3839)
85
+ * Fix CMCD top bitrate reporting ([#3852](https://github.com/shaka-project/shaka-player/issues/3852)) ([922778a](https://github.com/shaka-project/shaka-player/commit/922778a5ebd2d58ca0c1e804745ca40cda1228bc)), closes [#3851](https://github.com/shaka-project/shaka-player/issues/3851)
86
+ * Fix compiler error introduced in [#3864](https://github.com/shaka-project/shaka-player/issues/3864) ([#3906](https://github.com/shaka-project/shaka-player/issues/3906)) ([0635e2c](https://github.com/shaka-project/shaka-player/commit/0635e2c055c13a405048c7696389c1dfc039902f))
87
+ * Fix download of some HLS assets ([#3934](https://github.com/shaka-project/shaka-player/issues/3934)) ([36ca820](https://github.com/shaka-project/shaka-player/commit/36ca820877965db8bcc8b9c4b2a428317301bb95))
88
+ * Fix duplicate CMCD parameters in HLS live content ([#3875](https://github.com/shaka-project/shaka-player/issues/3875)) ([f27401c](https://github.com/shaka-project/shaka-player/commit/f27401cc151a435ae8fb12be4e86d672c331e1e5)), closes [#3862](https://github.com/shaka-project/shaka-player/issues/3862)
89
+ * Fix encryption detection to work around broken platforms ([#4169](https://github.com/shaka-project/shaka-player/issues/4169)) ([c5f474e](https://github.com/shaka-project/shaka-player/commit/c5f474ef983169e6ff29f1594d15a9b50b12d316))
90
+ * Fix exception in StreamingEngine for EMSG with HLS ([#3887](https://github.com/shaka-project/shaka-player/issues/3887)) ([48433ab](https://github.com/shaka-project/shaka-player/commit/48433abe74c5f603cf06097e391ffdfa22d64256)), closes [#3886](https://github.com/shaka-project/shaka-player/issues/3886)
91
+ * Fix exceptions when quickly shutting down src= on Safari ([#4088](https://github.com/shaka-project/shaka-player/issues/4088)) ([ca08230](https://github.com/shaka-project/shaka-player/commit/ca08230fbe85d66176c7fa1fb4f9782d0ab364fc)), closes [#4087](https://github.com/shaka-project/shaka-player/issues/4087)
92
+ * Fix MediaCapabilities polyfill on Safari ([0201f2b](https://github.com/shaka-project/shaka-player/commit/0201f2b7604e76062b68b8b1acbf098faf71d019)), closes [#3696](https://github.com/shaka-project/shaka-player/issues/3696) [#3530](https://github.com/shaka-project/shaka-player/issues/3530)
93
+ * Fix memory leak in DASH live streams with inband EventStream ([#3957](https://github.com/shaka-project/shaka-player/issues/3957)) ([b7f04cb](https://github.com/shaka-project/shaka-player/commit/b7f04cb36bda664ec9cf23a081d237793907eaae))
94
+ * Fix misdetection of HEVC support on MS Edge ([#3897](https://github.com/shaka-project/shaka-player/issues/3897)) ([dfb3699](https://github.com/shaka-project/shaka-player/commit/dfb369935b9e84fe69a7d38c7904fb0e00dc064a)), closes [#3860](https://github.com/shaka-project/shaka-player/issues/3860)
95
+ * Fix missing throughput in CMCD for HLS live ([#3874](https://github.com/shaka-project/shaka-player/issues/3874)) ([df55944](https://github.com/shaka-project/shaka-player/commit/df55944e8f49bdf8e34a679219cd6596ba46c777)), closes [#3873](https://github.com/shaka-project/shaka-player/issues/3873)
96
+ * Fix playback failure due to rounding errors ([1cc99c1](https://github.com/shaka-project/shaka-player/commit/1cc99c1241c89b5fb5a989dd52ff0b9a9753b65f)), closes [#3717](https://github.com/shaka-project/shaka-player/issues/3717)
97
+ * Fix playRangeEnd for certain content ([#4068](https://github.com/shaka-project/shaka-player/issues/4068)) ([5c81f3b](https://github.com/shaka-project/shaka-player/commit/5c81f3bddb9e48431556f4d622364043fee4ea80)), closes [#4026](https://github.com/shaka-project/shaka-player/issues/4026)
98
+ * Fix support for TTAF1 namespace (old version of TTML) ([#3864](https://github.com/shaka-project/shaka-player/issues/3864)) ([771619f](https://github.com/shaka-project/shaka-player/commit/771619ff0ef8ba0e3da9569ded3894b428d03c58)), closes [#3009](https://github.com/shaka-project/shaka-player/issues/3009)
99
+ * Fix usage of Shaka without polyfills ([dfc44cb](https://github.com/shaka-project/shaka-player/commit/dfc44cbca6b95eb137882075cb8bf02cfc73a9d3))
100
+ * **hls:** Fixed buffering issue with live HLS ([#4002](https://github.com/shaka-project/shaka-player/issues/4002)) ([c438e85](https://github.com/shaka-project/shaka-player/commit/c438e857f2f122eb45899148e067d68ffec3477c))
101
+ * **HLS:** skip whitespace in attributes ([#3884](https://github.com/shaka-project/shaka-player/issues/3884)) ([ea6c02a](https://github.com/shaka-project/shaka-player/commit/ea6c02aece1510598a898c235e66335d20eabedb))
102
+ * **hls:** Support playing media playlists directly ([#4080](https://github.com/shaka-project/shaka-player/issues/4080)) ([48dd205](https://github.com/shaka-project/shaka-player/commit/48dd20562c2226f61cc753a922629e44c1866f6d)), closes [#3536](https://github.com/shaka-project/shaka-player/issues/3536)
103
+ * **image:** Fix HLS image track issues ([264c842](https://github.com/shaka-project/shaka-player/commit/264c84249684ee809f53fd4117f9aab4e0a599ac)), closes [#3840](https://github.com/shaka-project/shaka-player/issues/3840)
104
+ * **image:** Fix thumbnails issues ([#3858](https://github.com/shaka-project/shaka-player/issues/3858)) ([087a9b4](https://github.com/shaka-project/shaka-player/commit/087a9b489b030aa0dc80011ca4e0a0c7a4124ecd))
105
+ * **offline:** Clean up orphaned segments on abort ([#4177](https://github.com/shaka-project/shaka-player/issues/4177)) ([c07447f](https://github.com/shaka-project/shaka-player/commit/c07447f00e9095020890366695561b71b045e55a))
106
+ * **offline:** Speed up offline storage by ~87% ([#4176](https://github.com/shaka-project/shaka-player/issues/4176)) ([c1c9613](https://github.com/shaka-project/shaka-player/commit/c1c96135120480afc9615713812eecc4a51f153b)), closes [#4166](https://github.com/shaka-project/shaka-player/issues/4166)
107
+ * **performance:** Eliminate use of ES6 generators ([#4092](https://github.com/shaka-project/shaka-player/issues/4092)) ([57c7324](https://github.com/shaka-project/shaka-player/commit/57c73241a0e8ce1615f7b3aca4c3ad8f69b7e8c2)), closes [#4062](https://github.com/shaka-project/shaka-player/issues/4062)
108
+ * Revert "Add missing module export in generated typescript defs" ([#4175](https://github.com/shaka-project/shaka-player/issues/4175)) ([fe4f5c6](https://github.com/shaka-project/shaka-player/commit/fe4f5c6e19214d6cf4d42da9430de03040532bab)), closes [#4167](https://github.com/shaka-project/shaka-player/issues/4167)
109
+ * Select first of identical audio streams ([#3869](https://github.com/shaka-project/shaka-player/issues/3869)) ([a6d8610](https://github.com/shaka-project/shaka-player/commit/a6d8610241dc7c8abd56cf7f0d48993d6139dcae))
110
+ * Support multiple chapter tracks with same language ([#3868](https://github.com/shaka-project/shaka-player/issues/3868)) ([8c626ae](https://github.com/shaka-project/shaka-player/commit/8c626aec238c01ebad7ccd06c9313e4f2e99d383)), closes [#3597](https://github.com/shaka-project/shaka-player/issues/3597)
111
+ * **text:** Fix caption overlap. ([bf67d87](https://github.com/shaka-project/shaka-player/commit/bf67d87387b1dfc4d3d8e0661bfe4efb1e4083b2)), closes [#3850](https://github.com/shaka-project/shaka-player/issues/3850) [#3741](https://github.com/shaka-project/shaka-player/issues/3741)
112
+ * **text:** Fix webvtt offset in sequence mode ([#3955](https://github.com/shaka-project/shaka-player/issues/3955)) ([a4e9267](https://github.com/shaka-project/shaka-player/commit/a4e926772e1b754fe968ee6f97490f08a40fe535)), closes [#2337](https://github.com/shaka-project/shaka-player/issues/2337)
113
+ * **text:** Inherit alignment from regions. ([e9df8fb](https://github.com/shaka-project/shaka-player/commit/e9df8fb10c3752cb833e89c8ac793241497e29b6))
114
+ * **text:** Made nested cues inherit region ([#3837](https://github.com/shaka-project/shaka-player/issues/3837)) ([3ff48cb](https://github.com/shaka-project/shaka-player/commit/3ff48cba9b28a29e8decc11898e326d7918bc8f4)), closes [#3743](https://github.com/shaka-project/shaka-player/issues/3743)
115
+ * **text:** Remove caption wrapper bgColor ([#3838](https://github.com/shaka-project/shaka-player/issues/3838)) ([0117441](https://github.com/shaka-project/shaka-player/commit/0117441bb06e0325b84666d2a5a76c0c2de81725)), closes [#3745](https://github.com/shaka-project/shaka-player/issues/3745)
116
+ * **ttml:** Center subtitles by default ([#4023](https://github.com/shaka-project/shaka-player/issues/4023)) ([f2f24d5](https://github.com/shaka-project/shaka-player/commit/f2f24d528f71e59c81d6172c24da2f412ca18d70))
117
+ * **UI:** Add cursor pointer to range elements ([#4059](https://github.com/shaka-project/shaka-player/issues/4059)) ([33e8400](https://github.com/shaka-project/shaka-player/commit/33e84009dc9f6d48884ecfc2f66eeb285f60d05a)), closes [#3220](https://github.com/shaka-project/shaka-player/issues/3220)
118
+ * **UI:** Fix text UI not updating when text is disabled ([#3867](https://github.com/shaka-project/shaka-player/issues/3867)) ([9f53d39](https://github.com/shaka-project/shaka-player/commit/9f53d394279066f29a2d391b6964cba11c4a3e1e)), closes [#3728](https://github.com/shaka-project/shaka-player/issues/3728)
38
119
 
39
120
  ## 3.3.1 (2022-01-28)
40
121
 
@@ -90,6 +171,91 @@ Bugfixes:
90
171
  - Avoid WebCrypto randomUUID when CMCD disabled
91
172
 
92
173
 
174
+ ## 3.2.3 (2022-01-28)
175
+
176
+ Bugfixes:
177
+ - Fix support for TTAF1 namespace (old version of TTML)
178
+ - https://github.com/shaka-project/shaka-player/issues/3009
179
+ - https://github.com/shaka-project/shaka-player/pull/3864
180
+ - https://github.com/shaka-project/shaka-player/pull/3906
181
+ - Fix misdetection of HEVC support on MS Edge
182
+ - https://github.com/shaka-project/shaka-player/pull/3897
183
+ - Fix caption overlap
184
+ - https://github.com/shaka-project/shaka-player/issues/3850
185
+ - https://github.com/shaka-project/shaka-player/issues/3741
186
+ - Support multiple chapter tracks with same language
187
+ - https://github.com/shaka-project/shaka-player/issues/3597
188
+ - https://github.com/shaka-project/shaka-player/pull/3868
189
+ - Fix text UI not updating when text is disabled
190
+ - https://github.com/shaka-project/shaka-player/issues/3728
191
+ - https://github.com/shaka-project/shaka-player/pull/3867
192
+ - Clear buffer on seek if mediaState is updating
193
+ - https://github.com/shaka-project/shaka-player/issues/3299
194
+ - https://github.com/shaka-project/shaka-player/pull/3795
195
+ - Fix thumbnails issues
196
+ - https://github.com/shaka-project/shaka-player/pull/3858
197
+ - Made nested cues inherit region
198
+ - https://github.com/shaka-project/shaka-player/issues/3743
199
+ - https://github.com/shaka-project/shaka-player/pull/3837
200
+ - Fix MediaCapabilities polyfill on Safari
201
+ - https://github.com/shaka-project/shaka-player/issues/3696
202
+ - https://github.com/shaka-project/shaka-player/issues/3530
203
+ - Fix usage of Shaka without polyfills
204
+ - https://github.com/shaka-project/shaka-player/issues/3843
205
+ - Fix playback failure due to rounding errors
206
+ - https://github.com/shaka-project/shaka-player/issues/3717
207
+ - Fix HLS image track issues
208
+ - https://github.com/shaka-project/shaka-player/issues/3840
209
+ - Remove caption wrapper bgColor
210
+ - https://github.com/shaka-project/shaka-player/issues/3745
211
+ - https://github.com/shaka-project/shaka-player/pull/3838
212
+ - Support "forced-subtitle" role
213
+ - https://github.com/shaka-project/shaka-player/issues/3767
214
+ - https://github.com/shaka-project/shaka-player/pull/3807
215
+ - Fix time element height on Safari
216
+ - https://github.com/shaka-project/shaka-player/issues/3739
217
+ - https://github.com/shaka-project/shaka-player/pull/3809
218
+
219
+
220
+ ## 3.1.5 (2022-01-28)
221
+
222
+ Bugfixes:
223
+ - Fix support for TTAF1 namespace (old version of TTML)
224
+ - https://github.com/shaka-project/shaka-player/issues/3009
225
+ - https://github.com/shaka-project/shaka-player/pull/3864
226
+ - https://github.com/shaka-project/shaka-player/pull/3906
227
+ - Fix misdetection of HEVC support on MS Edge
228
+ - https://github.com/shaka-project/shaka-player/pull/3897
229
+ - Fix caption overlap
230
+ - https://github.com/shaka-project/shaka-player/issues/3850
231
+ - https://github.com/shaka-project/shaka-player/issues/3741
232
+ - Fix text UI not updating when text is disabled
233
+ - https://github.com/shaka-project/shaka-player/issues/3728
234
+ - https://github.com/shaka-project/shaka-player/pull/3867
235
+ - Clear buffer on seek if mediaState is updating
236
+ - https://github.com/shaka-project/shaka-player/issues/3299
237
+ - https://github.com/shaka-project/shaka-player/pull/3795
238
+ - Made nested cues inherit region
239
+ - https://github.com/shaka-project/shaka-player/issues/3743
240
+ - https://github.com/shaka-project/shaka-player/pull/3837
241
+ - Fix MediaCapabilities polyfill on Safari
242
+ - https://github.com/shaka-project/shaka-player/issues/3696
243
+ - https://github.com/shaka-project/shaka-player/issues/3530
244
+ - Fix usage of Shaka without polyfills
245
+ - https://github.com/shaka-project/shaka-player/issues/3843
246
+ - Fix playback failure due to rounding errors
247
+ - https://github.com/shaka-project/shaka-player/issues/3717
248
+ - Remove caption wrapper bgColor
249
+ - https://github.com/shaka-project/shaka-player/issues/3745
250
+ - https://github.com/shaka-project/shaka-player/pull/3838
251
+ - Support "forced-subtitle" role
252
+ - https://github.com/shaka-project/shaka-player/issues/3767
253
+ - https://github.com/shaka-project/shaka-player/pull/3807
254
+ - Fix time element height on Safari
255
+ - https://github.com/shaka-project/shaka-player/issues/3739
256
+ - https://github.com/shaka-project/shaka-player/pull/3809
257
+
258
+
93
259
  ## 3.3.0 (2022-01-07)
94
260
 
95
261
  New Features:
@@ -2203,7 +2369,7 @@ Demo App:
2203
2369
 
2204
2370
  Docs:
2205
2371
  - Add a public roadmap document
2206
- - https://github.com/shaka-project/shaka-player/blob/master/roadmap.md
2372
+ - https://github.com/shaka-project/shaka-player/blob/main/roadmap.md
2207
2373
 
2208
2374
 
2209
2375
  ## 2.5.1 (2019-05-20)
package/CONTRIBUTORS CHANGED
@@ -97,6 +97,7 @@ Sam Dutton <dutton@google.com>
97
97
  Sanborn Hilland <sanbornh@rogers.com>
98
98
  Sander Saares <sander@saares.eu>
99
99
  Sandra Lokshina <ismena@google.com>
100
+ Sanil Raut <sr1990003@gmail.com>
100
101
  Satheesh Velmurugan <satheesh@philo.com>
101
102
  Semih Gokceoglu <semih.gkcoglu@gmail.com>
102
103
  Seth Madison <seth@philo.com>
package/README.md CHANGED
@@ -26,7 +26,7 @@ For details on what's coming next, see our [development roadmap](roadmap.md).
26
26
 
27
27
  ## Platform and browser support matrix
28
28
 
29
- |Browser |Windows |Mac |Linux |Android |iOS >= 12 |ChromeOS|Other|
29
+ |Browser |Windows |Mac |Linux |Android |iOS >= 13 |ChromeOS|Other|
30
30
  |:---------:|:--------:|:-------:|:-------:|:-------:|:--------:|:------:|:---:|
31
31
  |Chrome¹ |**Y** |**Y** |**Y** |**Y** |**Native**|**Y** | - |
32
32
  |Firefox¹ |**Y** |**Y** |**Y** |untested⁵|**Native**| - | - |
@@ -41,7 +41,7 @@ For details on what's coming next, see our [development roadmap](roadmap.md).
41
41
  |Xbox One | - | - | - | - | - | - |**Y**|
42
42
 
43
43
  NOTES:
44
- - ¹: On macOS, only Safari 12+ is supported. On iOS, only iOS 12+ is
44
+ - ¹: On macOS, only Safari 13+ is supported. On iOS, only iOS 13+ is
45
45
  supported. Older versions will be rejected.
46
46
  - ²: The latest stable Chromecast firmware is tested. Both sender and receiver
47
47
  can be implemented with Shaka Player.
@@ -54,7 +54,7 @@ NOTES:
54
54
  - Official support for LG WebOS TV:
55
55
  https://github.com/shaka-project/shaka-player/issues/1330
56
56
 
57
- We support iOS 12+ through Apple's native HLS player. We provide the same
57
+ We support iOS 13+ through Apple's native HLS player. We provide the same
58
58
  top-level API, but we just set the video's `src` element to the manifest/media.
59
59
  So we are dependent on the browser supporting the manifests.
60
60
 
@@ -112,6 +112,8 @@ DASH features **not** supported:
112
112
 
113
113
  ## HLS features
114
114
 
115
+ **Only supported on browsers with SourceBuffer.mode=sequence support**
116
+
115
117
  HLS features supported:
116
118
  - VOD, Live, and Event types
117
119
  - Low-latency streaming with partial segments, preload hints, and delta updates
@@ -122,13 +124,12 @@ HLS features supported:
122
124
  - WebVTT and TTML
123
125
  - CEA-608/708 captions
124
126
  - Encrypted content with PlayReady and Widevine
125
- - Encrypted content with FairPlay (Safari on macOS and iOS 12+ only)
127
+ - Encrypted content with FairPlay (Safari on macOS and iOS 13+ only)
128
+ - Raw AAC, MP3, etc (without an MP4 container)
126
129
 
127
130
  HLS features **not** supported:
128
131
  - Key rotation: https://github.com/shaka-project/shaka-player/issues/917
129
132
  - I-frame-only playlists: https://github.com/shaka-project/shaka-player/issues/742
130
- - Raw AAC, MP3, etc (without an MP4 container):
131
- https://github.com/shaka-project/shaka-player/issues/2337
132
133
  - Low-latency streaming with blocking playlist reload
133
134
 
134
135
  [mux.js]: https://github.com/videojs/mux.js/releases
@@ -171,7 +172,9 @@ NOTES:
171
172
  |HLS |**Y** |**Y** |**Y** ¹ | - |
172
173
 
173
174
  NOTES:
174
- - ¹: We support FairPlay through Apple's native HLS player.
175
+ - ¹: By default, FairPlay is handled using Apple's native HLS player, when on
176
+ Safari. We do support FairPlay through MSE/EME, however. See the
177
+ `streaming.useNativeHlsOnSafari` configuration value.
175
178
 
176
179
 
177
180
  ## Media container and subtitle support
@@ -5,10 +5,10 @@ releases and demos at https://index-dot-shaka-player-demo.appspot.com/
5
5
 
6
6
  - app.yaml: App Engine config file. Defines the runtime (Python 3).
7
7
 
8
- - main.py: A python service that queries available versions and generates the
9
- index from a template.
8
+ - generate.py: A python script that generates the index's static content from
9
+ a template.
10
10
 
11
11
  - requirements.txt: Used by App Engine to install the necessary Python server
12
- requirements (Flask, App Engine API).
12
+ requirements (Flask).
13
13
 
14
14
  - templates/index.html: A Jinja2 template used to generate the index HTML.
@@ -1,2 +1,28 @@
1
+ # Copyright 2022 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
1
15
  runtime: python39
2
- default_expiration: 1s
16
+ default_expiration: 1h
17
+
18
+ handlers:
19
+ # Server static/index.html as the root.
20
+ - url: /
21
+ secure: always
22
+ static_files: static/index.html
23
+ upload: static/index.html
24
+ # Any other requests are served from the static/ folder.
25
+ - url: /(.+)
26
+ secure: always
27
+ static_files: static/\1
28
+ upload: static/.+