shaka-player 4.6.17 → 4.6.18

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 (48) hide show
  1. package/.github/workflows/build-and-test.yaml +17 -4
  2. package/.github/workflows/release-please.yaml +2 -2
  3. package/AUTHORS +1 -0
  4. package/CHANGELOG.md +24 -0
  5. package/CONTRIBUTORS +1 -0
  6. package/dist/locales.js +32 -32
  7. package/dist/shaka-player.compiled.d.ts +1 -0
  8. package/dist/shaka-player.compiled.debug.d.ts +1 -0
  9. package/dist/shaka-player.compiled.debug.externs.js +4 -0
  10. package/dist/shaka-player.compiled.debug.js +200 -196
  11. package/dist/shaka-player.compiled.debug.map +3 -3
  12. package/dist/shaka-player.compiled.externs.js +4 -0
  13. package/dist/shaka-player.compiled.js +1082 -1079
  14. package/dist/shaka-player.compiled.map +3 -3
  15. package/dist/shaka-player.ui.d.ts +1 -0
  16. package/dist/shaka-player.ui.debug.d.ts +1 -0
  17. package/dist/shaka-player.ui.debug.externs.js +4 -0
  18. package/dist/shaka-player.ui.debug.js +216 -211
  19. package/dist/shaka-player.ui.debug.map +3 -3
  20. package/dist/shaka-player.ui.externs.js +4 -0
  21. package/dist/shaka-player.ui.js +1234 -1231
  22. package/dist/shaka-player.ui.map +3 -3
  23. package/docs/tutorials/ui.md +4 -4
  24. package/karma.conf.js +1 -0
  25. package/lib/ads/client_side_ad_manager.js +4 -2
  26. package/lib/dash/segment_template.js +24 -1
  27. package/lib/media/drm_engine.js +17 -3
  28. package/lib/media/media_source_engine.js +13 -3
  29. package/lib/media/playhead.js +3 -3
  30. package/lib/media/segment_index.js +10 -0
  31. package/lib/media/segment_reference.js +12 -0
  32. package/lib/media/streaming_engine.js +8 -14
  33. package/lib/player.js +42 -15
  34. package/lib/text/ui_text_displayer.js +10 -1
  35. package/lib/util/platform.js +31 -9
  36. package/lib/util/stream_utils.js +6 -2
  37. package/maintained-branches.md +5 -0
  38. package/package.json +1 -1
  39. package/roadmap.md +22 -5
  40. package/test/codec_switching/codec_switching_integration.js +183 -13
  41. package/test/media/media_source_engine_unit.js +105 -148
  42. package/test/media/playhead_unit.js +1 -1
  43. package/test/player_unit.js +1 -1
  44. package/test/test/assets/dash-multi-codec-ec3/ChID_voices_6ch_256kbps_ddp.mp4 +0 -0
  45. package/test/test/assets/dash-multi-codec-ec3/ChID_voices_6ch_640kbps_aac.mp4 +0 -0
  46. package/test/test/assets/dash-multi-codec-ec3/dash.mpd +32 -0
  47. package/test/util/platform_unit.js +54 -0
  48. package/ui/resolution_selection.js +1 -0
@@ -53,12 +53,17 @@ jobs:
53
53
  browser: Edge
54
54
  extra_flags: "--use-xvfb"
55
55
 
56
- - os: macos-latest
56
+ # Use macos-13 for these browsers, due to
57
+ # https://github.com/shaka-project/shaka-player/issues/6508
58
+ # Matching checks for macos-13 below should be updated as well when
59
+ # this is reverted.
60
+ - os: macos-13
57
61
  browser: Chrome
58
- - os: macos-latest
62
+ - os: macos-13
59
63
  browser: Firefox
60
- - os: macos-latest
64
+ - os: macos-13
61
65
  browser: Edge
66
+
62
67
  - os: macos-latest
63
68
  browser: Safari
64
69
  - os: macos-latest
@@ -119,13 +124,21 @@ jobs:
119
124
  # causing many of our test scenarios to fail. Deleting "Chrome for
120
125
  # Testing" fixes this.
121
126
  - name: 'Delete "Chrome for Testing" on Mac'
122
- if: matrix.os == 'macos-latest' && matrix.browser == 'Chrome'
127
+ if: matrix.os == 'macos-13' && matrix.browser == 'Chrome'
123
128
  run: sudo rm -rf /Applications/Google\ Chrome\ for\ Testing.app
124
129
  - name: 'Overwrite "Chrome for Testing" on Windows'
125
130
  if: matrix.os == 'windows-latest' && matrix.browser == 'Chrome'
126
131
  shell: bash
127
132
  run: choco install -y googlechrome --ignore-checksums
128
133
 
134
+ # Firefox and Edge might be missing on Mac CI images.
135
+ - name: 'Install Firefox on Mac'
136
+ if: matrix.os == 'macos-13' && matrix.browser == 'Firefox'
137
+ run: brew install --cask firefox
138
+ - name: 'Install Edge on Mac'
139
+ if: matrix.os == 'macos-13' && matrix.browser == 'Edge'
140
+ run: brew install --cask microsoft-edge
141
+
129
142
  # Some CI images (self-hosted or otherwise) don't have the minimum Java
130
143
  # version necessary for the compiler (Java 11).
131
144
  - uses: actions/setup-java@v4
@@ -32,7 +32,7 @@ jobs:
32
32
  tag-main:
33
33
  runs-on: ubuntu-latest
34
34
  needs: release
35
- if: needs.release.outputs.release_created && needs.release.outputs.patch == '0'
35
+ if: needs.release.outputs.release_created && needs.release.outputs.patch != '0'
36
36
  steps:
37
37
  - uses: actions/checkout@v4
38
38
  with:
@@ -156,7 +156,7 @@ jobs:
156
156
  else
157
157
  APPSPOT_PROMOTE=false
158
158
  fi
159
- APPSPOT_PROMOTE=$APPSPOT_PROMOTE >> $GITHUB_ENV
159
+ echo APPSPOT_PROMOTE=$APPSPOT_PROMOTE >> $GITHUB_ENV
160
160
 
161
161
  # Debug the decisions made here.
162
162
  echo "Subdomain: $APPSPOT_SUBDOMAIN"
package/AUTHORS CHANGED
@@ -28,6 +28,7 @@ Bonnier Broadcasting <*@bonnierbroadcasting.com>
28
28
  Bryan Huh <bhh1988@gmail.com>
29
29
  Charter Communications Inc <*@charter.com>
30
30
  Code It <*@code-it.fr>
31
+ Cristian Atehortua <cristian25a32@gmail.com>
31
32
  Damien Deis <developer.deis@gmail.com>
32
33
  Dany L'Hébreux <danylhebreux@gmail.com>
33
34
  Dave Nicholas <davenicholasuk@gmail.com>
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.6.18](https://github.com/shaka-project/shaka-player/compare/v4.6.17...v4.6.18) (2024-05-07)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **Ads:** Fix ad pausing when using customPlayheadTracker ([#6444](https://github.com/shaka-project/shaka-player/issues/6444)) ([0bbdb00](https://github.com/shaka-project/shaka-player/commit/0bbdb00c9af4fbb1993da70429b1a33964ecda1a))
9
+ * call to load in MediaElement using src= in HLS Safari ([#6478](https://github.com/shaka-project/shaka-player/issues/6478)) ([96bc67e](https://github.com/shaka-project/shaka-player/commit/96bc67e5d91374b63713e71c78f1a4591d9aa4d8))
10
+ * clear listeners when resetting media source ([#6449](https://github.com/shaka-project/shaka-player/issues/6449)) ([d84a794](https://github.com/shaka-project/shaka-player/commit/d84a79438b1316b0db91e7ee45ac5f06d8e6cbf7))
11
+ * **DASH:** decrease memory preasure on manifest with SegmentReference by updating old initSegmentReference ([#6499](https://github.com/shaka-project/shaka-player/issues/6499)) ([4df22d2](https://github.com/shaka-project/shaka-player/commit/4df22d2495b0324e8552efc2b165ba597c862d76))
12
+ * **DASH:** Fix get partial current position for LL when using SegmentTemplate@duration ([#6516](https://github.com/shaka-project/shaka-player/issues/6516)) ([136befa](https://github.com/shaka-project/shaka-player/commit/136befaf623b0b6c79010c30bb6d72bf920b7e54))
13
+ * Do not make LICENSE_REQUEST_FAILED fatal if other keys are successful ([#6457](https://github.com/shaka-project/shaka-player/issues/6457)) ([69e58f7](https://github.com/shaka-project/shaka-player/commit/69e58f7472891f053e10a24e849cc312828f817a))
14
+ * Don't update captions when video is paused ([#6474](https://github.com/shaka-project/shaka-player/issues/6474)) ([cd4b692](https://github.com/shaka-project/shaka-player/commit/cd4b692d8ca2307b1d2d752a629ef5a62646f4b8))
15
+ * Fix duplicate init segment download when using startAtSegmentBoundary ([#6479](https://github.com/shaka-project/shaka-player/issues/6479)) ([b94c94a](https://github.com/shaka-project/shaka-player/commit/b94c94a29fc9bd29554daeb78201dfc0c7970149))
16
+ * Fix exceptions in StreamingEngine when reloading ([#6466](https://github.com/shaka-project/shaka-player/issues/6466)) ([6505d1a](https://github.com/shaka-project/shaka-player/commit/6505d1a2e8d8bcc7e555b1235d388769349e70bf))
17
+ * Fix flac detection in Safari ([#6497](https://github.com/shaka-project/shaka-player/issues/6497)) ([5809c1c](https://github.com/shaka-project/shaka-player/commit/5809c1c276086d86c338e01ee37db4e206c9bcbc))
18
+ * Fix reusing region elements in UITextDisplayer ([#6476](https://github.com/shaka-project/shaka-player/issues/6476)) ([c753a72](https://github.com/shaka-project/shaka-player/commit/c753a72c72f0126cf3682b732d3219a9440eb17b))
19
+ * Fix seeking timeouts ([#6539](https://github.com/shaka-project/shaka-player/issues/6539)) ([f81908f](https://github.com/shaka-project/shaka-player/commit/f81908f28343069fcceb1f1c0fb27b1654be5570)), closes [#5202](https://github.com/shaka-project/shaka-player/issues/5202)
20
+ * Fix support of getAllThumbnails when using DASH multi-period ([#6464](https://github.com/shaka-project/shaka-player/issues/6464)) ([1aa29a2](https://github.com/shaka-project/shaka-player/commit/1aa29a2fa2baaa2428335ec3e93d01678f9c45f8))
21
+ * Fix uncaught global OBJECT_DESTROYED errors ([#6460](https://github.com/shaka-project/shaka-player/issues/6460)) ([08e736c](https://github.com/shaka-project/shaka-player/commit/08e736ceb4e38a3559be61a81749c0114a84b360))
22
+ * Fix webOS 4 & 5 utility methods ([#6463](https://github.com/shaka-project/shaka-player/issues/6463)) ([f3ba2a6](https://github.com/shaka-project/shaka-player/commit/f3ba2a62aecfdbfd3a9d9a028559c2afdaa2dc46))
23
+ * Handle non existing navigator.platform string ([#6517](https://github.com/shaka-project/shaka-player/issues/6517)) ([#6518](https://github.com/shaka-project/shaka-player/issues/6518)) ([3747b8e](https://github.com/shaka-project/shaka-player/commit/3747b8e816cae278bca9bc04e84dad3d420580af))
24
+ * reBufferingGoal is not respected ([#6433](https://github.com/shaka-project/shaka-player/issues/6433)) ([f6f4771](https://github.com/shaka-project/shaka-player/commit/f6f4771387b315969db05279b416cf2238737812))
25
+ * **UI:** Allow show same resolution with different video bandwidth ([#6536](https://github.com/shaka-project/shaka-player/issues/6536)) ([8ba6503](https://github.com/shaka-project/shaka-player/commit/8ba6503276826278041f7f6cfffd3e01c3c481b7))
26
+
3
27
  ## [4.6.17](https://github.com/shaka-project/shaka-player/compare/v4.6.16...v4.6.17) (2024-04-15)
4
28
 
5
29
 
package/CONTRIBUTORS CHANGED
@@ -44,6 +44,7 @@ Casey Occhialini <casey.occhialini@gmail.com>
44
44
  Chad Assareh <assareh@google.com>
45
45
  Chris Fillmore <fillmore.chris@gmail.com>
46
46
  Costel Madalin Grecu <madalin.grecu@adswizz.com>
47
+ Cristian Atehortua <cristian25a32@gmail.com>
47
48
  Damien Deis <developer.deis@gmail.com>
48
49
  Dany L'Hébreux <danylhebreux@gmail.com>
49
50
  Dave Nicholas <davenicholasuk@gmail.com>
package/dist/locales.js CHANGED
@@ -724,46 +724,46 @@ shaka.ui.Locales.addTo = function(localization) {
724
724
  * @const
725
725
  */
726
726
  shaka.ui.Locales.Ids = {
727
+ STATISTICS: 'STATISTICS',
728
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
729
+ REPLAY: 'REPLAY',
730
+ NOT_APPLICABLE: 'NOT_APPLICABLE',
727
731
  FAST_FORWARD: 'FAST_FORWARD',
732
+ UNMUTE: 'UNMUTE',
733
+ LANGUAGE: 'LANGUAGE',
734
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
735
+ CAPTIONS: 'CAPTIONS',
728
736
  REWIND: 'REWIND',
729
- PAUSE: 'PAUSE',
730
- PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
731
- FULL_SCREEN: 'FULL_SCREEN',
732
- EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
733
- MUTE: 'MUTE',
734
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
735
- NOT_APPLICABLE: 'NOT_APPLICABLE',
737
+ MORE_SETTINGS: 'MORE_SETTINGS',
738
+ AIRPLAY: 'AIRPLAY',
739
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
740
+ SURROUND: 'SURROUND',
741
+ UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
742
+ AUTO_QUALITY: 'AUTO_QUALITY',
736
743
  OFF: 'OFF',
737
- RESOLUTION: 'RESOLUTION',
738
- AD_DURATION: 'AD_DURATION',
739
744
  AD_TIME: 'AD_TIME',
740
745
  CAST: 'CAST',
741
- PLAY: 'PLAY',
742
- AIRPLAY: 'AIRPLAY',
743
- SURROUND: 'SURROUND',
744
- UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
745
- STATISTICS: 'STATISTICS',
746
+ MUTE: 'MUTE',
747
+ PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
748
+ LIVE: 'LIVE',
749
+ SKIP_TO_LIVE: 'SKIP_TO_LIVE',
750
+ RESOLUTION: 'RESOLUTION',
751
+ EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
746
752
  LOOP: 'LOOP',
747
753
  VOLUME: 'VOLUME',
754
+ AD_DURATION: 'AD_DURATION',
755
+ BACK: 'BACK',
756
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
757
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
758
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
748
759
  PLAYBACK_RATE: 'PLAYBACK_RATE',
749
- CAPTIONS: 'CAPTIONS',
750
- SEEK: 'SEEK',
751
- AD_PROGRESS: 'AD_PROGRESS',
752
760
  QUALITY: 'QUALITY',
753
- MORE_SETTINGS: 'MORE_SETTINGS',
754
- EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
755
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
756
- AUTO_QUALITY: 'AUTO_QUALITY',
757
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
758
- UNMUTE: 'UNMUTE',
759
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
760
- LANGUAGE: 'LANGUAGE',
761
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
762
- SKIP_TO_LIVE: 'SKIP_TO_LIVE',
763
- LIVE: 'LIVE',
764
- ON: 'ON',
765
- BACK: 'BACK',
766
- REPLAY: 'REPLAY',
767
- UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
761
+ AD_PROGRESS: 'AD_PROGRESS',
768
762
  SKIP_AD: 'SKIP_AD',
763
+ UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
764
+ ON: 'ON',
765
+ PAUSE: 'PAUSE',
766
+ FULL_SCREEN: 'FULL_SCREEN',
767
+ PLAY: 'PLAY',
768
+ SEEK: 'SEEK',
769
769
  };
@@ -1050,6 +1050,7 @@ declare namespace shaka.media {
1050
1050
  evict (time : number ) : any ;
1051
1051
  find (time : number ) : number | null ;
1052
1052
  fit (windowStart : number , windowEnd : number | null , c ? : boolean ) : any ;
1053
+ forEachTopLevelReference (fn : any ) : any ;
1053
1054
  get (position : number ) : shaka.media.SegmentReference | null ;
1054
1055
  merge (references : any ) : any ;
1055
1056
  mergeAndEvict (references : shaka.media.SegmentReference [] , windowStart : number ) : any ;
@@ -1050,6 +1050,7 @@ declare namespace shaka.media {
1050
1050
  evict (time : number ) : any ;
1051
1051
  find (time : number ) : number | null ;
1052
1052
  fit (windowStart : number , windowEnd : number | null , c ? : boolean ) : any ;
1053
+ forEachTopLevelReference (fn : any ) : any ;
1053
1054
  get (position : number ) : shaka.media.SegmentReference | null ;
1054
1055
  merge (references : any ) : any ;
1055
1056
  mergeAndEvict (references : shaka.media.SegmentReference [] , windowStart : number ) : any ;
@@ -2697,6 +2697,10 @@ shaka.media.MetaSegmentIndex = class extends shaka.media.SegmentIndex {
2697
2697
  * @override
2698
2698
  */
2699
2699
  release() {}
2700
+ /**
2701
+ * @override
2702
+ */
2703
+ forEachTopLevelReference(fn) {}
2700
2704
  /**
2701
2705
  * @override
2702
2706
  */