shaka-player 4.3.2 → 4.3.3

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 (38) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/deps.js +1 -1
  3. package/dist/locales.js +32 -32
  4. package/dist/shaka-player.compiled.d.ts +10 -0
  5. package/dist/shaka-player.compiled.debug.d.ts +10 -0
  6. package/dist/shaka-player.compiled.debug.externs.js +12 -0
  7. package/dist/shaka-player.compiled.debug.js +120 -117
  8. package/dist/shaka-player.compiled.debug.map +3 -3
  9. package/dist/shaka-player.compiled.externs.js +12 -0
  10. package/dist/shaka-player.compiled.js +622 -619
  11. package/dist/shaka-player.compiled.map +3 -3
  12. package/dist/shaka-player.ui.d.ts +10 -0
  13. package/dist/shaka-player.ui.debug.d.ts +10 -0
  14. package/dist/shaka-player.ui.debug.externs.js +12 -0
  15. package/dist/shaka-player.ui.debug.js +132 -130
  16. package/dist/shaka-player.ui.debug.map +3 -3
  17. package/dist/shaka-player.ui.externs.js +12 -0
  18. package/dist/shaka-player.ui.js +408 -406
  19. package/dist/shaka-player.ui.map +3 -3
  20. package/lib/hls/hls_parser.js +39 -15
  21. package/lib/media/media_source_engine.js +34 -4
  22. package/lib/media/segment_index.js +5 -10
  23. package/lib/media/segment_reference.js +39 -0
  24. package/lib/media/streaming_engine.js +15 -3
  25. package/lib/player.js +7 -1
  26. package/lib/text/ui_text_displayer.js +24 -4
  27. package/lib/text/web_vtt_generator.js +21 -9
  28. package/lib/util/dom_utils.js +3 -1
  29. package/lib/util/stream_utils.js +6 -0
  30. package/lib/util/timer.js +17 -0
  31. package/package.json +1 -1
  32. package/test/hls/hls_live_unit.js +8 -30
  33. package/test/hls/hls_parser_unit.js +30 -0
  34. package/test/media/segment_index_unit.js +28 -0
  35. package/test/media/streaming_engine_unit.js +91 -119
  36. package/test/player_integration.js +27 -0
  37. package/test/player_unit.js +4 -2
  38. package/test/text/ui_text_displayer_unit.js +70 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.3.3](https://github.com/shaka-project/shaka-player/compare/v4.3.2...v4.3.3) (2023-01-13)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Fix exception enabling captions on HLS ([#4894](https://github.com/shaka-project/shaka-player/issues/4894)) ([1d0ad52](https://github.com/shaka-project/shaka-player/commit/1d0ad529e7e38be07df2ed08fb14a2b88098b7fc)), closes [#4889](https://github.com/shaka-project/shaka-player/issues/4889)
9
+ * Fix flattenedCues in WebVttGenerator ([#4867](https://github.com/shaka-project/shaka-player/issues/4867)) ([e062175](https://github.com/shaka-project/shaka-player/commit/e0621753a5b1342df34a87db462cc4dd18657c3b))
10
+ * Fix legacy codec support by rewriting codec metadata ([#4858](https://github.com/shaka-project/shaka-player/issues/4858)) ([92abfbc](https://github.com/shaka-project/shaka-player/commit/92abfbcca3e0288c4d2a31ef0771a4c0ed2d4405))
11
+ * Fix media source duration when using sequence mode ([#4848](https://github.com/shaka-project/shaka-player/issues/4848)) ([c9db2a0](https://github.com/shaka-project/shaka-player/commit/c9db2a073c096a7a97afc99fb10301aedbc96a87))
12
+ * Fix parsing error on Chromecast when resyncing HLS ([#4869](https://github.com/shaka-project/shaka-player/issues/4869)) ([6dfa6d7](https://github.com/shaka-project/shaka-player/commit/6dfa6d7abbc98c1d1bc18cf70cb6cf1ad80a83f4)), closes [#4589](https://github.com/shaka-project/shaka-player/issues/4589)
13
+ * Fix potential AV sync issues after seek or adaptation ([#4886](https://github.com/shaka-project/shaka-player/issues/4886)) ([72396b0](https://github.com/shaka-project/shaka-player/commit/72396b019dfe69a50526361be7bc5273786424c0)), closes [#4589](https://github.com/shaka-project/shaka-player/issues/4589)
14
+ * Fix potential duplicate segments, AV sync issues ([#4884](https://github.com/shaka-project/shaka-player/issues/4884)) ([0ac5d7e](https://github.com/shaka-project/shaka-player/commit/0ac5d7ef2ad50bbd61d183566888227e4a1dca78)), closes [#4589](https://github.com/shaka-project/shaka-player/issues/4589)
15
+ * **HLS:** Fix discontinuity tracking ([#4881](https://github.com/shaka-project/shaka-player/issues/4881)) ([2a0ab01](https://github.com/shaka-project/shaka-player/commit/2a0ab012ee11778b9e666014afd92dda2343a780)), closes [#4589](https://github.com/shaka-project/shaka-player/issues/4589)
16
+ * **HLS:** Fix support for mixed AES-128/NONE decryption ([#4847](https://github.com/shaka-project/shaka-player/issues/4847)) ([d495255](https://github.com/shaka-project/shaka-player/commit/d495255523aef39b3f6abd1aa3e5196e976c338f))
17
+ * Make encoding problem detection more robust ([#4885](https://github.com/shaka-project/shaka-player/issues/4885)) ([b1f5c9a](https://github.com/shaka-project/shaka-player/commit/b1f5c9af69dba7ba7eac352e444bd75a0d4f2ae6)), closes [#4589](https://github.com/shaka-project/shaka-player/issues/4589)
18
+ * Release region timeline when unloading ([#4871](https://github.com/shaka-project/shaka-player/issues/4871)) ([8795a66](https://github.com/shaka-project/shaka-player/commit/8795a66edaa5b9c26b687cb28dc194db56e63a9f)), closes [#4850](https://github.com/shaka-project/shaka-player/issues/4850)
19
+ * Sync each segment against EXT-X-PROGRAM-DATE-TIME ([#4870](https://github.com/shaka-project/shaka-player/issues/4870)) ([8f9162f](https://github.com/shaka-project/shaka-player/commit/8f9162f154cd63404bbe95667396a9b12fe73ca6)), closes [#4589](https://github.com/shaka-project/shaka-player/issues/4589)
20
+ * Treat regions uniquely ([#4841](https://github.com/shaka-project/shaka-player/issues/4841)) ([36a3a44](https://github.com/shaka-project/shaka-player/commit/36a3a442cffd2067a48759ad03d05d76efc5accf)), closes [#4839](https://github.com/shaka-project/shaka-player/issues/4839)
21
+ * **ui:** Avoid submitting form if player is inside form ([#4866](https://github.com/shaka-project/shaka-player/issues/4866)) ([fc98e1d](https://github.com/shaka-project/shaka-player/commit/fc98e1d90643ead45632e8a0fb43e5c18aa0a267)), closes [#4861](https://github.com/shaka-project/shaka-player/issues/4861)
22
+
3
23
  ## [4.3.2](https://github.com/shaka-project/shaka-player/compare/v4.3.1...v4.3.2) (2022-12-14)
4
24
 
5
25
 
package/dist/deps.js CHANGED
@@ -81,7 +81,7 @@ goog.addDependency('../../../../lib/media/quality_observer.js', ['shaka.media.Qu
81
81
  goog.addDependency('../../../../lib/media/region_observer.js', ['shaka.media.RegionObserver'], ['shaka.media.IPlayheadObserver', 'shaka.media.RegionTimeline', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget'], {'lang': 'es6'});
82
82
  goog.addDependency('../../../../lib/media/region_timeline.js', ['shaka.media.RegionTimeline'], ['shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
83
83
  goog.addDependency('../../../../lib/media/segment_index.js', ['shaka.media.MetaSegmentIndex', 'shaka.media.SegmentIndex', 'shaka.media.SegmentIterator'], ['goog.asserts', 'shaka.media.SegmentReference', 'shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es8'});
84
- goog.addDependency('../../../../lib/media/segment_reference.js', ['shaka.media.InitSegmentReference', 'shaka.media.SegmentReference'], ['goog.asserts', 'shaka.util.ArrayUtils'], {'lang': 'es6'});
84
+ goog.addDependency('../../../../lib/media/segment_reference.js', ['shaka.media.InitSegmentReference', 'shaka.media.SegmentReference'], ['goog.asserts', 'shaka.log', 'shaka.util.ArrayUtils'], {'lang': 'es6'});
85
85
  goog.addDependency('../../../../lib/media/stall_detector.js', ['shaka.media.StallDetector', 'shaka.media.StallDetector.Implementation', 'shaka.media.StallDetector.MediaElementImplementation'], ['shaka.media.TimeRangesUtils', 'shaka.util.FakeEvent', 'shaka.util.IReleasable'], {'lang': 'es6'});
86
86
  goog.addDependency('../../../../lib/media/streaming_engine.js', ['shaka.media.StreamingEngine'], ['goog.asserts', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.MediaSourceEngine', 'shaka.media.SegmentIterator', 'shaka.media.SegmentReference', 'shaka.net.Backoff', 'shaka.net.NetworkingEngine', 'shaka.util.DelayedTick', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.FakeEvent', 'shaka.util.IDestroyable', 'shaka.util.Id3Utils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4Parser', 'shaka.util.Networking'], {'lang': 'es8'});
87
87
  goog.addDependency('../../../../lib/media/time_ranges_utils.js', ['shaka.media.TimeRangesUtils'], [], {'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
- REWIND: 'REWIND',
725
- AD_DURATION: 'AD_DURATION',
726
- PLAYBACK_RATE: 'PLAYBACK_RATE',
727
- VOLUME: 'VOLUME',
728
724
  SKIP_TO_LIVE: 'SKIP_TO_LIVE',
729
- SKIP_AD: 'SKIP_AD',
730
- AUTO_QUALITY: 'AUTO_QUALITY',
731
- LANGUAGE: 'LANGUAGE',
732
- OFF: 'OFF',
733
- FULL_SCREEN: 'FULL_SCREEN',
734
- UNMUTE: 'UNMUTE',
735
- RESOLUTION: 'RESOLUTION',
736
- FAST_FORWARD: 'FAST_FORWARD',
737
725
  LIVE: 'LIVE',
738
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
739
- MORE_SETTINGS: 'MORE_SETTINGS',
740
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
741
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
742
- STATISTICS: 'STATISTICS',
743
- MUTE: 'MUTE',
744
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
726
+ AD_TIME: 'AD_TIME',
745
727
  UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
746
- BACK: 'BACK',
728
+ OFF: 'OFF',
729
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
747
730
  CAPTIONS: 'CAPTIONS',
748
- EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
749
- AIRPLAY: 'AIRPLAY',
750
- REPLAY: 'REPLAY',
731
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
732
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
733
+ PAUSE: 'PAUSE',
734
+ ON: 'ON',
735
+ FAST_FORWARD: 'FAST_FORWARD',
736
+ RESOLUTION: 'RESOLUTION',
737
+ BACK: 'BACK',
738
+ PLAYBACK_RATE: 'PLAYBACK_RATE',
751
739
  LOOP: 'LOOP',
740
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
752
741
  EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
753
- QUALITY: 'QUALITY',
742
+ PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
743
+ STATISTICS: 'STATISTICS',
744
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
745
+ MUTE: 'MUTE',
746
+ AD_PROGRESS: 'AD_PROGRESS',
747
+ AIRPLAY: 'AIRPLAY',
748
+ CAST: 'CAST',
749
+ UNMUTE: 'UNMUTE',
750
+ AUTO_QUALITY: 'AUTO_QUALITY',
754
751
  NOT_APPLICABLE: 'NOT_APPLICABLE',
755
- PAUSE: 'PAUSE',
756
752
  PLAY: 'PLAY',
757
- CAST: 'CAST',
758
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
759
- AD_PROGRESS: 'AD_PROGRESS',
760
- PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
761
- SEEK: 'SEEK',
762
- AD_TIME: 'AD_TIME',
763
753
  UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
764
- ON: 'ON',
754
+ SEEK: 'SEEK',
755
+ AD_DURATION: 'AD_DURATION',
756
+ SKIP_AD: 'SKIP_AD',
757
+ VOLUME: 'VOLUME',
758
+ REWIND: 'REWIND',
759
+ LANGUAGE: 'LANGUAGE',
760
+ MORE_SETTINGS: 'MORE_SETTINGS',
761
+ REPLAY: 'REPLAY',
762
+ QUALITY: 'QUALITY',
763
+ FULL_SCREEN: 'FULL_SCREEN',
764
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
765
765
  };
@@ -1202,10 +1202,20 @@ declare namespace shaka.media {
1202
1202
  * Mark the reference as unavailable.
1203
1203
  */
1204
1204
  markAsUnavailable ( ) : any ;
1205
+ /**
1206
+ * Offset the segment reference by a fixed amount.
1207
+ * @param offset The amount to add to the segment's start and end times.
1208
+ */
1209
+ offset (offset : number ) : any ;
1205
1210
  /**
1206
1211
  * Set the segment's thumbnail sprite.
1207
1212
  */
1208
1213
  setThumbnailSprite (thumbnailSprite : shaka.media.SegmentReference.ThumbnailSprite ) : any ;
1214
+ /**
1215
+ * Sync this segment against a particular sync time that will serve as "0" in
1216
+ * the presentation timeline.
1217
+ */
1218
+ syncAgainst (lowestSyncTime : number ) : any ;
1209
1219
  }
1210
1220
  }
1211
1221
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
@@ -1202,10 +1202,20 @@ declare namespace shaka.media {
1202
1202
  * Mark the reference as unavailable.
1203
1203
  */
1204
1204
  markAsUnavailable ( ) : any ;
1205
+ /**
1206
+ * Offset the segment reference by a fixed amount.
1207
+ * @param offset The amount to add to the segment's start and end times.
1208
+ */
1209
+ offset (offset : number ) : any ;
1205
1210
  /**
1206
1211
  * Set the segment's thumbnail sprite.
1207
1212
  */
1208
1213
  setThumbnailSprite (thumbnailSprite : shaka.media.SegmentReference.ThumbnailSprite ) : any ;
1214
+ /**
1215
+ * Sync this segment against a particular sync time that will serve as "0" in
1216
+ * the presentation timeline.
1217
+ */
1218
+ syncAgainst (lowestSyncTime : number ) : any ;
1209
1219
  }
1210
1220
  }
1211
1221
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.debug.externs.js
@@ -1797,6 +1797,18 @@ shaka.media.SegmentReference = class {
1797
1797
  * @return {?shaka.media.SegmentReference.ThumbnailSprite}
1798
1798
  */
1799
1799
  getThumbnailSprite() {}
1800
+ /**
1801
+ * Offset the segment reference by a fixed amount.
1802
+ * @param {number} offset The amount to add to the segment's start and end
1803
+ * times.
1804
+ */
1805
+ offset(offset) {}
1806
+ /**
1807
+ * Sync this segment against a particular sync time that will serve as "0" in
1808
+ * the presentation timeline.
1809
+ * @param {number} lowestSyncTime
1810
+ */
1811
+ syncAgainst(lowestSyncTime) {}
1800
1812
  };
1801
1813
  /**
1802
1814
  * Rather than using booleans to communicate what the state of the reference,