shaka-player 4.3.11 → 4.3.13

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 (62) hide show
  1. package/.github/workflows/deflake.yaml +8 -5
  2. package/.github/workflows/release-please.yaml +47 -7
  3. package/.github/workflows/shaka-bot-commands/command-test.sh +1 -1
  4. package/CHANGELOG.md +34 -0
  5. package/CONTRIBUTORS +1 -0
  6. package/demo/common/asset.js +5 -0
  7. package/demo/common/assets.js +16 -1
  8. package/demo/common/message_ids.js +1 -0
  9. package/demo/custom.js +5 -5
  10. package/demo/locales/en.json +1 -0
  11. package/demo/locales/source.json +4 -0
  12. package/demo/main.js +1 -1
  13. package/dist/demo.compiled.debug.js +58 -56
  14. package/dist/demo.compiled.debug.map +3 -3
  15. package/dist/demo.compiled.js +58 -56
  16. package/dist/demo.compiled.map +3 -3
  17. package/dist/locales.js +30 -30
  18. package/dist/receiver.compiled.debug.js +24 -22
  19. package/dist/receiver.compiled.debug.map +3 -3
  20. package/dist/receiver.compiled.js +24 -22
  21. package/dist/receiver.compiled.map +3 -3
  22. package/dist/shaka-player.compiled.d.ts +258 -258
  23. package/dist/shaka-player.compiled.debug.d.ts +258 -258
  24. package/dist/shaka-player.compiled.debug.externs.js +6 -4
  25. package/dist/shaka-player.compiled.debug.js +58 -59
  26. package/dist/shaka-player.compiled.debug.map +3 -3
  27. package/dist/shaka-player.compiled.externs.js +6 -4
  28. package/dist/shaka-player.compiled.js +700 -699
  29. package/dist/shaka-player.compiled.map +3 -3
  30. package/dist/shaka-player.ui.d.ts +302 -302
  31. package/dist/shaka-player.ui.debug.d.ts +302 -302
  32. package/dist/shaka-player.ui.debug.externs.js +6 -4
  33. package/dist/shaka-player.ui.debug.js +205 -206
  34. package/dist/shaka-player.ui.debug.map +3 -3
  35. package/dist/shaka-player.ui.externs.js +6 -4
  36. package/dist/shaka-player.ui.js +867 -866
  37. package/dist/shaka-player.ui.map +3 -3
  38. package/docs/tutorials/faq.md +1 -1
  39. package/docs/tutorials/offline.md +1 -1
  40. package/lib/dash/dash_parser.js +4 -1
  41. package/lib/hls/hls_parser.js +60 -24
  42. package/lib/media/segment_reference.js +11 -5
  43. package/lib/media/streaming_engine.js +15 -25
  44. package/lib/player.js +8 -57
  45. package/lib/text/ttml_text_parser.js +2 -1
  46. package/lib/text/ui_text_displayer.js +49 -3
  47. package/lib/util/cmcd_manager.js +6 -1
  48. package/lib/util/manifest_parser_utils.js +10 -4
  49. package/lib/util/player_configuration.js +2 -2
  50. package/lib/util/stream_utils.js +13 -11
  51. package/lib/util/ts_parser.js +3 -3
  52. package/package.json +2 -2
  53. package/test/dash/dash_parser_manifest_unit.js +5 -0
  54. package/test/dash/dash_parser_segment_base_unit.js +5 -0
  55. package/test/dash/dash_parser_segment_list_unit.js +21 -17
  56. package/test/dash/dash_parser_segment_template_unit.js +5 -0
  57. package/test/hls/hls_live_unit.js +33 -0
  58. package/test/hls/hls_parser_unit.js +2 -57
  59. package/test/test/util/dash_parser_util.js +16 -7
  60. package/test/text/ttml_text_parser_unit.js +3 -4
  61. package/test/text/web_vtt_layout_integration.js +0 -1
  62. package/test/util/ts_parser_unit.js +1 -1
@@ -1,16 +1,19 @@
1
1
  name: Deflake Tests
2
2
 
3
- # Runs when the Selenum nightly test workflow completes. This will run with
4
- # full privileges, even if the other workflow doesn't. That allows us to
5
- # trigger re-runs if we think the results might be flaky.
3
+ # Runs when the Selenum lab test or PR test workflows complete. This will run
4
+ # with full privileges, even if the other workflow doesn't. That allows us to
5
+ # trigger re-runs if we think the results might be flaky. A test run will be
6
+ # given up to 3 runs to succeed.
6
7
  on:
7
8
  workflow_run:
8
- workflows: [Selenium Lab Tests]
9
+ workflows:
10
+ - Selenium Lab Tests
11
+ - Build and Test PR
9
12
  types: [completed]
10
13
 
11
14
  jobs:
12
15
  deflake:
13
- if: ${{ github.event.workflow_run.event == 'schedule' && github.event.workflow_run.conclusion == 'failure' }}
16
+ if: ${{ github.event.workflow_run.conclusion == 'failure' }}
14
17
  runs-on: ubuntu-latest
15
18
 
16
19
  steps:
@@ -29,8 +29,6 @@ jobs:
29
29
  - uses: actions/checkout@v3
30
30
  if: steps.release.outputs.release_created == false
31
31
  with:
32
- # Checkout the fork, where the PR is generated from.
33
- repository: shaka-bot/${{ github.event.repository.name }}
34
32
  # Use a special shaka-bot access token for releases.
35
33
  token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
36
34
  - name: Custom update Player version
@@ -63,8 +61,7 @@ jobs:
63
61
  steps:
64
62
  - uses: actions/checkout@v3
65
63
  with:
66
- # Check out the origin repo, not the fork, and do it at main, not the
67
- # PR branch.
64
+ # Check out the origin repo, and do it at main, not the PR branch.
68
65
  ref: main
69
66
  # Use a special shaka-bot access token for releases.
70
67
  token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
@@ -93,10 +90,52 @@ jobs:
93
90
  node-version: 16
94
91
  registry-url: 'https://registry.npmjs.org'
95
92
 
93
+ - name: Compute NPM tags
94
+ run: |
95
+ # NPM publish always sets a tag. If you don't provide an explicit
96
+ # tag, you get the "latest" tag by default, but we want "latest" to
97
+ # always point to the highest version number. So we set an explicit
98
+ # tag on every "publish" command, then follow up with a command to
99
+ # set "latest" only if this release was the highest version yet.
100
+
101
+ # The explicit tag is based on the branch. If the git tag is v4.4.1,
102
+ # the branch was v4.4.x, and the explicit NPM tag should be
103
+ # v4.4-latest.
104
+ GIT_TAG_NAME=${{ needs.release.outputs.tag_name }}
105
+ NPM_TAG=$(echo "$GIT_TAG_NAME" | cut -f 1-2 -d .)-latest
106
+ echo "NPM_TAG=$NPM_TAG" >> $GITHUB_ENV
107
+
108
+ # We only tag the NPM package as "latest" if this release is the
109
+ # highest version to date.
110
+ RELEASE_TAGS=$(git tag | grep ^v[0-9] | grep -Ev -- '-(master|main)')
111
+ LATEST_RELEASE=$(echo "$RELEASE_TAGS" | sort --version-sort | tail -1)
112
+
113
+ if [[ "$GIT_TAG_NAME" == "$LATEST_RELEASE" ]]; then
114
+ NPM_LATEST=true
115
+ else
116
+ NPM_LATEST=false
117
+ fi
118
+ echo NPM_LATEST=$NPM_LATEST >> $GITHUB_ENV
119
+
120
+ # Debug the decisions made here.
121
+ echo "Latest release: $LATEST_RELEASE"
122
+ echo "This release: $GIT_TAG_NAME"
123
+ echo "NPM tag: $NPM_TAG"
124
+ echo "NPM latest: $NPM_LATEST"
125
+
96
126
  - run: npm ci
97
- - run: npm publish
127
+ - name: Publish
98
128
  env:
99
129
  NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
130
+ run: |
131
+ # Publish with an explicit tag.
132
+ npm publish --tag "$NPM_TAG"
133
+
134
+ # Add the "latest" tag if needed.
135
+ if [[ "$NPM_LATEST" == "true" ]]; then
136
+ NPM_VERSION=$(npm version --json | jq -r '."shaka-player"')
137
+ npm dist-tag add "shaka-player@$NPM_VERSION" latest
138
+ fi
100
139
 
101
140
  - run: npm pack
102
141
  - uses: svenstaro/upload-release-action@483c1e56f95e88835747b1c7c60581215016cbf2
@@ -137,10 +176,11 @@ jobs:
137
176
  TAG_NAME=${{ needs.release.outputs.tag_name }}
138
177
 
139
178
  if [[ "$TAG_NAME" == "$LATEST_RELEASE" ]]; then
140
- echo APPSPOT_PROMOTE=true >> $GITHUB_ENV
179
+ APPSPOT_PROMOTE=true
141
180
  else
142
- echo APPSPOT_PROMOTE=false >> $GITHUB_ENV
181
+ APPSPOT_PROMOTE=false
143
182
  fi
183
+ APPSPOT_PROMOTE=$APPSPOT_PROMOTE >> $GITHUB_ENV
144
184
 
145
185
  # Debug the decisions made here.
146
186
  echo "Subdomain: $APPSPOT_SUBDOMAIN"
@@ -25,7 +25,7 @@ WORKFLOW_ARGS=( "pr=$PR_NUMBER" )
25
25
 
26
26
  case "${SHAKA_BOT_ARGUMENTS[0]}" in
27
27
  # CE devices only.
28
- ce) WORKFLOW_ARGS+=( "browser_filter=Tizen Chromecast ChromeAndroid" ) ;;
28
+ ce) WORKFLOW_ARGS+=( "browser_filter=Tizen ChromecastUltra ChromecastGTV ChromeAndroid" ) ;;
29
29
 
30
30
  # No command argument, no extra workflow arguments.
31
31
  "") ;;
package/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.3.13](https://github.com/shaka-project/shaka-player/compare/v4.3.12...v4.3.13) (2023-10-04)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Allow PID change in TsParser ([#5681](https://github.com/shaka-project/shaka-player/issues/5681)) ([2fcc812](https://github.com/shaka-project/shaka-player/commit/2fcc8129db517ac41745785c70af3406a725c0b4))
9
+ * **CMCD:** Fix CMCD for some mimetypes in src= ([#5699](https://github.com/shaka-project/shaka-player/issues/5699)) ([28bb5d1](https://github.com/shaka-project/shaka-player/commit/28bb5d139d2bbcfe5bb58b7691d9543868cce0be))
10
+ * **Demo:** Fix url of "Low Latency HLS Live" asset ([#5708](https://github.com/shaka-project/shaka-player/issues/5708)) ([728cbfc](https://github.com/shaka-project/shaka-player/commit/728cbfc7b3b028cd5f9ba958e959c9a40234091b))
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)) ([d9223ee](https://github.com/shaka-project/shaka-player/commit/d9223eef8255e8ac698f23cd7115ef6a388e613c))
12
+ * **HLS:** Fix audio and video out of sync ([#5658](https://github.com/shaka-project/shaka-player/issues/5658)) ([cb9789e](https://github.com/shaka-project/shaka-player/commit/cb9789e6ab084dd7ba77a232bb90f0fdb1c9bc53))
13
+ * **HLS:** Fix display CEA-708 in HLS ([#5694](https://github.com/shaka-project/shaka-player/issues/5694)) ([b639b55](https://github.com/shaka-project/shaka-player/commit/b639b550b692e466c8513f2801d5a7c36b125643))
14
+ * **HLS:** Fix presentation delay for small live playlists (eg: 3-4 segments) ([#5687](https://github.com/shaka-project/shaka-player/issues/5687)) ([ef827a0](https://github.com/shaka-project/shaka-player/commit/ef827a07abe5c0b6514a89d121294fc562d8c17f))
15
+ * **HLS:** Skip segments without duration and without partial segments ([#5705](https://github.com/shaka-project/shaka-player/issues/5705)) ([96dfcc6](https://github.com/shaka-project/shaka-player/commit/96dfcc609ae40b64d79c27a4f75b34c212fc714d))
16
+ * **HLS:** Support AES-128 in init segment according the RFC ([#5677](https://github.com/shaka-project/shaka-player/issues/5677)) ([d30c571](https://github.com/shaka-project/shaka-player/commit/d30c5719ba3e8ee5d53e02100178fdb8ab34df10))
17
+ * **WebVTT:** Fix text displayed out of picture and with overlapping lines ([#5662](https://github.com/shaka-project/shaka-player/issues/5662)) ([ee898e9](https://github.com/shaka-project/shaka-player/commit/ee898e9eceb5fe6bbc27e72d11318962f7a574eb)), closes [#5661](https://github.com/shaka-project/shaka-player/issues/5661)
18
+
19
+
20
+ ### Performance Improvements
21
+
22
+ * Optimization to resolve uris ([#5657](https://github.com/shaka-project/shaka-player/issues/5657)) ([0ad925b](https://github.com/shaka-project/shaka-player/commit/0ad925b9eadfe844ce65b341cab5403889786309))
23
+
24
+ ## [4.3.12](https://github.com/shaka-project/shaka-player/compare/v4.3.11...v4.3.12) (2023-09-13)
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * 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)) ([8017636](https://github.com/shaka-project/shaka-player/commit/8017636821c030822cf426bb8d494246c372cb93))
30
+ * Compute correctly the positionAlign in UITextDisplayer ([#5630](https://github.com/shaka-project/shaka-player/issues/5630)) ([154131a](https://github.com/shaka-project/shaka-player/commit/154131a81c57d8866499676c7c68683f807dfac5))
31
+ * **Demo:** Allow com.apple.fps.1_0 in the custom DRM System field ([#5600](https://github.com/shaka-project/shaka-player/issues/5600)) ([4853af8](https://github.com/shaka-project/shaka-player/commit/4853af8f39a92a57c3e2f5f899a01e76e130c4df))
32
+ * fix preferred track selection on Safari ([#5601](https://github.com/shaka-project/shaka-player/issues/5601)) ([a85174a](https://github.com/shaka-project/shaka-player/commit/a85174a667ee20451742e1acd8d9e89262a4c51e))
33
+ * **TTML:** Fix wrong writing-mode in nested cues ([#5646](https://github.com/shaka-project/shaka-player/issues/5646)) ([e125e53](https://github.com/shaka-project/shaka-player/commit/e125e539cda726cd9c2674211246673008d3fda0))
34
+ * **WebVTT:** Fix support for line:0 vertical alignment ([#5632](https://github.com/shaka-project/shaka-player/issues/5632)) ([5074de7](https://github.com/shaka-project/shaka-player/commit/5074de721f2669c70054a970526cffea295567c5))
35
+ * **WebVTT:** Fix wrong writing-mode in nested cues ([#5641](https://github.com/shaka-project/shaka-player/issues/5641)) ([ba9a852](https://github.com/shaka-project/shaka-player/commit/ba9a852fc68adf0081e5c9d921bd374404113e34))
36
+
3
37
  ## [4.3.11](https://github.com/shaka-project/shaka-player/compare/v4.3.10...v4.3.11) (2023-09-02)
4
38
 
5
39
 
package/CONTRIBUTORS CHANGED
@@ -74,6 +74,7 @@ Julian Domingo <juliandomingo@google.com>
74
74
  Jun Hong Chong <chongjunhong@gmail.com>
75
75
  Jürgen Kartnaller <kartnaller@lovelysystems.com>
76
76
  Leandro Ribeiro Moreira <leandro.ribeiro.moreira@gmail.com>
77
+ Loïc Raux <loicraux@gmail.com>
77
78
  Lucas Gabriel Sánchez <unkiwii@gmail.com>
78
79
  Martin Stark <martin.stark@eyevinn.se>
79
80
  Matias Russitto <russitto@gmail.com>
@@ -165,6 +165,11 @@ const ShakaDemoAssetInfo = class {
165
165
  return this.drm.length == 1 && this.drm[0] == shakaAssets.KeySystem.CLEAR;
166
166
  }
167
167
 
168
+ /** @return {boolean} */
169
+ isAes128() {
170
+ return this.drm.length == 1 && this.drm[0] == shakaAssets.KeySystem.AES128;
171
+ }
172
+
168
173
  /**
169
174
  * @param {string} mediaPlaylistFullMimeType
170
175
  * @return {!ShakaDemoAssetInfo}
@@ -50,6 +50,7 @@ shakaAssets.KeySystem = {
50
50
  FAIRPLAY: shakaDemo.MessageIds.FAIRPLAY,
51
51
  PLAYREADY: shakaDemo.MessageIds.PLAYREADY,
52
52
  WIDEVINE: shakaDemo.MessageIds.WIDEVINE,
53
+ AES128: shakaDemo.MessageIds.AES128,
53
54
  CLEAR: shakaDemo.MessageIds.CLEAR,
54
55
  };
55
56
 
@@ -88,6 +89,7 @@ shakaAssets.identifierForKeySystem = (keySystem) => {
88
89
  case KeySystem.FAIRPLAY: return 'com.apple.fps';
89
90
  case KeySystem.PLAYREADY: return 'com.microsoft.playready';
90
91
  case KeySystem.WIDEVINE: return 'com.widevine.alpha';
92
+ case KeySystem.AES128: return 'aes128';
91
93
  default: return 'no drm protection';
92
94
  }
93
95
  };
@@ -355,6 +357,7 @@ shakaAssets.testAssets = [
355
357
  /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/sintel.png',
356
358
  /* manifestUri= */ 'https://storage.googleapis.com/shaka-demo-assets/sintel-ts-aes-key-rotation/master.m3u8',
357
359
  /* source= */ shakaAssets.Source.SHAKA)
360
+ .addKeySystem(shakaAssets.KeySystem.AES128)
358
361
  .addFeature(shakaAssets.Feature.HLS)
359
362
  .addFeature(shakaAssets.Feature.MP2TS)
360
363
  .addFeature(shakaAssets.Feature.OFFLINE),
@@ -363,6 +366,7 @@ shakaAssets.testAssets = [
363
366
  /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/sintel.png',
364
367
  /* manifestUri= */ 'https://storage.googleapis.com/shaka-demo-assets/sintel-fmp4-aes/master.m3u8',
365
368
  /* source= */ shakaAssets.Source.SHAKA)
369
+ .addKeySystem(shakaAssets.KeySystem.AES128)
366
370
  .addFeature(shakaAssets.Feature.HLS)
367
371
  .addFeature(shakaAssets.Feature.MP4)
368
372
  .addFeature(shakaAssets.Feature.OFFLINE),
@@ -931,6 +935,7 @@ shakaAssets.testAssets = [
931
935
  /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/art_of_motion.png',
932
936
  /* manifestUri= */ 'https://bitmovin-a.akamaihd.net/content/art-of-motion_drm/m3u8s/11331.m3u8',
933
937
  /* source= */ shakaAssets.Source.BITCODIN)
938
+ .addKeySystem(shakaAssets.KeySystem.AES128)
934
939
  .addFeature(shakaAssets.Feature.HIGH_DEFINITION)
935
940
  .addFeature(shakaAssets.Feature.HLS)
936
941
  .addFeature(shakaAssets.Feature.MP2TS)
@@ -1060,6 +1065,16 @@ shakaAssets.testAssets = [
1060
1065
  kind: 'subtitle',
1061
1066
  mime: 'text/vtt',
1062
1067
  }),
1068
+ new ShakaDemoAssetInfo(
1069
+ /* name= */ 'Sintel (DASH, AES-128)',
1070
+ /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/sintel.png',
1071
+ /* manifestUri= */ 'https://amssamples.streaming.mediaservices.windows.net/49b57c87-f5f3-48b3-ba22-c55cfdffa9cb/Sintel.ism/manifest(format=mpd-time-csf)',
1072
+ /* source= */ shakaAssets.Source.AZURE_MEDIA_SERVICES)
1073
+ .addKeySystem(shakaAssets.KeySystem.AES128)
1074
+ .addFeature(shakaAssets.Feature.DASH)
1075
+ .addFeature(shakaAssets.Feature.MP4)
1076
+ .addFeature(shakaAssets.Feature.HIGH_DEFINITION)
1077
+ .addFeature(shakaAssets.Feature.OFFLINE),
1063
1078
  // End Azure Media Services assets }}}
1064
1079
 
1065
1080
  // GPAC assets {{{
@@ -1227,7 +1242,7 @@ shakaAssets.testAssets = [
1227
1242
  new ShakaDemoAssetInfo(
1228
1243
  /* name= */ 'Low Latency HLS Live',
1229
1244
  /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/apple_test_pattern.png',
1230
- /* manifestUri= */ 'https://ll-hls-test.apple.com/cmaf/master.m3u8',
1245
+ /* manifestUri= */ 'https://ll-hls-test.cdn-apple.com/llhls4/ll-hls-test-04/multi.m3u8',
1231
1246
  /* source= */ shakaAssets.Source.APPLE)
1232
1247
  .addFeature(shakaAssets.Feature.HLS)
1233
1248
  .addFeature(shakaAssets.Feature.LIVE)
@@ -33,6 +33,7 @@ shakaDemo.MessageIds = {
33
33
  WEBM: 'DEMO_WEBM',
34
34
  XLINK: 'DEMO_XLINK',
35
35
  /* Key systems. */
36
+ AES128: 'DEMO_AES128',
36
37
  CLEAR: 'DEMO_CLEAR',
37
38
  CLEAR_KEY: 'DEMO_CLEAR_KEY',
38
39
  FAIRPLAY: 'DEMO_FAIRPLAY',
package/demo/custom.js CHANGED
@@ -407,14 +407,14 @@ shakaDemo.Custom = class {
407
407
  const licenseServerURL = licenseServerUrlInput.value;
408
408
  const customDRMSystem = customDrmSystemInput.value;
409
409
  if (licenseServerURL) {
410
- // Make a license server entry for every common DRM plugin.
411
410
  assetInProgress.licenseServers.clear();
412
- for (const drmSystem of shakaDemo.Main.commonDrmSystems) {
413
- assetInProgress.licenseServers.set(drmSystem, licenseServerURL);
414
- }
415
411
  if (customDRMSystem) {
416
- // Make a custom entry too.
417
412
  assetInProgress.licenseServers.set(customDRMSystem, licenseServerURL);
413
+ } else {
414
+ // Make a license server entry for every common DRM plugin.
415
+ for (const drmSystem of shakaDemo.Main.commonDrmSystems) {
416
+ assetInProgress.licenseServers.set(drmSystem, licenseServerURL);
417
+ }
418
418
  }
419
419
  } else {
420
420
  assetInProgress.licenseServers.clear();
@@ -5,6 +5,7 @@
5
5
  "DEMO_AD_SEARCH": "Filters for assets that have advertisements.",
6
6
  "DEMO_AD_TAG_URL": "Ad Tag URL",
7
7
  "DEMO_ADS_TAB": "Ads",
8
+ "DEMO_AES128": "AES-128 protection",
8
9
  "DEMO_ALL_CONTENT": "ALL CONTENT",
9
10
  "DEMO_ALWAYS_STREAM_TEXT": "Always Stream Text",
10
11
  "DEMO_ALWAYS_STREAM_TEXT_WARNING": "Text must always be streamed while native controls are enabled, for captions to work.",
@@ -23,6 +23,10 @@
23
23
  "description": "The label on a field that allows users to provide a Ad Tag URL for a custom asset.",
24
24
  "message": "Ad Tag URL"
25
25
  },
26
+ "DEMO_AES128": {
27
+ "description": "Text that describes an asset that is not protected with any Digital Rights Management system but it is protected with AES-128.",
28
+ "message": "[JARGON:AES-128] protection"
29
+ },
26
30
  "DEMO_ALL_CONTENT": {
27
31
  "description": "A link in the header, that switches to a page for browsing or searching through the entire content library.",
28
32
  "message": "ALL CONTENT"
package/demo/main.js CHANGED
@@ -715,7 +715,7 @@ shakaDemo.Main = class {
715
715
  return shakaDemo.MessageIds.UNSUPPORTED_NO_DOWNLOAD;
716
716
  }
717
717
 
718
- if (!asset.isClear()) {
718
+ if (!asset.isClear() && !asset.isAes128()) {
719
719
  const hasSupportedDRM = asset.drm.some((drm) => {
720
720
  return this.support_.drm[shakaAssets.identifierForKeySystem(drm)];
721
721
  });