shaka-player 4.9.5 → 4.9.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.
@@ -1793,6 +1793,7 @@ shaka.media.DrmEngine = class {
1793
1793
  'org.w3.clearkey',
1794
1794
  'com.widevine.alpha',
1795
1795
  'com.microsoft.playready',
1796
+ 'com.microsoft.playready.hardware',
1796
1797
  'com.microsoft.playready.recommendation',
1797
1798
  'com.chromecast.playready',
1798
1799
  'com.apple.fps.1_0',
@@ -1815,9 +1816,7 @@ shaka.media.DrmEngine = class {
1815
1816
 
1816
1817
  const testRobustness = {
1817
1818
  'com.widevine.alpha': widevineRobustness,
1818
- 'com.microsoft.playready': playreadyRobustness,
1819
1819
  'com.microsoft.playready.recommendation': playreadyRobustness,
1820
- 'com.chromecast.playready': playreadyRobustness,
1821
1820
  };
1822
1821
 
1823
1822
  const basicVideoCapabilities = [
@@ -110,19 +110,26 @@ shaka.media.SrcEqualsPlayhead = class {
110
110
  // We listen for the loaded-data-event so that we know when we can
111
111
  // interact with |currentTime|.
112
112
  const onLoaded = () => {
113
- if (this.startTime_ == null || this.startTime_ == 0) {
113
+ if (this.startTime_ == null ||
114
+ (this.startTime_ == 0 && this.mediaElement_.duration != Infinity)) {
114
115
  this.started_ = true;
115
116
  } else {
116
- // Startup is complete only when the video element acknowledges the
117
- // seek.
118
- this.eventManager_.listenOnce(this.mediaElement_, 'seeking', () => {
119
- this.started_ = true;
120
- });
121
-
122
117
  const currentTime = this.mediaElement_.currentTime;
118
+ let newTime = this.startTime_;
123
119
  // Using the currentTime allows using a negative number in Live HLS
124
- const newTime = Math.max(0, currentTime + this.startTime_);
125
- this.mediaElement_.currentTime = newTime;
120
+ if (this.startTime_ < 0) {
121
+ newTime = Math.max(0, currentTime + this.startTime_);
122
+ }
123
+ if (currentTime != newTime) {
124
+ // Startup is complete only when the video element acknowledges the
125
+ // seek.
126
+ this.eventManager_.listenOnce(this.mediaElement_, 'seeking', () => {
127
+ this.started_ = true;
128
+ });
129
+ this.mediaElement_.currentTime = newTime;
130
+ } else {
131
+ this.started_ = true;
132
+ }
126
133
  }
127
134
  };
128
135
 
@@ -267,7 +267,8 @@ shaka.net.HttpFetchPlugin = class {
267
267
  } else {
268
268
  return false;
269
269
  }
270
- return !!(window.fetch && window.AbortController);
270
+ return !!(window.fetch && !('polyfill' in window.fetch) &&
271
+ window.AbortController);
271
272
  }
272
273
  };
273
274
 
package/lib/player.js CHANGED
@@ -7457,7 +7457,7 @@ shaka.Player.TYPICAL_BUFFERING_THRESHOLD_ = 0.5;
7457
7457
  * @export
7458
7458
  */
7459
7459
  // eslint-disable-next-line no-useless-concat
7460
- shaka.Player.version = 'v4.9.5' + '-uncompiled'; // x-release-please-version
7460
+ shaka.Player.version = 'v4.9.7' + '-uncompiled'; // x-release-please-version
7461
7461
 
7462
7462
  // Initialize the deprecation system using the version string we just set
7463
7463
  // on the player.
@@ -110,6 +110,19 @@ shaka.text.TextEngine.registerParser(
110
110
  shaka.text.TextEngine.registerParser(
111
111
  'application/mp4; codecs="stpp.ttml.im1t"',
112
112
  () => new shaka.text.Mp4TtmlParser());
113
+ shaka.text.TextEngine.registerParser(
114
+ 'application/mp4; codecs="stpp.ttml.im2t"',
115
+ () => new shaka.text.Mp4TtmlParser());
116
+ shaka.text.TextEngine.registerParser(
117
+ 'application/mp4; codecs="stpp.ttml.etd1"',
118
+ () => new shaka.text.Mp4TtmlParser());
119
+ shaka.text.TextEngine.registerParser(
120
+ 'application/mp4; codecs="stpp.ttml.etd1|im1t"',
121
+ () => new shaka.text.Mp4TtmlParser());
122
+ shaka.text.TextEngine.registerParser(
123
+ 'application/mp4; codecs="stpp.ttml.im1t|etd1"',
124
+ () => new shaka.text.Mp4TtmlParser());
125
+
113
126
  // Legacy codec string uses capital "TTML", i.e.: prior to HLS rfc8216bis:
114
127
  // Note that if a Variant Stream specifies one or more Renditions that
115
128
  // include IMSC subtitles, the CODECS attribute MUST indicate this with a
@@ -1336,10 +1336,10 @@ shaka.text.TtmlTextParser.timeColonFormat_ = /^(?:(\d{2,}):)?(\d{2}):(\d{2})$/;
1336
1336
  /**
1337
1337
  * @const
1338
1338
  * @private {!RegExp}
1339
- * @example 01:02:43.0345555 or 02:43.03
1339
+ * @example 01:02:43.0345555 or 02:43.03 or 02:45.5
1340
1340
  */
1341
1341
  shaka.text.TtmlTextParser.timeColonFormatMilliseconds_ =
1342
- /^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/;
1342
+ /^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d+)$/;
1343
1343
 
1344
1344
  /**
1345
1345
  * @const
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shaka-player",
3
3
  "description": "DASH/EME video player library",
4
- "version": "4.9.5",
4
+ "version": "4.9.7",
5
5
  "homepage": "https://github.com/shaka-project/shaka-player",
6
6
  "author": "Google",
7
7
  "maintainers": [
@@ -1,21 +1,23 @@
1
1
  {
2
2
  "AD_DURATION": "Czas trwania reklamy",
3
- "AD_PROGRESS": "Reklama [AD_ON] z [NUM_ADS]",
3
+ "AD_PROGRESS": "Reklama [AD_ON] z [NUM_ADS]",
4
+ "AD_STATISTICS": "Statystyki reklam",
4
5
  "AD_TIME": "Reklama: [AD_TIME]",
6
+ "AIRPLAY": "AirPlay",
5
7
  "AUTO_QUALITY": "Automatycznie",
6
8
  "BACK": "Wstecz",
7
9
  "CAPTIONS": "Napisy",
8
10
  "CAST": "Przesyłaj...",
9
- "ENTER_LOOP_MODE": "Odtwarzaj bieżący film w pętli",
10
- "ENTER_PICTURE_IN_PICTURE": "Włącz tryb obrazu w obrazie",
11
+ "ENTER_LOOP_MODE": "Odtwarzaj bieżący film w pętli",
12
+ "ENTER_PICTURE_IN_PICTURE": "Włącz tryb obrazu w obrazie",
11
13
  "EXIT_FULL_SCREEN": "Zamknij pełny ekran",
12
- "EXIT_LOOP_MODE": "Wyłącz odtwarzanie bieżącego filmu w pętli",
13
- "EXIT_PICTURE_IN_PICTURE": "Wyłącz tryb obrazu w obrazie",
14
+ "EXIT_LOOP_MODE": "Wyłącz odtwarzanie bieżącego filmu w pętli",
15
+ "EXIT_PICTURE_IN_PICTURE": "Wyłącz tryb obrazu w obrazie",
14
16
  "FAST_FORWARD": "Przewiń do przodu",
15
17
  "FULL_SCREEN": "Pełny ekran",
16
18
  "LANGUAGE": "Język",
17
19
  "LIVE": "Na żywo",
18
- "LOOP": "Odtwarzaj w pętli",
20
+ "LOOP": "Odtwarzaj w pętli",
19
21
  "MORE_SETTINGS": "Więcej ustawień",
20
22
  "MULTIPLE_LANGUAGES": "Wiele języków",
21
23
  "MUTE": "Wycisz",
@@ -23,14 +25,21 @@
23
25
  "OFF": "Wyłączone",
24
26
  "ON": "Włączone",
25
27
  "PAUSE": "Wstrzymaj",
26
- "PICTURE_IN_PICTURE": "Obraz w obrazie",
28
+ "PICTURE_IN_PICTURE": "Obraz w obrazie",
27
29
  "PLAY": "Odtwórz",
28
30
  "PLAYBACK_RATE": "Szybkość odtwarzania",
31
+ "QUALITY": "Jakość",
32
+ "RECENTER_VR": "Wycentruj",
33
+ "REPLAY": "Odtwórz od nowa",
29
34
  "RESOLUTION": "Rozdzielczość",
30
35
  "REWIND": "Przewiń do tyłu",
31
36
  "SEEK": "Szukaj",
32
37
  "SKIP_AD": "Pomiń reklamę",
33
38
  "SKIP_TO_LIVE": "Przejdź do transmisji na żywo",
39
+ "STATISTICS": "Statystyki",
40
+ "SUBTITLE_FORCED": "Wymuszone",
41
+ "SURROUND": "Przestrzenny",
42
+ "TOGGLE_STEREOSCOPIC": "Przełącz widok stereoskopowy",
34
43
  "UNDETERMINED_LANGUAGE": "Nie określono",
35
44
  "UNMUTE": "Wyłącz wyciszenie",
36
45
  "UNRECOGNIZED_LANGUAGE": "Nierozpoznany",