shaka-player 4.2.11 → 4.2.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 (73) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +11 -0
  2. package/.github/workflows/appspot.yaml +39 -0
  3. package/.github/workflows/build-and-test.yaml +15 -0
  4. package/.github/workflows/selenium-lab-tests.yaml +3 -2
  5. package/.github/workflows/update-issues.yaml +1 -0
  6. package/CHANGELOG.md +42 -0
  7. package/CONTRIBUTORS +1 -0
  8. package/demo/custom.js +1 -1
  9. package/dist/demo.compiled.debug.js +2 -2
  10. package/dist/demo.compiled.debug.map +2 -2
  11. package/dist/demo.compiled.js +2 -2
  12. package/dist/demo.compiled.map +2 -2
  13. package/dist/deps.js +3 -3
  14. package/dist/locales.js +33 -33
  15. package/dist/shaka-player.compiled.d.ts +22 -0
  16. package/dist/shaka-player.compiled.debug.d.ts +22 -0
  17. package/dist/shaka-player.compiled.debug.js +233 -232
  18. package/dist/shaka-player.compiled.debug.map +3 -3
  19. package/dist/shaka-player.compiled.js +738 -738
  20. package/dist/shaka-player.compiled.map +3 -3
  21. package/dist/shaka-player.ui.d.ts +22 -0
  22. package/dist/shaka-player.ui.debug.d.ts +22 -0
  23. package/dist/shaka-player.ui.debug.js +259 -258
  24. package/dist/shaka-player.ui.debug.map +3 -3
  25. package/dist/shaka-player.ui.js +917 -916
  26. package/dist/shaka-player.ui.map +4 -4
  27. package/docs/tutorials/drm-config.md +9 -6
  28. package/docs/tutorials/selenium-grid-config.md +60 -8
  29. package/externs/ima.js +34 -0
  30. package/karma.conf.js +50 -7
  31. package/lib/abr/simple_abr_manager.js +6 -6
  32. package/lib/cea/mp4_cea_parser.js +30 -14
  33. package/lib/dash/dash_parser.js +18 -3
  34. package/lib/hls/hls_parser.js +13 -2
  35. package/lib/media/drm_engine.js +14 -8
  36. package/lib/media/gap_jumping_controller.js +24 -2
  37. package/lib/media/media_source_engine.js +5 -3
  38. package/lib/media/playhead.js +11 -0
  39. package/lib/media/region_observer.js +19 -1
  40. package/lib/media/streaming_engine.js +7 -3
  41. package/lib/media/video_wrapper.js +6 -1
  42. package/lib/player.js +9 -8
  43. package/lib/polyfill/abort_controller.js +7 -0
  44. package/lib/polyfill/orientation.js +34 -7
  45. package/lib/text/vtt_text_parser.js +3 -1
  46. package/lib/util/manifest_parser_utils.js +5 -3
  47. package/lib/util/mp4_box_parsers.js +8 -3
  48. package/lib/util/platform.js +14 -0
  49. package/lib/util/stream_utils.js +70 -26
  50. package/package.json +2 -3
  51. package/test/cast/cast_utils_unit.js +4 -1
  52. package/test/cea/mp4_cea_parser_unit.js +26 -3
  53. package/test/dash/dash_parser_manifest_unit.js +120 -0
  54. package/test/hls/hls_parser_unit.js +222 -0
  55. package/test/media/drm_engine_integration.js +2 -2
  56. package/test/media/region_observer_unit.js +2 -1
  57. package/test/media/segment_index_unit.js +3 -3
  58. package/test/media/streaming_engine_integration.js +14 -11
  59. package/test/offline/offline_integration.js +6 -3
  60. package/test/player_external.js +19 -16
  61. package/test/player_integration.js +35 -48
  62. package/test/player_src_equals_integration.js +9 -5
  63. package/test/test/assets/multiple-trun-init.mp4 +0 -0
  64. package/test/test/assets/multiple-trun-segment.mp4 +0 -0
  65. package/test/test/util/fake_demo_main.js +7 -3
  66. package/test/test/util/layout_tests.js +2 -2
  67. package/test/test/util/ui_utils.js +9 -2
  68. package/test/test/util/util.js +6 -27
  69. package/test/test/util/waiter.js +73 -3
  70. package/test/ui/ad_ui_unit.js +9 -9
  71. package/test/util/stream_utils_unit.js +46 -0
  72. package/ui/range_element.js +5 -0
  73. package/ui/resolution_selection.js +7 -1
@@ -12,7 +12,16 @@ assignees: ''
12
12
  **Have you read the [FAQ](https://bit.ly/ShakaFAQ) and checked for duplicate open issues?**
13
13
 
14
14
 
15
+ **If the problem is related to FairPlay, have you read the tutorial?**
16
+ <!-- NOTE: https://shaka-player-demo.appspot.com/docs/api/tutorial-fairplay.html -->
17
+
18
+
15
19
  **What version of Shaka Player are you using?**
20
+ <!-- NOTE:
21
+ Only some versions of the application are maintained, if your version
22
+ is older, first update to a newer one. See:
23
+ https://github.com/shaka-project/shaka-player/blob/main/maintained-branches.md
24
+ --->
16
25
 
17
26
 
18
27
  **Can you reproduce the issue with our latest release version?**
@@ -41,6 +50,8 @@ assignees: ''
41
50
  enough to reproduce your issue, and we **will** ask you to send a
42
51
  URI instead. You can copy the URI of the demo app to send us the
43
52
  exact asset, licence server, and settings you have selected there.
53
+ If you send the URIs to email, the response time and resolution
54
+ will be much higher.
44
55
  -->
45
56
 
46
57
 
@@ -0,0 +1,39 @@
1
+ name: Deploy to Appspot (one-off)
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ # Allows for manual triggering, to correct deployment issues.
6
+ inputs:
7
+ ref:
8
+ description: "A tag name or SHA1 to deploy."
9
+ required: true
10
+ subdomain:
11
+ description: "An appspot subdomain to deploy to. Be careful! Do not overwrite an existing subdomain!"
12
+ required: true
13
+
14
+ jobs:
15
+ appspot:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v3
19
+ with:
20
+ ref: ${{ inputs.ref }}
21
+ fetch-depth: 0
22
+ persist-credentials: false
23
+
24
+ - uses: actions/setup-node@v1
25
+ with:
26
+ node-version: 16
27
+ registry-url: 'https://registry.npmjs.org'
28
+
29
+ - uses: ./.github/workflows/custom-actions/prep-for-appspot
30
+
31
+ - uses: google-github-actions/auth@v0
32
+ with:
33
+ credentials_json: '${{ secrets.APPENGINE_DEPLOY_KEY }}'
34
+
35
+ - uses: google-github-actions/deploy-appengine@v0
36
+ with:
37
+ project_id: shaka-player-demo
38
+ version: ${{ inputs.subdomain }}
39
+ promote: false
@@ -125,6 +125,21 @@ jobs:
125
125
  # Install a launcher that can execute a shell script to launch this
126
126
  npm install karma-script-launcher --save-dev
127
127
 
128
+ # When "Chrome for Testing" is installed on Mac, it gets invoked instead
129
+ # of simply "Chrome". This other copy of Chrome, however, doesn't seem
130
+ # to have basic codecs like AAC and H264 available, causing many of our
131
+ # test scenarios to fail. Deleting "Chrome for Testing" fixes this.
132
+ - name: 'Delete "Chrome for Testing" on Mac'
133
+ if: matrix.os == 'macos-latest' && matrix.browser == 'Chrome'
134
+ run: sudo rm -rf /Applications/Google\ Chrome\ for\ Testing.app
135
+
136
+ # Some CI images (self-hosted or otherwise) don't have the minimum Java
137
+ # version necessary for the compiler (Java 11).
138
+ - uses: actions/setup-java@v3
139
+ with:
140
+ distribution: zulu
141
+ java-version: 11
142
+
128
143
  - name: Build Player
129
144
  run: python build/all.py
130
145
 
@@ -251,11 +251,12 @@ jobs:
251
251
  python3 build/test.py \
252
252
  --no-build \
253
253
  --reporters spec --spec-hide-passed \
254
- --lets-encrypt-folder /etc/shakalab.rocks \
254
+ --tls-key /etc/letsencrypt/live/karma.shakalab.rocks/privkey.pem \
255
+ --tls-cert /etc/letsencrypt/live/karma.shakalab.rocks/fullchain.pem \
255
256
  --hostname karma.shakalab.rocks \
256
257
  --port $KARMA_PORT \
257
258
  --grid-config build/shaka-lab.yaml \
258
- --grid-address selenium-grid.lab:4444 \
259
+ --grid-address selenium-grid.lab.shaka:4444 \
259
260
  --browsers ${{ matrix.browser }} \
260
261
  "${extra_flags[@]}"
261
262
  # Capture the test exit code immediately after running the tests.
@@ -10,6 +10,7 @@ on:
10
10
 
11
11
  permissions:
12
12
  issues: write
13
+ pull-requests: write
13
14
 
14
15
  jobs:
15
16
  update-issues:
package/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.2.13](https://github.com/shaka-project/shaka-player/compare/v4.2.12...v4.2.13) (2023-08-20)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * add MIME type for HTML5 tracks ([#5452](https://github.com/shaka-project/shaka-player/issues/5452)) ([e540ac1](https://github.com/shaka-project/shaka-player/commit/e540ac17caf1b2200edd31b3d13a0e9934db6a69))
9
+ * Default language to 'und' for native tracks ([#5464](https://github.com/shaka-project/shaka-player/issues/5464)) ([aeda19d](https://github.com/shaka-project/shaka-player/commit/aeda19df0b7431f5823ca8b88960ec3b0bf4cbc7))
10
+ * Fix exiting fullscreen on Safari ([#5439](https://github.com/shaka-project/shaka-player/issues/5439)) ([9121a52](https://github.com/shaka-project/shaka-player/commit/9121a5231949caf9010d582825581c30ae77d649)), closes [#5437](https://github.com/shaka-project/shaka-player/issues/5437)
11
+ * Fix memory leak on SimpleAbrManager ([#5478](https://github.com/shaka-project/shaka-player/issues/5478)) ([5c352c8](https://github.com/shaka-project/shaka-player/commit/5c352c86c830f121d55e47f705cd1dd384e6d4a8))
12
+ * gettting maxWidth and maxHeight for restrictToElementSize option ([#5481](https://github.com/shaka-project/shaka-player/issues/5481)) ([eca8436](https://github.com/shaka-project/shaka-player/commit/eca8436f436a758dbca89b4b96c80b369aba713f))
13
+ * Remove duplicate adaptation event before init ([#5492](https://github.com/shaka-project/shaka-player/issues/5492)) ([08708f0](https://github.com/shaka-project/shaka-player/commit/08708f004213ad370e323c2b09bd4553293ffef4))
14
+ * Support fLaC and Opus codec strings in HLS ([#5454](https://github.com/shaka-project/shaka-player/issues/5454)) ([18d5971](https://github.com/shaka-project/shaka-player/commit/18d597195bdc1b28aae83d16c10322fde3d8c140)), closes [#5453](https://github.com/shaka-project/shaka-player/issues/5453)
15
+ * **UI:** Disable right click on range elements ([#5497](https://github.com/shaka-project/shaka-player/issues/5497)) ([c508446](https://github.com/shaka-project/shaka-player/commit/c508446ab2e61278aa1855e3fd96cce59b995afb))
16
+ * Update karma-local-wd-launcher to fix Chromedriver &gt;= 115, fix M1 mac ([#5489](https://github.com/shaka-project/shaka-player/issues/5489)) ([1789977](https://github.com/shaka-project/shaka-player/commit/17899774c0eecd38a46febbe848d978e71aa43e7))
17
+ * Update karma-local-wd-launcher to fix Edge &gt;= 115 ([#5506](https://github.com/shaka-project/shaka-player/issues/5506)) ([d7d9efe](https://github.com/shaka-project/shaka-player/commit/d7d9efebbc154bf7635870d694d9ab0321cd26b3))
18
+ * **WebVTT:** Fix text-shadow in WebVTT not working ([#5499](https://github.com/shaka-project/shaka-player/issues/5499)) ([853ccd8](https://github.com/shaka-project/shaka-player/commit/853ccd83a66972ca316a1c6223e743fde4bfb5e9))
19
+
20
+ ## [4.2.12](https://github.com/shaka-project/shaka-player/compare/v4.2.11...v4.2.12) (2023-07-21)
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * **DASH:** Avoid "Possible encoding problem detected!" when appending chunked data ([#5376](https://github.com/shaka-project/shaka-player/issues/5376)) ([ad9de15](https://github.com/shaka-project/shaka-player/commit/ad9de15043491d5969f44d7d864041c19af3b108))
26
+ * **demo:** Fix deployment of v4.2.x on appspot ([d8b2378](https://github.com/shaka-project/shaka-player/commit/d8b2378ff565a6aec2de2689219001a1c2a16308))
27
+ * **Demo:** Trim custom manifestUri to avoid copy-paste errors ([#5378](https://github.com/shaka-project/shaka-player/issues/5378)) ([d7d2bcb](https://github.com/shaka-project/shaka-player/commit/d7d2bcb6aab0cb4b670889e380f4705444b2848e))
28
+ * **docs:** fix player configuration code in drm config tutorial ([#5359](https://github.com/shaka-project/shaka-player/issues/5359)) ([c5e0f8b](https://github.com/shaka-project/shaka-player/commit/c5e0f8b967d0327eb1d9ab50b4db77990d84a1ed))
29
+ * **DRM:** broken keySystemsMapping due to multiple references of drmInfo ([#5388](https://github.com/shaka-project/shaka-player/issues/5388)) ([8906548](https://github.com/shaka-project/shaka-player/commit/8906548b6c40b0ac3023c80f1bad02496aff0014))
30
+ * Fix captions from MP4s with multiple trun boxes ([#5422](https://github.com/shaka-project/shaka-player/issues/5422)) ([b41186e](https://github.com/shaka-project/shaka-player/commit/b41186e3cfe7e3e2f633a24d5c9c88e8eb025fef)), closes [#5328](https://github.com/shaka-project/shaka-player/issues/5328)
31
+ * Fix DASH rejection of streams with ColourPrimaries and MatrixCoefficients ([#5345](https://github.com/shaka-project/shaka-player/issues/5345)) ([e2968ca](https://github.com/shaka-project/shaka-player/commit/e2968ca7ad5ae5a3b3dea56029d2815214564a52))
32
+ * Fix exception on Tizen due to unsupported Array method ([#5429](https://github.com/shaka-project/shaka-player/issues/5429)) ([0fe4d5c](https://github.com/shaka-project/shaka-player/commit/0fe4d5c6f7dbe5e6254b8173cec5ce796c14f5bf))
33
+ * Fix failure when drivers lag behind browser ([#5423](https://github.com/shaka-project/shaka-player/issues/5423)) ([30f464f](https://github.com/shaka-project/shaka-player/commit/30f464f5f06b0f5e7779e7c4a6dedca6ae90277c))
34
+ * Gap jump at start when first jump lands in a new gap ([#5408](https://github.com/shaka-project/shaka-player/issues/5408)) ([1ead685](https://github.com/shaka-project/shaka-player/commit/1ead685075de79591a5909e4e06ac5dd380e3e92))
35
+ * gap jumping when gap exists at start position ([#5384](https://github.com/shaka-project/shaka-player/issues/5384)) ([bd5bade](https://github.com/shaka-project/shaka-player/commit/bd5badef95428ae515262d104770e88b71493469))
36
+ * **HLS:** Add subtitle role when there are no roles ([#5357](https://github.com/shaka-project/shaka-player/issues/5357)) ([c5a5ddb](https://github.com/shaka-project/shaka-player/commit/c5a5ddbfd0bfca21b686f2ec99c5dedb0da71fba))
37
+ * **HLS:** Fix dvh1 and dvhe detection as video codec ([#5364](https://github.com/shaka-project/shaka-player/issues/5364)) ([3373a41](https://github.com/shaka-project/shaka-player/commit/3373a41f483a8807d4de7effe7310fdf488999a5))
38
+ * **HLS:** Ignore segments with zero duration ([#5371](https://github.com/shaka-project/shaka-player/issues/5371)) ([29b81ea](https://github.com/shaka-project/shaka-player/commit/29b81ea3c12638feb210e79a5ee28a9ece34656f))
39
+ * **media:** Fix region checking in livestreams ([#5361](https://github.com/shaka-project/shaka-player/issues/5361)) ([007a259](https://github.com/shaka-project/shaka-player/commit/007a2593096fae079c068a89dcfea338ec6d677e)), closes [#5213](https://github.com/shaka-project/shaka-player/issues/5213)
40
+ * Populate HDR correctly ([#5369](https://github.com/shaka-project/shaka-player/issues/5369)) ([db67d8d](https://github.com/shaka-project/shaka-player/commit/db67d8d4c257a53b43456f63a68b19bd0ae9f08f))
41
+ * prevent access to null config_ in SimpleAbrManager ([#5362](https://github.com/shaka-project/shaka-player/issues/5362)) ([80973d7](https://github.com/shaka-project/shaka-player/commit/80973d7d033d4a876af1a3376877e3c36a55ecc9))
42
+ * **UI:** Fix resolution selection on src= ([#5367](https://github.com/shaka-project/shaka-player/issues/5367)) ([b570e92](https://github.com/shaka-project/shaka-player/commit/b570e92a3d0d49fe47d9051f48fb55196cc8b38e))
43
+ * **WebVTT:** Add support to middle position ([#5366](https://github.com/shaka-project/shaka-player/issues/5366)) ([6481e29](https://github.com/shaka-project/shaka-player/commit/6481e2902de33aa0b5cd7c2373c764bd3143a866))
44
+
3
45
  ## [4.2.11](https://github.com/shaka-project/shaka-player/compare/v4.2.10...v4.2.11) (2023-06-20)
4
46
 
5
47
 
package/CONTRIBUTORS CHANGED
@@ -131,3 +131,4 @@ Raymond Cheng <raycheng100@gmail.com>
131
131
  Janroel Koppen <j.koppen@bluebillywig.com>
132
132
  Koen Romers <koenromers@gmail.com>
133
133
  Ashley Manners <ashley.manners@xperi.com>
134
+ Bidisha Das <officialbidisha1@gmail.com>
package/demo/custom.js CHANGED
@@ -567,7 +567,7 @@ shakaDemo.Custom = class {
567
567
  this.manifestField_ = input;
568
568
  };
569
569
  const manifestOnChange = (input) => {
570
- assetInProgress.manifestUri = input.value;
570
+ assetInProgress.manifestUri = input.value.trim();
571
571
  };
572
572
  const manifestURLName = shakaDemoMain.getLocalizedString(
573
573
  shakaDemo.MessageIds.MANIFEST_URL);
@@ -249,8 +249,8 @@ this.makeField_(c,d,(e,f)=>{a.imaManifestType&&(e.value=a.imaManifestType);this.
249
249
  h);k&&a.licenseServers.set(k,h)}else a.licenseServers.clear()};var g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_SERVER_URL);this.makeField_(c,g,(h,k)=>{d=h;(k=a.licenseServers.keys().next())&&k.value&&(h.value=a.licenseServers.get(k.value))},h=>{f()});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_CERTIFICATE_URL);this.makeField_(c,g,(h,k)=>{a.certificateUri&&(h.value=a.certificateUri)},h=>{a.certificateUri=h.value});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.DRM_SYSTEM);
250
250
  this.makeField_(c,g,(h,k)=>{e=h;k=a.licenseServers.keys();for(const l of k)if(!shakaDemo.Main.commonDrmSystems.includes(l)){h.value=l;break}},h=>{f()});return b}makeAssetDialogContentsExtra_(a,b){const c=document.createElement("div"),d=new shakaDemo.InputContainer(c,null,shakaDemo.InputContainer.Style.FLEX,null);d.getClassList().add("wide-input");d.setDefaultRowClass("wide-input");const e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.EXTRA_SHAKA_PLAYER_CONFIG);this.makeField_(d,e,(f,g)=>{f.setAttribute("rows",
251
251
  10);a.extraConfig&&(f.value=JSON.stringify(a.extraConfig,null,2));b.push(f);f=document.createElement("span");f.classList.add("mdl-textfield__error");f.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.INVALID_JSON_CONFIG_ERROR);g.appendChild(f)},(f,g)=>{try{if(f.value){const h=JSON.parse(f.value);a.extraConfig=h}else a.extraConfig=null;g.setValid(!0)}catch(h){g.setValid(!1)}},!0);return c}makeAssetDialogContentsMain_(a,b,c){const d=document.createElement("div"),e=new shakaDemo.InputContainer(d,
252
- null,shakaDemo.InputContainer.Style.VERTICAL,null);var f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL);this.makeField_(e,f,(g,h)=>{g.value=a.manifestUri;b.push(g);const k=document.createElement("span");k.classList.add("mdl-textfield__error");k.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL_ERROR);h.appendChild(k);g.required=this.checkManifestRequired_(a);g.pattern="^(?!([\r\n\t\f\v ]+)$).*$";this.manifestField_=g},g=>{a.manifestUri=g.value});f=
253
- shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME);this.makeField_(e,f,(g,h)=>{g.value=a.name;b.push(g);const k=document.createElement("span");k.classList.add("mdl-textfield__error");k.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME_ERROR);h.appendChild(k);g.required=!0;g.pattern="^(?!( *";for(const l of this.assets_)l!=a&&(g.pattern+="|"+l.name.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));g.pattern+=")$).*$"},g=>{a.name=g.value});f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.ICON_URL);
252
+ null,shakaDemo.InputContainer.Style.VERTICAL,null);var f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL);this.makeField_(e,f,(g,h)=>{g.value=a.manifestUri;b.push(g);const k=document.createElement("span");k.classList.add("mdl-textfield__error");k.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL_ERROR);h.appendChild(k);g.required=this.checkManifestRequired_(a);g.pattern="^(?!([\r\n\t\f\v ]+)$).*$";this.manifestField_=g},g=>{a.manifestUri=g.value.trim()});
253
+ f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME);this.makeField_(e,f,(g,h)=>{g.value=a.name;b.push(g);const k=document.createElement("span");k.classList.add("mdl-textfield__error");k.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME_ERROR);h.appendChild(k);g.required=!0;g.pattern="^(?!( *";for(const l of this.assets_)l!=a&&(g.pattern+="|"+l.name.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));g.pattern+=")$).*$"},g=>{a.name=g.value});f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.ICON_URL);
254
254
  this.makeField_(e,f,(g,h)=>{a.iconUri&&(g.value=a.iconUri,h=document.createElement("img"),h.src=g.value,h.alt="",c.appendChild(h))},g=>{shaka.util.Dom.removeAllChildren(c);if(a.iconUri=g.value){const h=document.createElement("img");h.src=g.value;h.alt="";c.appendChild(h)}});f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MIME_TYPE);this.makeField_(e,f,(g,h)=>{a.mimeType&&(g.value=a.mimeType)},g=>{a.mimeType=g.value||null});return d}checkManifestRequired_(a){return!(a.imaContentSrcId&&a.imaVideoId||
255
255
  null!=a.imaAssetKey)}makeAssetDialogContentsFinish_(a,b){const c=document.createElement("tr"),d=shakaDemo.Custom.ButtonStyle_.RAISED;var e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.SAVE_BUTTON);c.appendChild(this.makeButton_(e,d,()=>{for(const f of b)if(!f.validity.valid)return;shakaDemoMain.setupOfflineSupport(a);this.assets_.add(a);this.saveAssetInfos_(this.assets_);this.remakeSavedList_();this.dialog_.close()}));e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CANCEL_BUTTON);
256
256
  c.appendChild(this.makeButton_(e,d,()=>{this.dialog_.close()}));return c}showAssetDialog_(a){shaka.util.Dom.removeAllChildren(this.dialog_);var b=[];const c=document.createElement("div"),d=this.makeAssetDialogContentsMain_(a,b,c),e=this.makeAssetDialogContentsDrm_(a,b),f=this.makeAssetDialogContentsHeaders_(a,b),g=this.makeAssetDialogContentsAds_(a,b),h=this.makeAssetDialogContentsHLS_(a,b),k=this.makeAssetDialogContentsExtra_(a,b);a=this.makeAssetDialogContentsFinish_(a,b);const l=document.createElement("tr"),