shaka-player 4.1.6 → 4.1.7

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 (46) hide show
  1. package/AUTHORS +1 -0
  2. package/CHANGELOG.md +15 -0
  3. package/CONTRIBUTORS +1 -0
  4. package/dist/deps.js +2 -2
  5. package/dist/locales.js +29 -29
  6. package/dist/shaka-player.compiled.d.ts +5 -1
  7. package/dist/shaka-player.compiled.debug.d.ts +5 -1
  8. package/dist/shaka-player.compiled.debug.externs.js +2 -1
  9. package/dist/shaka-player.compiled.debug.js +82 -81
  10. package/dist/shaka-player.compiled.debug.map +3 -3
  11. package/dist/shaka-player.compiled.externs.js +2 -1
  12. package/dist/shaka-player.compiled.js +516 -513
  13. package/dist/shaka-player.compiled.map +3 -3
  14. package/dist/shaka-player.ui.d.ts +5 -1
  15. package/dist/shaka-player.ui.debug.d.ts +5 -1
  16. package/dist/shaka-player.ui.debug.externs.js +2 -1
  17. package/dist/shaka-player.ui.debug.js +98 -97
  18. package/dist/shaka-player.ui.debug.map +3 -3
  19. package/dist/shaka-player.ui.externs.js +2 -1
  20. package/dist/shaka-player.ui.js +656 -653
  21. package/dist/shaka-player.ui.map +3 -3
  22. package/externs/mux.js +3 -0
  23. package/lib/cast/cast_proxy.js +2 -1
  24. package/lib/cast/cast_receiver.js +19 -5
  25. package/lib/cast/cast_sender.js +2 -1
  26. package/lib/cast/cast_utils.js +16 -6
  27. package/lib/hls/hls_parser.js +9 -2
  28. package/lib/media/media_source_engine.js +6 -0
  29. package/lib/media/playhead.js +23 -1
  30. package/lib/media/streaming_engine.js +3 -12
  31. package/lib/media/transmuxer.js +6 -0
  32. package/lib/player.js +24 -11
  33. package/lib/util/manifest_parser_utils.js +4 -0
  34. package/package.json +1 -1
  35. package/roadmap.md +24 -6
  36. package/test/cast/cast_receiver_integration.js +97 -16
  37. package/test/cast/cast_receiver_unit.js +17 -12
  38. package/test/cast/cast_utils_unit.js +1 -0
  39. package/test/media/media_source_engine_integration.js +31 -0
  40. package/test/media/playhead_unit.js +41 -0
  41. package/test/media/streaming_engine_integration.js +13 -0
  42. package/test/media/streaming_engine_unit.js +36 -23
  43. package/test/player_unit.js +87 -0
  44. package/test/test/util/simple_fakes.js +3 -0
  45. package/ui/controls.js +4 -1
  46. package/ui/settings_menu.js +11 -2
package/AUTHORS CHANGED
@@ -32,6 +32,7 @@ Edgeware AB <*@edgeware.tv>
32
32
  Enson Choy <enson.choy@harmonicinc.com>
33
33
  Esteban Dosztal <edosztal@gmail.com>
34
34
  Fadomire <fadomire@gmail.com>
35
+ Gerardo Meola <meola.gerardo@gmail.com>
35
36
  Gil Gonen <gil.gonen@gmail.com>
36
37
  Giorgio Gamberoni <giorgio.gamberoni@gmail.com>
37
38
  Giuseppe Samela <giuseppe.samela@gmail.com>
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.1.7](https://github.com/shaka-project/shaka-player/compare/v4.1.6...v4.1.7) (2022-11-09)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Allow overriding special handling of 404s ([#4635](https://github.com/shaka-project/shaka-player/issues/4635)) ([ad2bffc](https://github.com/shaka-project/shaka-player/commit/ad2bffc798946f4ebe97154a53e74582a71bc886)), closes [#4548](https://github.com/shaka-project/shaka-player/issues/4548)
9
+ * **cast:** Reduce size of Cast update messages ([#4644](https://github.com/shaka-project/shaka-player/issues/4644)) ([687f92c](https://github.com/shaka-project/shaka-player/commit/687f92c50c4cd913d3fc556ec1468a15b27ec257))
10
+ * Content reload starttime with HLS on iOS ([#4575](https://github.com/shaka-project/shaka-player/issues/4575)) ([fe28e26](https://github.com/shaka-project/shaka-player/commit/fe28e26e7cca7cf53d8159e3a82cab344471968d)), closes [#4244](https://github.com/shaka-project/shaka-player/issues/4244)
11
+ * embed cc not shown when seeking back ([#4643](https://github.com/shaka-project/shaka-player/issues/4643)) ([c514d15](https://github.com/shaka-project/shaka-player/commit/c514d15ddfe4892443b99491b3f932ba94c6609d)), closes [#4641](https://github.com/shaka-project/shaka-player/issues/4641)
12
+ * Fix detection of ac4, dts, and dolby h265 ([#4657](https://github.com/shaka-project/shaka-player/issues/4657)) ([4018805](https://github.com/shaka-project/shaka-player/commit/40188056c9b45d41aec7ce3ac7aee82d207cc76e))
13
+ * focus on first element when back to the settings menu ([#4653](https://github.com/shaka-project/shaka-player/issues/4653)) ([fa920d8](https://github.com/shaka-project/shaka-player/commit/fa920d8154cf1254a67989d473d4ff4cc9cc006c)), closes [#4652](https://github.com/shaka-project/shaka-player/issues/4652)
14
+ * **HLS:** Fix detection of WebVTT subtitles in HLS by extension ([#4663](https://github.com/shaka-project/shaka-player/issues/4663)) ([2b02e23](https://github.com/shaka-project/shaka-player/commit/2b02e231390f90325bb7ffce88c499512b3bc541))
15
+ * **HLS:** Infer missing codecs from config ([#4656](https://github.com/shaka-project/shaka-player/issues/4656)) ([1104d80](https://github.com/shaka-project/shaka-player/commit/1104d80100bb243e1a47bd093a5cf78dd8a3aadd))
16
+ * **ui:** Fix exception on screen rotation if fullscreen is not supported ([#4669](https://github.com/shaka-project/shaka-player/issues/4669)) ([d803363](https://github.com/shaka-project/shaka-player/commit/d803363e0f949c90c8fe1b3258723847c1ddb22d))
17
+
3
18
  ## [4.1.6](https://github.com/shaka-project/shaka-player/compare/v4.1.5...v4.1.6) (2022-10-29)
4
19
 
5
20
 
package/CONTRIBUTORS CHANGED
@@ -50,6 +50,7 @@ Enson Choy <enson.choy@harmonicinc.com>
50
50
  Esteban Dosztal <edosztal@gmail.com>
51
51
  Fadomire <fadomire@gmail.com>
52
52
  François Beaufort <fbeaufort@google.com>
53
+ Gerardo Meola <meola.gerardo@gmail.com>
53
54
  Gil Gonen <gil.gonen@gmail.com>
54
55
  Giorgio Gamberoni <giorgio.gamberoni@gmail.com>
55
56
  Giuseppe Samela <giuseppe.samela@gmail.com>
package/dist/deps.js CHANGED
@@ -68,7 +68,7 @@ goog.addDependency('../../../../lib/media/manifest_parser.js', ['shaka.media.Man
68
68
  goog.addDependency('../../../../lib/media/media_source_engine.js', ['shaka.media.MediaSourceEngine'], ['goog.asserts', 'shaka.log', 'shaka.media.ContentWorkarounds', 'shaka.media.IClosedCaptionParser', 'shaka.media.SegmentReference', 'shaka.media.TimeRangesUtils', 'shaka.media.Transmuxer', 'shaka.text.TextEngine', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.Functional', 'shaka.util.IDestroyable', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Platform', 'shaka.util.PublicPromise'], {'lang': 'es8'});
69
69
  goog.addDependency('../../../../lib/media/mp4_segment_index_parser.js', ['shaka.media.Mp4SegmentIndexParser'], ['goog.asserts', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.SegmentReference', 'shaka.util.Error', 'shaka.util.Mp4Parser'], {'lang': 'es6'});
70
70
  goog.addDependency('../../../../lib/media/play_rate_controller.js', ['shaka.media.PlayRateController'], ['goog.asserts', 'shaka.log', 'shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
71
- goog.addDependency('../../../../lib/media/playhead.js', ['shaka.media.MediaSourcePlayhead', 'shaka.media.Playhead', 'shaka.media.SrcEqualsPlayhead'], ['goog.asserts', 'shaka.log', 'shaka.media.GapJumpingController', 'shaka.media.StallDetector', 'shaka.media.StallDetector.MediaElementImplementation', 'shaka.media.TimeRangesUtils', 'shaka.media.VideoWrapper', 'shaka.util.EventManager', 'shaka.util.IReleasable', 'shaka.util.MediaReadyState', 'shaka.util.Timer'], {'lang': 'es6'});
71
+ goog.addDependency('../../../../lib/media/playhead.js', ['shaka.media.MediaSourcePlayhead', 'shaka.media.Playhead', 'shaka.media.SrcEqualsPlayhead'], ['goog.asserts', 'shaka.log', 'shaka.media.GapJumpingController', 'shaka.media.StallDetector', 'shaka.media.StallDetector.MediaElementImplementation', 'shaka.media.TimeRangesUtils', 'shaka.media.VideoWrapper', 'shaka.util.EventManager', 'shaka.util.IReleasable', 'shaka.util.MediaReadyState', 'shaka.util.Timer'], {'lang': 'es8'});
72
72
  goog.addDependency('../../../../lib/media/playhead_observer.js', ['shaka.media.IPlayheadObserver', 'shaka.media.PlayheadObserverManager'], ['shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
73
73
  goog.addDependency('../../../../lib/media/presentation_timeline.js', ['shaka.media.PresentationTimeline'], ['goog.asserts', 'shaka.log', 'shaka.media.SegmentReference'], {'lang': 'es6'});
74
74
  goog.addDependency('../../../../lib/media/quality_observer.js', ['shaka.media.QualityObserver'], ['shaka.log', 'shaka.media.IPlayheadObserver', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget'], {'lang': 'es6'});
@@ -216,7 +216,7 @@ goog.addDependency('../../../../ui/range_element.js', ['shaka.ui.RangeElement'],
216
216
  goog.addDependency('../../../../ui/resolution_selection.js', ['shaka.ui.ResolutionSelection'], ['goog.asserts', 'shaka.ui.Controls', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.SettingsMenu', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.FakeEvent'], {'lang': 'es6'});
217
217
  goog.addDependency('../../../../ui/rewind_button.js', ['shaka.ui.RewindButton'], ['shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {'lang': 'es6'});
218
218
  goog.addDependency('../../../../ui/seek_bar.js', ['shaka.ui.SeekBar'], ['shaka.ads.AdManager', 'shaka.ui.Constants', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.RangeElement', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.Timer'], {'lang': 'es6'});
219
- goog.addDependency('../../../../ui/settings_menu.js', ['shaka.ui.SettingsMenu'], ['shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.FakeEvent'], {'lang': 'es6'});
219
+ goog.addDependency('../../../../ui/settings_menu.js', ['shaka.ui.SettingsMenu'], ['shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.FakeEvent', 'shaka.util.Iterables'], {'lang': 'es6'});
220
220
  goog.addDependency('../../../../ui/skip_ad_button.js', ['shaka.ui.SkipAdButton'], ['goog.asserts', 'shaka.ads.AdManager', 'shaka.ui.Element', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.Timer'], {'lang': 'es6'});
221
221
  goog.addDependency('../../../../ui/small_play_button.js', ['shaka.ui.SmallPlayButton'], ['shaka.ui.Controls', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.PlayButton'], {'lang': 'es6'});
222
222
  goog.addDependency('../../../../ui/spacer.js', ['shaka.ui.Spacer'], ['shaka.ui.Controls', 'shaka.ui.Element', 'shaka.util.Dom'], {'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
- RESOLUTION: 'RESOLUTION',
725
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
726
- PAUSE: 'PAUSE',
727
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
724
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
728
725
  LANGUAGE: 'LANGUAGE',
726
+ LIVE: 'LIVE',
729
727
  NOT_APPLICABLE: 'NOT_APPLICABLE',
730
- AD_DURATION: 'AD_DURATION',
731
- BACK: 'BACK',
732
728
  AD_PROGRESS: 'AD_PROGRESS',
733
- UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
734
- ON: 'ON',
735
- STATISTICS: 'STATISTICS',
736
- OFF: 'OFF',
737
- PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
738
- VOLUME: 'VOLUME',
729
+ UNMUTE: 'UNMUTE',
730
+ CAST: 'CAST',
739
731
  PLAYBACK_RATE: 'PLAYBACK_RATE',
732
+ UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
740
733
  SUBTITLE_FORCED: 'SUBTITLE_FORCED',
741
- CAST: 'CAST',
742
- SEEK: 'SEEK',
743
- SKIP_TO_LIVE: 'SKIP_TO_LIVE',
744
- AIRPLAY: 'AIRPLAY',
745
- AD_TIME: 'AD_TIME',
746
- REPLAY: 'REPLAY',
734
+ OFF: 'OFF',
735
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
747
736
  CAPTIONS: 'CAPTIONS',
748
- EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
737
+ SKIP_TO_LIVE: 'SKIP_TO_LIVE',
738
+ FULL_SCREEN: 'FULL_SCREEN',
749
739
  QUALITY: 'QUALITY',
750
- UNMUTE: 'UNMUTE',
751
- SKIP_AD: 'SKIP_AD',
740
+ AIRPLAY: 'AIRPLAY',
741
+ BACK: 'BACK',
742
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
743
+ PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
752
744
  LOOP: 'LOOP',
753
- FAST_FORWARD: 'FAST_FORWARD',
745
+ ON: 'ON',
746
+ SKIP_AD: 'SKIP_AD',
747
+ MUTE: 'MUTE',
754
748
  PLAY: 'PLAY',
755
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
749
+ AD_DURATION: 'AD_DURATION',
750
+ PAUSE: 'PAUSE',
751
+ AUTO_QUALITY: 'AUTO_QUALITY',
756
752
  UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
753
+ STATISTICS: 'STATISTICS',
754
+ FAST_FORWARD: 'FAST_FORWARD',
755
+ EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
756
+ REPLAY: 'REPLAY',
757
+ VOLUME: 'VOLUME',
757
758
  MORE_SETTINGS: 'MORE_SETTINGS',
758
- EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
759
+ SEEK: 'SEEK',
760
+ AD_TIME: 'AD_TIME',
761
+ RESOLUTION: 'RESOLUTION',
762
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
763
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
759
764
  REWIND: 'REWIND',
760
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
761
- MUTE: 'MUTE',
762
- AUTO_QUALITY: 'AUTO_QUALITY',
763
- LIVE: 'LIVE',
764
- FULL_SCREEN: 'FULL_SCREEN',
765
765
  };
@@ -294,7 +294,7 @@ declare namespace shaka {
294
294
  * If the player has loaded content, and streaming seen an error, but the
295
295
  * could not resume streaming, this will return <code>false</code>.
296
296
  */
297
- retryStreaming ( ) : boolean ;
297
+ retryStreaming (retryDelaySeconds ? : number ) : boolean ;
298
298
  /**
299
299
  * Get the range of time (in seconds) that seeking is allowed. If the player
300
300
  * has not loaded content, this will return a range from 0 to 0.
@@ -3183,6 +3183,10 @@ declare namespace muxjs.mp4 {
3183
3183
  */
3184
3184
  on (type : string , listener : Function | null ) : any ;
3185
3185
  push (data : Uint8Array ) : any ;
3186
+ /**
3187
+ * Reset captions.
3188
+ */
3189
+ resetCaptions ( ) : any ;
3186
3190
  setBaseMediaDecodeTime (time : number ) : any ;
3187
3191
  }
3188
3192
  }
@@ -294,7 +294,7 @@ declare namespace shaka {
294
294
  * If the player has loaded content, and streaming seen an error, but the
295
295
  * could not resume streaming, this will return <code>false</code>.
296
296
  */
297
- retryStreaming ( ) : boolean ;
297
+ retryStreaming (retryDelaySeconds ? : number ) : boolean ;
298
298
  /**
299
299
  * Get the range of time (in seconds) that seeking is allowed. If the player
300
300
  * has not loaded content, this will return a range from 0 to 0.
@@ -3183,6 +3183,10 @@ declare namespace muxjs.mp4 {
3183
3183
  */
3184
3184
  on (type : string , listener : Function | null ) : any ;
3185
3185
  push (data : Uint8Array ) : any ;
3186
+ /**
3187
+ * Reset captions.
3188
+ */
3189
+ resetCaptions ( ) : any ;
3186
3190
  setBaseMediaDecodeTime (time : number ) : any ;
3187
3191
  }
3188
3192
  }
@@ -2759,9 +2759,10 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
2759
2759
  * <p>
2760
2760
  * If the player has loaded content, and streaming seen an error, but the
2761
2761
  * could not resume streaming, this will return <code>false</code>.
2762
+ * @param {number=} retryDelaySeconds
2762
2763
  * @return {boolean}
2763
2764
  */
2764
- retryStreaming() {}
2765
+ retryStreaming(retryDelaySeconds) {}
2765
2766
  /**
2766
2767
  * Get the manifest that the player has loaded. If the player has not loaded
2767
2768
  * any content, this will return <code>null</code>.