shaka-player 4.3.8 → 4.3.9

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 (63) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +11 -0
  2. package/.github/workflows/build-and-test.yaml +8 -0
  3. package/.github/workflows/selenium-lab-tests.yaml +3 -2
  4. package/.github/workflows/update-issues.yaml +1 -0
  5. package/CHANGELOG.md +19 -0
  6. package/dist/deps.js +1 -1
  7. package/dist/locales.js +30 -30
  8. package/dist/shaka-player.compiled.d.ts +2 -2
  9. package/dist/shaka-player.compiled.debug.d.ts +2 -2
  10. package/dist/shaka-player.compiled.debug.js +50 -48
  11. package/dist/shaka-player.compiled.debug.map +3 -3
  12. package/dist/shaka-player.compiled.js +385 -385
  13. package/dist/shaka-player.compiled.map +2 -2
  14. package/dist/shaka-player.ui.d.ts +2 -2
  15. package/dist/shaka-player.ui.debug.d.ts +2 -2
  16. package/dist/shaka-player.ui.debug.js +54 -52
  17. package/dist/shaka-player.ui.debug.map +3 -3
  18. package/dist/shaka-player.ui.js +400 -399
  19. package/dist/shaka-player.ui.map +3 -3
  20. package/docs/tutorials/selenium-grid-config.md +60 -8
  21. package/externs/shaka/manifest.js +5 -1
  22. package/externs/shaka/offline.js +5 -1
  23. package/karma.conf.js +50 -7
  24. package/lib/abr/simple_abr_manager.js +5 -5
  25. package/lib/dash/dash_parser.js +1 -0
  26. package/lib/hls/hls_parser.js +1 -0
  27. package/lib/media/media_source_engine.js +6 -5
  28. package/lib/media/streaming_engine.js +2 -2
  29. package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
  30. package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
  31. package/lib/offline/manifest_converter.js +1 -0
  32. package/lib/offline/storage.js +1 -0
  33. package/lib/player.js +9 -5
  34. package/lib/polyfill/orientation.js +34 -7
  35. package/lib/text/vtt_text_parser.js +1 -0
  36. package/lib/util/manifest_parser_utils.js +4 -2
  37. package/lib/util/periods.js +2 -0
  38. package/lib/util/platform.js +14 -0
  39. package/lib/util/stream_utils.js +69 -26
  40. package/package.json +2 -2
  41. package/test/cast/cast_utils_unit.js +4 -1
  42. package/test/hls/hls_parser_unit.js +72 -0
  43. package/test/media/adaptation_set_unit.js +1 -0
  44. package/test/media/drm_engine_integration.js +2 -2
  45. package/test/media/media_source_engine_unit.js +1 -1
  46. package/test/media/segment_index_unit.js +3 -3
  47. package/test/media/streaming_engine_integration.js +14 -11
  48. package/test/offline/manifest_convert_unit.js +5 -0
  49. package/test/offline/offline_integration.js +6 -3
  50. package/test/player_external.js +19 -16
  51. package/test/player_integration.js +35 -48
  52. package/test/player_src_equals_integration.js +9 -5
  53. package/test/test/util/fake_demo_main.js +7 -3
  54. package/test/test/util/layout_tests.js +2 -2
  55. package/test/test/util/manifest_generator.js +2 -0
  56. package/test/test/util/offline_utils.js +1 -0
  57. package/test/test/util/streaming_engine_util.js +3 -0
  58. package/test/test/util/ui_utils.js +9 -2
  59. package/test/test/util/util.js +6 -27
  60. package/test/test/util/waiter.js +73 -3
  61. package/test/ui/ad_ui_unit.js +9 -9
  62. package/test/util/stream_utils_unit.js +46 -0
  63. package/ui/range_element.js +5 -0
@@ -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
 
@@ -125,6 +125,14 @@ 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
+
128
136
  # Some CI images (self-hosted or otherwise) don't have the minimum Java
129
137
  # version necessary for the compiler (Java 11).
130
138
  - uses: actions/setup-java@v3
@@ -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,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.3.9](https://github.com/shaka-project/shaka-player/compare/v4.3.8...v4.3.9) (2023-08-21)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * add MIME type for HTML5 tracks ([#5452](https://github.com/shaka-project/shaka-player/issues/5452)) ([5fb44db](https://github.com/shaka-project/shaka-player/commit/5fb44dba6d7670e24e8df90fe96588ce2a48c92b))
9
+ * Default language to 'und' for native tracks ([#5464](https://github.com/shaka-project/shaka-player/issues/5464)) ([c31f3db](https://github.com/shaka-project/shaka-player/commit/c31f3db9c3efe44dfd28e03db64628827fdf9b5f))
10
+ * Fix exiting fullscreen on Safari ([#5439](https://github.com/shaka-project/shaka-player/issues/5439)) ([81626b2](https://github.com/shaka-project/shaka-player/commit/81626b20ada137305cbaae808315244eaa84906d)), 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)) ([f8cb6ef](https://github.com/shaka-project/shaka-player/commit/f8cb6ef50a5501a92a94e13099a80690fb7b046d))
12
+ * Fix playRangeEnd does not work with HLS streams ([#5494](https://github.com/shaka-project/shaka-player/issues/5494)) ([899eb07](https://github.com/shaka-project/shaka-player/commit/899eb0725f842df21f927a8c63a02e40986bd7fc))
13
+ * gettting maxWidth and maxHeight for restrictToElementSize option ([#5481](https://github.com/shaka-project/shaka-player/issues/5481)) ([053da3b](https://github.com/shaka-project/shaka-player/commit/053da3b7ad60abb2848ad8848cd017d83a4316c6))
14
+ * **HLS:** Fix external subtitles out of sync in HLS ([#5491](https://github.com/shaka-project/shaka-player/issues/5491)) ([38c8a88](https://github.com/shaka-project/shaka-player/commit/38c8a88a9c04e25b02784c00117f6a3ff11e007d))
15
+ * Remove duplicate adaptation event before init ([#5492](https://github.com/shaka-project/shaka-player/issues/5492)) ([75a55b5](https://github.com/shaka-project/shaka-player/commit/75a55b580baebf35a1e26e8cd7920025bc3e1b8a))
16
+ * Support fLaC and Opus codec strings in HLS ([#5454](https://github.com/shaka-project/shaka-player/issues/5454)) ([09bdd61](https://github.com/shaka-project/shaka-player/commit/09bdd61f6e47f4239bf5fbc3d60754f61ec5be94)), closes [#5453](https://github.com/shaka-project/shaka-player/issues/5453)
17
+ * **UI:** Disable right click on range elements ([#5497](https://github.com/shaka-project/shaka-player/issues/5497)) ([1c55e89](https://github.com/shaka-project/shaka-player/commit/1c55e89586e1eb6be620af86061d981349643a28))
18
+ * Update karma-local-wd-launcher to fix Chromedriver &gt;= 115, fix M1 mac ([#5489](https://github.com/shaka-project/shaka-player/issues/5489)) ([1ce673b](https://github.com/shaka-project/shaka-player/commit/1ce673b0442ea401037fc084342a3cd3ff801f21))
19
+ * Update karma-local-wd-launcher to fix Edge &gt;= 115 ([#5506](https://github.com/shaka-project/shaka-player/issues/5506)) ([4a9bc9b](https://github.com/shaka-project/shaka-player/commit/4a9bc9b2cef1f5c352eeebf6998162260a2973db))
20
+ * **WebVTT:** Fix text-shadow in WebVTT not working ([#5499](https://github.com/shaka-project/shaka-player/issues/5499)) ([d78547a](https://github.com/shaka-project/shaka-player/commit/d78547a79b8356b6040dbc73d922b1b87822b541))
21
+
3
22
  ## [4.3.8](https://github.com/shaka-project/shaka-player/compare/v4.3.7...v4.3.8) (2023-07-21)
4
23
 
5
24
 
package/dist/deps.js CHANGED
@@ -122,7 +122,7 @@ goog.addDependency('../../../../lib/polyfill/encryption_scheme.js', ['shaka.poly
122
122
  goog.addDependency('../../../../lib/polyfill/fullscreen.js', ['shaka.polyfill.Fullscreen'], ['shaka.polyfill'], {'lang': 'es6'});
123
123
  goog.addDependency('../../../../lib/polyfill/media_capabilities.js', ['shaka.polyfill.MediaCapabilities'], ['shaka.log', 'shaka.media.Capabilities', 'shaka.polyfill', 'shaka.util.Platform'], {'lang': 'es8'});
124
124
  goog.addDependency('../../../../lib/polyfill/mediasource.js', ['shaka.polyfill.MediaSource'], ['shaka.log', 'shaka.polyfill', 'shaka.util.MimeUtils', 'shaka.util.Platform'], {'lang': 'es6'});
125
- goog.addDependency('../../../../lib/polyfill/orientation.js', ['shaka.polyfill.Orientation'], ['shaka.polyfill', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget'], {'lang': 'es6'});
125
+ goog.addDependency('../../../../lib/polyfill/orientation.js', ['shaka.polyfill.Orientation'], ['shaka.log', 'shaka.polyfill', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget'], {'lang': 'es6'});
126
126
  goog.addDependency('../../../../lib/polyfill/patchedmediakeys_apple.js', ['shaka.polyfill.PatchedMediaKeysApple'], ['goog.asserts', 'shaka.log', 'shaka.media.DrmEngine', 'shaka.polyfill', 'shaka.util.BufferUtils', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.MediaReadyState', 'shaka.util.PublicPromise', 'shaka.util.StringUtils'], {'lang': 'es8'});
127
127
  goog.addDependency('../../../../lib/polyfill/patchedmediakeys_nop.js', ['shaka.polyfill.PatchedMediaKeysNop'], ['goog.asserts', 'shaka.log', 'shaka.polyfill'], {'lang': 'es6'});
128
128
  goog.addDependency('../../../../lib/polyfill/patchedmediakeys_webkit.js', ['shaka.polyfill.PatchedMediaKeysWebkit'], ['goog.asserts', 'shaka.log', 'shaka.media.DrmEngine', 'shaka.polyfill', 'shaka.util.BufferUtils', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.PublicPromise', 'shaka.util.StringUtils', 'shaka.util.Timer', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es6'});
package/dist/locales.js CHANGED
@@ -721,45 +721,45 @@ shaka.ui.Locales.addTo = function(localization) {
721
721
  * @const
722
722
  */
723
723
  shaka.ui.Locales.Ids = {
724
- SKIP_AD: 'SKIP_AD',
725
- PLAY: 'PLAY',
726
- LIVE: 'LIVE',
727
- UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
728
724
  VOLUME: 'VOLUME',
729
- AD_DURATION: 'AD_DURATION',
725
+ REPLAY: 'REPLAY',
726
+ EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
727
+ LANGUAGE: 'LANGUAGE',
730
728
  MUTE: 'MUTE',
731
- SEEK: 'SEEK',
732
- SKIP_TO_LIVE: 'SKIP_TO_LIVE',
733
- PLAYBACK_RATE: 'PLAYBACK_RATE',
729
+ SKIP_AD: 'SKIP_AD',
730
+ BACK: 'BACK',
734
731
  AIRPLAY: 'AIRPLAY',
735
- PAUSE: 'PAUSE',
736
- AD_PROGRESS: 'AD_PROGRESS',
737
- AD_TIME: 'AD_TIME',
738
- CAPTIONS: 'CAPTIONS',
732
+ SKIP_TO_LIVE: 'SKIP_TO_LIVE',
733
+ UNMUTE: 'UNMUTE',
739
734
  MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
740
- FAST_FORWARD: 'FAST_FORWARD',
741
- RESOLUTION: 'RESOLUTION',
742
- PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
743
- LANGUAGE: 'LANGUAGE',
735
+ LOOP: 'LOOP',
736
+ STATISTICS: 'STATISTICS',
737
+ SEEK: 'SEEK',
744
738
  OFF: 'OFF',
745
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
746
- REWIND: 'REWIND',
739
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
740
+ AD_PROGRESS: 'AD_PROGRESS',
747
741
  CAST: 'CAST',
748
- AUTO_QUALITY: 'AUTO_QUALITY',
749
- UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
750
- EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
751
- EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
752
- REPLAY: 'REPLAY',
753
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
742
+ RESOLUTION: 'RESOLUTION',
743
+ CAPTIONS: 'CAPTIONS',
754
744
  NOT_APPLICABLE: 'NOT_APPLICABLE',
745
+ PLAY: 'PLAY',
746
+ QUALITY: 'QUALITY',
747
+ FAST_FORWARD: 'FAST_FORWARD',
748
+ AD_TIME: 'AD_TIME',
755
749
  FULL_SCREEN: 'FULL_SCREEN',
750
+ PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
751
+ UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
752
+ AD_DURATION: 'AD_DURATION',
756
753
  ON: 'ON',
757
- QUALITY: 'QUALITY',
758
- STATISTICS: 'STATISTICS',
754
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
755
+ AUTO_QUALITY: 'AUTO_QUALITY',
756
+ PAUSE: 'PAUSE',
757
+ PLAYBACK_RATE: 'PLAYBACK_RATE',
758
+ UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
759
759
  MORE_SETTINGS: 'MORE_SETTINGS',
760
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
761
- UNMUTE: 'UNMUTE',
762
- BACK: 'BACK',
763
- LOOP: 'LOOP',
760
+ LIVE: 'LIVE',
761
+ REWIND: 'REWIND',
762
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
764
763
  EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
764
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
765
765
  };
@@ -3694,7 +3694,7 @@ declare namespace shaka.extern {
3694
3694
  }
3695
3695
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
3696
3696
  declare namespace shaka.extern {
3697
- type Stream = { audioSamplingRate : number | null , bandwidth ? : number , channelsCount : number | null , closeSegmentIndex ? : ( ) => any , closedCaptions : Map < string , string > | null , codecs : string , createSegmentIndex : shaka.extern.CreateSegmentIndexFunction , drmInfos : shaka.extern.DrmInfo [] , emsgSchemeIdUris : string [] | null , encrypted : boolean , forced : boolean , frameRate ? : number , hdr ? : string , height ? : number , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , matchedStreams ? : any [] , mimeType : string , originalId : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segmentIndex : shaka.media.SegmentIndex | null , spatialAudio : boolean , tilesLayout ? : string , trickModeVideo : any , type : string , width ? : number } ;
3697
+ type Stream = { audioSamplingRate : number | null , bandwidth ? : number , channelsCount : number | null , closeSegmentIndex ? : ( ) => any , closedCaptions : Map < string , string > | null , codecs : string , createSegmentIndex : shaka.extern.CreateSegmentIndexFunction , drmInfos : shaka.extern.DrmInfo [] , emsgSchemeIdUris : string [] | null , encrypted : boolean , external : boolean , forced : boolean , frameRate ? : number , hdr ? : string , height ? : number , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , matchedStreams ? : any [] , mimeType : string , originalId : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segmentIndex : shaka.media.SegmentIndex | null , spatialAudio : boolean , tilesLayout ? : string , trickModeVideo : any , type : string , width ? : number } ;
3698
3698
  }
3699
3699
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
3700
3700
  declare namespace shaka.extern {
@@ -3994,7 +3994,7 @@ declare namespace shaka.extern {
3994
3994
  }
3995
3995
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
3996
3996
  declare namespace shaka.extern {
3997
- type StreamDB = { audioSamplingRate : number | null , channelsCount : number | null , closedCaptions : Map < string , string > | null , codecs : string , encrypted : boolean , forced : boolean , frameRate ? : number , hdr ? : string , height : number | null , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , mimeType : string , originalId : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segments : shaka.extern.SegmentDB [] , spatialAudio : boolean , tilesLayout ? : string , type : string , variantIds : number [] , width : number | null } ;
3997
+ type StreamDB = { audioSamplingRate : number | null , channelsCount : number | null , closedCaptions : Map < string , string > | null , codecs : string , encrypted : boolean , external : boolean , forced : boolean , frameRate ? : number , hdr ? : string , height : number | null , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , mimeType : string , originalId : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segments : shaka.extern.SegmentDB [] , spatialAudio : boolean , tilesLayout ? : string , type : string , variantIds : number [] , width : number | null } ;
3998
3998
  }
3999
3999
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline_compat_v1.js
4000
4000
  declare namespace shaka.extern {
@@ -3694,7 +3694,7 @@ declare namespace shaka.extern {
3694
3694
  }
3695
3695
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
3696
3696
  declare namespace shaka.extern {
3697
- type Stream = { audioSamplingRate : number | null , bandwidth ? : number , channelsCount : number | null , closeSegmentIndex ? : ( ) => any , closedCaptions : Map < string , string > | null , codecs : string , createSegmentIndex : shaka.extern.CreateSegmentIndexFunction , drmInfos : shaka.extern.DrmInfo [] , emsgSchemeIdUris : string [] | null , encrypted : boolean , forced : boolean , frameRate ? : number , hdr ? : string , height ? : number , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , matchedStreams ? : any [] , mimeType : string , originalId : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segmentIndex : shaka.media.SegmentIndex | null , spatialAudio : boolean , tilesLayout ? : string , trickModeVideo : any , type : string , width ? : number } ;
3697
+ type Stream = { audioSamplingRate : number | null , bandwidth ? : number , channelsCount : number | null , closeSegmentIndex ? : ( ) => any , closedCaptions : Map < string , string > | null , codecs : string , createSegmentIndex : shaka.extern.CreateSegmentIndexFunction , drmInfos : shaka.extern.DrmInfo [] , emsgSchemeIdUris : string [] | null , encrypted : boolean , external : boolean , forced : boolean , frameRate ? : number , hdr ? : string , height ? : number , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , matchedStreams ? : any [] , mimeType : string , originalId : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segmentIndex : shaka.media.SegmentIndex | null , spatialAudio : boolean , tilesLayout ? : string , trickModeVideo : any , type : string , width ? : number } ;
3698
3698
  }
3699
3699
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
3700
3700
  declare namespace shaka.extern {
@@ -3994,7 +3994,7 @@ declare namespace shaka.extern {
3994
3994
  }
3995
3995
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
3996
3996
  declare namespace shaka.extern {
3997
- type StreamDB = { audioSamplingRate : number | null , channelsCount : number | null , closedCaptions : Map < string , string > | null , codecs : string , encrypted : boolean , forced : boolean , frameRate ? : number , hdr ? : string , height : number | null , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , mimeType : string , originalId : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segments : shaka.extern.SegmentDB [] , spatialAudio : boolean , tilesLayout ? : string , type : string , variantIds : number [] , width : number | null } ;
3997
+ type StreamDB = { audioSamplingRate : number | null , channelsCount : number | null , closedCaptions : Map < string , string > | null , codecs : string , encrypted : boolean , external : boolean , forced : boolean , frameRate ? : number , hdr ? : string , height : number | null , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , mimeType : string , originalId : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segments : shaka.extern.SegmentDB [] , spatialAudio : boolean , tilesLayout ? : string , type : string , variantIds : number [] , width : number | null } ;
3998
3998
  }
3999
3999
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline_compat_v1.js
4000
4000
  declare namespace shaka.extern {