shaka-player 4.7.5 → 4.7.6
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.
- package/dist/locales.js +30 -30
- package/dist/shaka-player.compiled.d.ts +7 -0
- package/dist/shaka-player.compiled.debug.d.ts +7 -0
- package/dist/shaka-player.compiled.debug.externs.js +4 -0
- package/dist/shaka-player.compiled.debug.js +31 -29
- package/dist/shaka-player.compiled.debug.map +3 -3
- package/dist/shaka-player.compiled.externs.js +4 -0
- package/dist/shaka-player.compiled.js +1007 -1007
- package/dist/shaka-player.compiled.map +2 -2
- package/dist/shaka-player.ui.d.ts +7 -0
- package/dist/shaka-player.ui.debug.d.ts +7 -0
- package/dist/shaka-player.ui.debug.externs.js +4 -0
- package/dist/shaka-player.ui.debug.js +39 -38
- package/dist/shaka-player.ui.debug.map +3 -3
- package/dist/shaka-player.ui.externs.js +4 -0
- package/dist/shaka-player.ui.js +1166 -1166
- package/dist/shaka-player.ui.map +2 -2
- package/externs/shaka/abr_manager.js +9 -0
- package/lib/abr/simple_abr_manager.js +11 -0
- package/lib/media/segment_prefetch.js +4 -0
- package/lib/media/streaming_engine.js +6 -8
- package/lib/net/networking_engine.js +1 -1
- package/lib/player.js +19 -5
- package/lib/util/periods.js +4 -0
- package/lib/util/platform.js +18 -0
- package/lib/util/stream_utils.js +14 -0
- package/package.json +1 -1
- package/ui/controls.js +3 -0
- package/ui/pip_button.js +5 -21
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
|
-
|
|
727
|
+
SEEK: 'SEEK',
|
|
728
|
+
AD_PROGRESS: 'AD_PROGRESS',
|
|
729
|
+
CAST: 'CAST',
|
|
730
|
+
SKIP_AD: 'SKIP_AD',
|
|
731
|
+
FULL_SCREEN: 'FULL_SCREEN',
|
|
732
|
+
SURROUND: 'SURROUND',
|
|
733
|
+
UNMUTE: 'UNMUTE',
|
|
734
|
+
AD_TIME: 'AD_TIME',
|
|
728
735
|
AUTO_QUALITY: 'AUTO_QUALITY',
|
|
729
|
-
|
|
736
|
+
STATISTICS: 'STATISTICS',
|
|
737
|
+
OFF: 'OFF',
|
|
738
|
+
SUBTITLE_FORCED: 'SUBTITLE_FORCED',
|
|
739
|
+
NOT_APPLICABLE: 'NOT_APPLICABLE',
|
|
740
|
+
RESOLUTION: 'RESOLUTION',
|
|
741
|
+
REPLAY: 'REPLAY',
|
|
742
|
+
PLAY: 'PLAY',
|
|
730
743
|
QUALITY: 'QUALITY',
|
|
731
|
-
AD_TIME: 'AD_TIME',
|
|
732
744
|
VOLUME: 'VOLUME',
|
|
733
|
-
SEEK: 'SEEK',
|
|
734
745
|
BACK: 'BACK',
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
NOT_APPLICABLE: 'NOT_APPLICABLE',
|
|
746
|
+
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
|
|
747
|
+
FAST_FORWARD: 'FAST_FORWARD',
|
|
738
748
|
LOOP: 'LOOP',
|
|
739
|
-
|
|
749
|
+
AD_DURATION: 'AD_DURATION',
|
|
750
|
+
PAUSE: 'PAUSE',
|
|
740
751
|
MORE_SETTINGS: 'MORE_SETTINGS',
|
|
741
|
-
|
|
742
|
-
|
|
752
|
+
EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
|
|
753
|
+
UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
|
|
754
|
+
ON: 'ON',
|
|
755
|
+
MUTE: 'MUTE',
|
|
756
|
+
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
743
757
|
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
744
|
-
|
|
745
|
-
AD_DURATION: 'AD_DURATION',
|
|
746
|
-
AD_PROGRESS: 'AD_PROGRESS',
|
|
747
|
-
REWIND: 'REWIND',
|
|
748
|
-
OFF: 'OFF',
|
|
749
|
-
SUBTITLE_FORCED: 'SUBTITLE_FORCED',
|
|
750
|
-
LANGUAGE: 'LANGUAGE',
|
|
751
|
-
RESOLUTION: 'RESOLUTION',
|
|
752
|
-
LIVE: 'LIVE',
|
|
753
|
-
FAST_FORWARD: 'FAST_FORWARD',
|
|
758
|
+
AIRPLAY: 'AIRPLAY',
|
|
754
759
|
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
|
|
755
|
-
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
756
760
|
CAPTIONS: 'CAPTIONS',
|
|
757
|
-
|
|
758
|
-
FULL_SCREEN: 'FULL_SCREEN',
|
|
759
|
-
SKIP_AD: 'SKIP_AD',
|
|
760
|
-
AIRPLAY: 'AIRPLAY',
|
|
761
|
+
LANGUAGE: 'LANGUAGE',
|
|
761
762
|
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
|
|
762
|
-
|
|
763
|
+
LIVE: 'LIVE',
|
|
764
|
+
REWIND: 'REWIND',
|
|
765
|
+
PLAYBACK_RATE: 'PLAYBACK_RATE',
|
|
763
766
|
SKIP_TO_LIVE: 'SKIP_TO_LIVE',
|
|
764
|
-
|
|
765
|
-
STATISTICS: 'STATISTICS',
|
|
767
|
+
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
766
768
|
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
|
|
767
|
-
ON: 'ON',
|
|
768
|
-
CAST: 'CAST',
|
|
769
769
|
};
|
|
@@ -469,6 +469,7 @@ declare namespace shaka.abr {
|
|
|
469
469
|
setMediaElement (mediaElement : any ) : any ;
|
|
470
470
|
setVariants (variants : any ) : any ;
|
|
471
471
|
stop ( ) : any ;
|
|
472
|
+
trySuggestStreams ( ) : any ;
|
|
472
473
|
}
|
|
473
474
|
}
|
|
474
475
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
|
|
@@ -4350,6 +4351,12 @@ declare namespace shaka.extern {
|
|
|
4350
4351
|
* This will only be called after a call to init.
|
|
4351
4352
|
*/
|
|
4352
4353
|
stop ( ) : any ;
|
|
4354
|
+
/**
|
|
4355
|
+
* Notifies the ABR that it is a time to suggest new streams. This is used by
|
|
4356
|
+
* the Player when it finishes adding the last partial segment of a fast
|
|
4357
|
+
* switching stream.
|
|
4358
|
+
*/
|
|
4359
|
+
trySuggestStreams ( ) : any ;
|
|
4353
4360
|
}
|
|
4354
4361
|
}
|
|
4355
4362
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/abr_manager.js
|
|
@@ -469,6 +469,7 @@ declare namespace shaka.abr {
|
|
|
469
469
|
setMediaElement (mediaElement : any ) : any ;
|
|
470
470
|
setVariants (variants : any ) : any ;
|
|
471
471
|
stop ( ) : any ;
|
|
472
|
+
trySuggestStreams ( ) : any ;
|
|
472
473
|
}
|
|
473
474
|
}
|
|
474
475
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.debug.externs.js
|
|
@@ -4350,6 +4351,12 @@ declare namespace shaka.extern {
|
|
|
4350
4351
|
* This will only be called after a call to init.
|
|
4351
4352
|
*/
|
|
4352
4353
|
stop ( ) : any ;
|
|
4354
|
+
/**
|
|
4355
|
+
* Notifies the ABR that it is a time to suggest new streams. This is used by
|
|
4356
|
+
* the Player when it finishes adding the last partial segment of a fast
|
|
4357
|
+
* switching stream.
|
|
4358
|
+
*/
|
|
4359
|
+
trySuggestStreams ( ) : any ;
|
|
4353
4360
|
}
|
|
4354
4361
|
}
|
|
4355
4362
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/abr_manager.js
|
|
@@ -258,12 +258,12 @@ shaka.util.Timer.prototype.tickEvery=function(a){var b=this;this.stop();goog.DEB
|
|
|
258
258
|
goog.exportProperty(shaka.util.Timer.prototype,"stop",shaka.util.Timer.prototype.stop);goog.exportProperty(shaka.util.Timer.prototype,"tickEvery",shaka.util.Timer.prototype.tickEvery);goog.exportProperty(shaka.util.Timer.prototype,"tickAfter",shaka.util.Timer.prototype.tickAfter);goog.exportProperty(shaka.util.Timer.prototype,"tickNow",shaka.util.Timer.prototype.tickNow);goog.DEBUG&&(shaka.util.Timer.activeTimers=new Map);shaka.util.Platform=function(){};shaka.util.Platform.supportsMediaSource=function(){var a=window.ManagedMediaSource||window.MediaSource;return a&&a.isTypeSupported?!0:!1};shaka.util.Platform.supportsMediaType=function(a){return""!=shaka.util.Platform.anyMediaElement().canPlayType(a)};shaka.util.Platform.isEdge=function(){return navigator.userAgent.match(/Edge?\//)?!0:!1};shaka.util.Platform.isLegacyEdge=function(){return navigator.userAgent.match(/Edge\//)?!0:!1};shaka.util.Platform.isIE=function(){return shaka.util.Platform.userAgentContains_("Trident/")};
|
|
259
259
|
shaka.util.Platform.isXboxOne=function(){return shaka.util.Platform.userAgentContains_("Xbox One")};shaka.util.Platform.isTizen=function(){return shaka.util.Platform.userAgentContains_("Tizen")};shaka.util.Platform.isTizen4=function(){return shaka.util.Platform.userAgentContains_("Tizen 4")};shaka.util.Platform.isTizen3=function(){return shaka.util.Platform.userAgentContains_("Tizen 3")};shaka.util.Platform.isTizen2=function(){return shaka.util.Platform.userAgentContains_("Tizen 2")};
|
|
260
260
|
shaka.util.Platform.isWebOS=function(){return shaka.util.Platform.userAgentContains_("Web0S")};shaka.util.Platform.isWebOS3=function(){return shaka.util.Platform.userAgentContains_("Web0S")&&shaka.util.Platform.userAgentContains_("Chrome/38.0.2125.122 Safari/537.36")};shaka.util.Platform.isWebOS4=function(){return!!navigator.userAgent.match(/webOS\/4/i)};shaka.util.Platform.isWebOS5=function(){return!!navigator.userAgent.match(/webOS\/5/i)};shaka.util.Platform.isChromecast=function(){return shaka.util.Platform.userAgentContains_("CrKey")};
|
|
261
|
-
shaka.util.Platform.chromeVersion=function(){if(!shaka.util.Platform.isChrome())return null;var a=navigator.userAgent.match(/Chrome\/(\d+)/);return a?parseInt(a[1],10):null};shaka.util.Platform.isChrome=function(){return shaka.util.Platform.userAgentContains_("Chrome")&&!shaka.util.Platform.isLegacyEdge()};
|
|
261
|
+
shaka.util.Platform.chromeVersion=function(){if(!shaka.util.Platform.isChrome())return null;var a=navigator.userAgent.match(/Chrome\/(\d+)/);return a?parseInt(a[1],10):null};shaka.util.Platform.isChrome=function(){return shaka.util.Platform.userAgentContains_("Chrome")&&!shaka.util.Platform.isLegacyEdge()};shaka.util.Platform.isFirefox=function(){return shaka.util.Platform.userAgentContains_("Firefox")};
|
|
262
262
|
shaka.util.Platform.isApple=function(){return!!navigator.vendor&&navigator.vendor.includes("Apple")&&!shaka.util.Platform.isTizen()&&!shaka.util.Platform.isEOS()&&!shaka.util.Platform.isAPL()&&!shaka.util.Platform.isVirginMedia()&&!shaka.util.Platform.isOrange()&&!shaka.util.Platform.isPS4()&&!shaka.util.Platform.isAmazonFireTV()&&!shaka.util.Platform.isWPE()};shaka.util.Platform.isPS5=function(){return shaka.util.Platform.userAgentContains_("PlayStation 5")};shaka.util.Platform.isPS4=function(){return shaka.util.Platform.userAgentContains_("PlayStation 4")};
|
|
263
263
|
shaka.util.Platform.isHisense=function(){return shaka.util.Platform.userAgentContains_("Hisense")||shaka.util.Platform.userAgentContains_("VIDAA")};shaka.util.Platform.isVirginMedia=function(){return shaka.util.Platform.userAgentContains_("VirginMedia")};shaka.util.Platform.isOrange=function(){return shaka.util.Platform.userAgentContains_("SOPOpenBrowser")};shaka.util.Platform.isAmazonFireTV=function(){return shaka.util.Platform.userAgentContains_("AFT")};shaka.util.Platform.isWPE=function(){return shaka.util.Platform.userAgentContains_("WPE")};
|
|
264
264
|
shaka.util.Platform.safariVersion=function(){if(!shaka.util.Platform.isApple())return null;var a=navigator.userAgent.match(/Version\/(\d+)/);return a?parseInt(a[1],10):(a=navigator.userAgent.match(/OS (\d+)(?:_\d+)?/))?parseInt(a[1],10):null};shaka.util.Platform.isSafari=function(){return!!shaka.util.Platform.safariVersion()};shaka.util.Platform.isEOS=function(){return shaka.util.Platform.userAgentContains_("PC=EOS")};shaka.util.Platform.isAPL=function(){return shaka.util.Platform.userAgentContains_("PC=APL")};
|
|
265
265
|
shaka.util.Platform.isMobile=function(){return/(?:iPhone|iPad|iPod|Android)/.test(navigator.userAgent)?!0:shaka.util.Platform.isApple()&&1<navigator.maxTouchPoints};shaka.util.Platform.isMac=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"macos"==navigator.userAgentData.platform.toLowerCase():navigator.platform.toLowerCase().includes("mac")};
|
|
266
|
-
shaka.util.Platform.isWindows=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"windows"==navigator.userAgentData.platform.toLowerCase():navigator.platform.toLowerCase().includes("windows")};shaka.util.Platform.userAgentContains_=function(a){return(navigator.userAgent||"").includes(a)};
|
|
266
|
+
shaka.util.Platform.isWindows=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"windows"==navigator.userAgentData.platform.toLowerCase():navigator.platform.toLowerCase().includes("windows")};shaka.util.Platform.isAndroid=function(){return shaka.util.Platform.userAgentContains_("Android")};shaka.util.Platform.userAgentContains_=function(a){return(navigator.userAgent||"").includes(a)};
|
|
267
267
|
shaka.util.Platform.anyMediaElement=function(){var a=shaka.util.Platform;if(a.cachedMediaElement_)return a.cachedMediaElement_;a.cacheExpirationTimer_||(a.cacheExpirationTimer_=new shaka.util.Timer(function(){a.cachedMediaElement_=null}));a.cachedMediaElement_=document.getElementsByTagName("video")[0]||document.getElementsByTagName("audio")[0];a.cachedMediaElement_||(a.cachedMediaElement_=document.createElement("video"));a.cacheExpirationTimer_.tickAfter(1);return a.cachedMediaElement_};
|
|
268
268
|
shaka.util.Platform.requiresEncryptionInfoInAllInitSegments=function(){var a=shaka.util.Platform;return a.isTizen()||a.isXboxOne()||a.isOrange()};shaka.util.Platform.supportsSequenceMode=function(){var a=shaka.util.Platform;return a.isTizen3()||a.isTizen2()||a.isWebOS3()||a.isPS4()?!1:!0};shaka.util.Platform.supportsSmoothCodecSwitching=function(){var a=shaka.util.Platform;return a.isTizen2()||a.isTizen3()||a.isTizen4()||a.isWebOS3()||a.isWebOS4()||a.isWebOS5()?!1:!0};
|
|
269
269
|
shaka.util.Platform.isMediaKeysPolyfilled=function(){return window.shakaMediaKeysPolyfill?!0:!1};shaka.util.Platform.cacheExpirationTimer_=null;shaka.util.Platform.cachedMediaElement_=null;shaka.util.StreamUtils=function(){};
|
|
@@ -277,10 +277,10 @@ b=c.next())if(d.$jscomp$loop$prop$audioCodec$796=b.value,b=a.filter(function(f){
|
|
|
277
277
|
shaka.util.StreamUtils.meetsRestrictions=function(a,b,c){var d=function(f,g,h){return f>=g&&f<=h},e=a.video;return e&&e.width&&e.height&&(!d(e.width,b.minWidth,Math.min(b.maxWidth,c.width))||!d(e.height,b.minHeight,Math.min(b.maxHeight,c.height))||!d(e.width*e.height,b.minPixels,b.maxPixels))||a&&a.video&&a.video.frameRate&&!d(a.video.frameRate,b.minFrameRate,b.maxFrameRate)||!d(a.bandwidth,b.minBandwidth,b.maxBandwidth)?!1:!0};
|
|
278
278
|
shaka.util.StreamUtils.applyRestrictions=function(a,b,c){var d=!1;a=$jscomp.makeIterator(a);for(var e=a.next();!e.done;e=a.next()){e=e.value;var f=e.allowedByApplication;e.allowedByApplication=shaka.util.StreamUtils.meetsRestrictions(e,b,c);f!=e.allowedByApplication&&(d=!0)}return d};
|
|
279
279
|
shaka.util.StreamUtils.filterManifest=function(a,b){return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){if(1==c.nextAddress)return c.yield(shaka.util.StreamUtils.filterManifestByMediaCapabilities(a,b,0<b.offlineSessionIds.length),2);shaka.util.StreamUtils.filterTextStreams_(b);return c.yield(shaka.util.StreamUtils.filterImageStreams_(b),0)})};
|
|
280
|
-
shaka.util.StreamUtils.filterManifestByMediaCapabilities=function(a,b,c){var d,e,f,g,h,k,l,m;return $jscomp.asyncExecutePromiseGeneratorProgram(function(
|
|
281
|
-
k=shaka.util.MimeUtils;l=shaka.util.StreamUtils;m=shaka.util.Platform.isXboxOne();b.variants=b.variants.filter(function(
|
|
282
|
-
u=h.guessCodecs(f.
|
|
283
|
-
shaka.log.debug("Dropping variant - not compatible with platform",l.getVariantSummaryString_(
|
|
280
|
+
shaka.util.StreamUtils.filterManifestByMediaCapabilities=function(a,b,c){var d,e,f,g,h,k,l,m,n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){if(1==p.nextAddress)return goog.asserts.assert(navigator.mediaCapabilities,"MediaCapabilities should be valid."),p.yield(shaka.util.StreamUtils.getDecodingInfosForVariants(b.variants,c,!1,[]),2);d=null;a&&(e=a.getDrmInfo())&&(d=e.keySystem);f=shaka.util.ManifestParserUtils.ContentType;g=shaka.media.Capabilities;h=shaka.util.ManifestParserUtils;
|
|
281
|
+
k=shaka.util.MimeUtils;l=shaka.util.StreamUtils;m=shaka.util.Platform.isXboxOne();n=shaka.util.Platform.isFirefox()&&shaka.util.Platform.isAndroid();b.variants=b.variants.filter(function(q){var r=q.video,u=r&&r.width||0,w=r&&r.height||0;if(m&&r&&(1920<u||1080<w)&&(r.codecs.includes("avc1.")||r.codecs.includes("avc3.")))return shaka.log.debug("Dropping variant - not compatible with platform",l.getVariantSummaryString_(q)),!1;if(r){u=l.getCorrectVideoCodecs_(r.codecs);if(r.codecs.includes(",")){w=r.codecs.split(",");
|
|
282
|
+
u=h.guessCodecs(f.VIDEO,w);u=l.getCorrectVideoCodecs_(u);w=h.guessCodecs(f.AUDIO,w);w=l.getCorrectAudioCodecs_(w);var t=k.getFullOrConvertedType(r.mimeType,w,f.AUDIO);if(!g.isTypeSupported(t))return!1;u=[u,w].join()}w=k.getFullOrConvertedType(r.mimeType,u,f.VIDEO);if(!g.isTypeSupported(w))return!1;r.codecs=u}r=q.audio;if(n&&r&&r.encrypted&&r.codecs.toLowerCase().includes("opus"))return shaka.log.debug("Dropping variant - not compatible with platform",l.getVariantSummaryString_(q)),!1;if(r){u=l.getCorrectAudioCodecs_(r.codecs);
|
|
283
|
+
w=k.getFullOrConvertedType(r.mimeType,u,f.AUDIO);if(!g.isTypeSupported(w))return!1;r.codecs=u}(r=q.decodingInfos.some(function(v){return!v.supported||d&&(v=v.keySystemAccess)&&v.keySystem!=d?!1:!0}))||shaka.log.debug("Dropping variant - not compatible with platform",l.getVariantSummaryString_(q));return r});p.jumpToEnd()})};
|
|
284
284
|
shaka.util.StreamUtils.alphabeticalKeyOrderStringify_=function(a){var b=[];for(c in a)b.push(c);b.sort();var c=[];b=$jscomp.makeIterator(b);for(var d=b.next();!d.done;d=b.next()){var e=d.value;d=JSON.stringify(e);e=a[e];e instanceof Object?(e=shaka.util.StreamUtils.alphabeticalKeyOrderStringify_(e),c.push(d+":"+e)):(e=JSON.stringify(e),c.push(d+":"+e))}return"{"+c.join(",")+"}"};
|
|
285
285
|
shaka.util.StreamUtils.getDecodingInfosForVariant_=function(a,b){var c,d,e,f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress)return c=shaka.util.StreamUtils.alphabeticalKeyOrderStringify_(b),d=shaka.util.StreamUtils.decodingConfigCache_,d[c]?(shaka.log.v2("Using cached results of mediaCapabilities.decodingInfo","for key",c),a.decodingInfos.push(d[c]),l.jumpTo(0)):l.yield(shaka.util.StreamUtils.checkEachDecodingConfigCombination_(b),3);if((e=l.yieldResult)&&
|
|
286
286
|
e.length){f=null;g=$jscomp.makeIterator(e);for(h=g.next();!h.done;h=g.next())k=h.value,f?(f.supported=f.supported&&k.supported,f.powerEfficient=f.powerEfficient&&k.powerEfficient,f.smooth=f.smooth&&k.smooth,k.keySystemAccess||(f.keySystemAccess=null)):f=k;f&&(d[c]=f,a.decodingInfos.push(f))}l.jumpToEnd()})};
|
|
@@ -331,7 +331,7 @@ shaka.abr.SimpleAbrManager.prototype.chooseVariant=function(a){a=void 0===a?!1:a
|
|
|
331
331
|
e.length||(e=this.variants_);d=e;a&&e.length!=this.variants_.length&&(d=this.variants_.filter(function(m){return shaka.util.StreamUtils.isFastSwitching(m)}));a=this.filterAndSortVariants_(this.config_.restrictions,d,Infinity,Infinity);if(Infinity!=b||Infinity!=c){a=this.getResolutionList_(a);a=$jscomp.makeIterator(a);for(e=a.next();!e.done;e=a.next())if(e=e.value,e.height>=b&&e.width>=c){b=e.height;c=e.width;break}a=this.filterAndSortVariants_(this.config_.restrictions,d,b,c)}b=this.getBandwidthEstimate();
|
|
332
332
|
d.length&&!a.length&&(shaka.log.warning("No variants met the ABR restrictions. Choosing a variant by lowest bandwidth."),a=this.filterAndSortVariants_(null,d,Infinity,Infinity),a=[a[0]]);c=a[0]||null;for(d=0;d<a.length;d++){e=a[d];for(var f=isNaN(this.playbackRate_)?1:Math.abs(this.playbackRate_),g=f*e.bandwidth,h=g/this.config_.bandwidthDowngradeTarget,k={bandwidth:Infinity},l=d+1;l<a.length;l++)if(e.bandwidth!=a[l].bandwidth){k=a[l];break}f=f*k.bandwidth/this.config_.bandwidthUpgradeTarget;shaka.log.v2("Bandwidth ranges:",
|
|
333
333
|
(g/1E6).toFixed(3),(h/1E6).toFixed(3),(f/1E6).toFixed(3));b>=h&&b<=f&&c.bandwidth!=e.bandwidth&&(c=e)}this.lastTimeChosenMs_=Date.now();return c};shaka.abr.SimpleAbrManager.prototype.enable=function(){this.enabled_=!0};shaka.abr.SimpleAbrManager.prototype.disable=function(){this.enabled_=!1};
|
|
334
|
-
shaka.abr.SimpleAbrManager.prototype.segmentDownloaded=function(a,b,c){shaka.log.v2("Segment downloaded:","deltaTimeMs="+a,"numBytes="+b,"lastTimeChosenMs="+this.lastTimeChosenMs_,"enabled="+this.enabled_);goog.asserts.assert(0<=a,"expected a non-negative duration");this.bandwidthEstimator_.sample(a,b);c&&null!=this.lastTimeChosenMs_&&this.enabled_&&this.suggestStreams_()};
|
|
334
|
+
shaka.abr.SimpleAbrManager.prototype.segmentDownloaded=function(a,b,c){shaka.log.v2("Segment downloaded:","deltaTimeMs="+a,"numBytes="+b,"lastTimeChosenMs="+this.lastTimeChosenMs_,"enabled="+this.enabled_);goog.asserts.assert(0<=a,"expected a non-negative duration");this.bandwidthEstimator_.sample(a,b);c&&null!=this.lastTimeChosenMs_&&this.enabled_&&this.suggestStreams_()};shaka.abr.SimpleAbrManager.prototype.trySuggestStreams=function(){null!=this.lastTimeChosenMs_&&this.enabled_&&this.suggestStreams_()};
|
|
335
335
|
shaka.abr.SimpleAbrManager.prototype.getBandwidthEstimate=function(){var a=this.getDefaultBandwidth_();a=this.bandwidthEstimator_.getBandwidthEstimate(a);return this.cmsdManager_?this.cmsdManager_.getBandwidthEstimate(a):a};shaka.abr.SimpleAbrManager.prototype.setVariants=function(a){this.variants_=a};shaka.abr.SimpleAbrManager.prototype.playbackRateChanged=function(a){this.playbackRate_=a};
|
|
336
336
|
shaka.abr.SimpleAbrManager.prototype.setMediaElement=function(a){var b=this;this.mediaElement_=a;this.resizeObserver_&&(this.resizeObserver_.disconnect(),this.resizeObserver_=null);this.mediaElement_&&"ResizeObserver"in window&&(this.resizeObserver_=new ResizeObserver(function(){b.resizeObserverTimer_.tickAfter(shaka.abr.SimpleAbrManager.RESIZE_OBSERVER_BATCH_TIME)}),this.resizeObserver_.observe(this.mediaElement_))};
|
|
337
337
|
shaka.abr.SimpleAbrManager.prototype.setCmsdManager=function(a){this.cmsdManager_=a};shaka.abr.SimpleAbrManager.prototype.configure=function(a){this.config_=a;this.bandwidthEstimator_&&this.config_&&this.bandwidthEstimator_.configure(this.config_.advanced)};
|
|
@@ -340,9 +340,9 @@ b=this.getBandwidthEstimate();b=Math.round(b/1E3);a&&(shaka.log.debug("Calling s
|
|
|
340
340
|
shaka.abr.SimpleAbrManager.prototype.filterAndSortVariants_=function(a,b,c,d){if(this.cmsdManager_){var e=this.cmsdManager_.getMaxBitrate();e&&(b=b.filter(function(f){return f.bandwidth&&e?f.bandwidth<=e:!0}))}a&&(b=b.filter(function(f){goog.asserts.assert(a,"Restrictions should exist!");return shaka.util.StreamUtils.meetsRestrictions(f,a,{width:d,height:c})}));return b.sort(function(f,g){return f.bandwidth-g.bandwidth})};
|
|
341
341
|
shaka.abr.SimpleAbrManager.prototype.getResolutionList_=function(a){var b=[];a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next())(c=c.value.video)&&c.height&&c.width&&b.push({height:c.height,width:c.width});return b.sort(function(d,e){return d.width-e.width})};goog.exportSymbol("shaka.abr.SimpleAbrManager",shaka.abr.SimpleAbrManager);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"configure",shaka.abr.SimpleAbrManager.prototype.configure);
|
|
342
342
|
goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"setCmsdManager",shaka.abr.SimpleAbrManager.prototype.setCmsdManager);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"setMediaElement",shaka.abr.SimpleAbrManager.prototype.setMediaElement);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"playbackRateChanged",shaka.abr.SimpleAbrManager.prototype.playbackRateChanged);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"setVariants",shaka.abr.SimpleAbrManager.prototype.setVariants);
|
|
343
|
-
goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"getBandwidthEstimate",shaka.abr.SimpleAbrManager.prototype.getBandwidthEstimate);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"
|
|
344
|
-
goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"
|
|
345
|
-
shaka.abr.SimpleAbrManager.RESIZE_OBSERVER_BATCH_TIME=1;shaka.deprecate={};shaka.deprecate.Version=function(a,b){this.major_=a;this.minor_=b};shaka.deprecate.Version.prototype.major=function(){return this.major_};shaka.deprecate.Version.prototype.minor=function(){return this.minor_};shaka.deprecate.Version.prototype.compareTo=function(a){var b=this.minor_-a.minor_;return this.major_-a.major_||b};shaka.deprecate.Version.prototype.toString=function(){return"v"+this.major_+"."+this.minor_};
|
|
343
|
+
goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"getBandwidthEstimate",shaka.abr.SimpleAbrManager.prototype.getBandwidthEstimate);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"trySuggestStreams",shaka.abr.SimpleAbrManager.prototype.trySuggestStreams);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"segmentDownloaded",shaka.abr.SimpleAbrManager.prototype.segmentDownloaded);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"disable",shaka.abr.SimpleAbrManager.prototype.disable);
|
|
344
|
+
goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"enable",shaka.abr.SimpleAbrManager.prototype.enable);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"chooseVariant",shaka.abr.SimpleAbrManager.prototype.chooseVariant);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"init",shaka.abr.SimpleAbrManager.prototype.init);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"release",shaka.abr.SimpleAbrManager.prototype.release);
|
|
345
|
+
goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"stop",shaka.abr.SimpleAbrManager.prototype.stop);shaka.abr.SimpleAbrManager.RESIZE_OBSERVER_BATCH_TIME=1;shaka.deprecate={};shaka.deprecate.Version=function(a,b){this.major_=a;this.minor_=b};shaka.deprecate.Version.prototype.major=function(){return this.major_};shaka.deprecate.Version.prototype.minor=function(){return this.minor_};shaka.deprecate.Version.prototype.compareTo=function(a){var b=this.minor_-a.minor_;return this.major_-a.major_||b};shaka.deprecate.Version.prototype.toString=function(){return"v"+this.major_+"."+this.minor_};
|
|
346
346
|
shaka.deprecate.Version.parse=function(a){a=a.substring(1).split(".",2);return new shaka.deprecate.Version(Number(a[0]),Number(a[1]))};shaka.deprecate.Enforcer=function(a,b,c){this.libraryVersion_=a;this.onPending_=b;this.onExpired_=c};shaka.deprecate.Enforcer.prototype.enforce=function(a,b,c){(0<a.compareTo(this.libraryVersion_)?this.onPending_:this.onExpired_)(this.libraryVersion_,a,b,c)};shaka.Deprecate=function(){};shaka.Deprecate.init=function(a){goog.asserts.assert(null==shaka.Deprecate.enforcer_,"Deprecate.init should only be called once.");shaka.Deprecate.enforcer_=new shaka.deprecate.Enforcer(shaka.deprecate.Version.parse(a),shaka.Deprecate.onPending_,shaka.Deprecate.onExpired_)};
|
|
347
347
|
shaka.Deprecate.deprecateFeature=function(a,b,c){var d=shaka.Deprecate.enforcer_;goog.asserts.assert(d,"Missing deprecation enforcer. Was |init| called?");a=new shaka.deprecate.Version(a,0);d.enforce(a,b,c)};shaka.Deprecate.onPending_=function(a,b,c,d){shaka.log.alwaysWarn([c,"has been deprecated and will be removed in",b,". We are currently at version",a,". Additional information:",d].join(" "))};
|
|
348
348
|
shaka.Deprecate.onExpired_=function(a,b,c,d){a=[c,"has been deprecated and has been removed in",b,". We are now at version",a,". Additional information:",d].join("");shaka.log.alwaysError(a);goog.asserts.assert(!1,a)};shaka.Deprecate.enforcer_=null;shaka.config={};shaka.config.AutoShowText={NEVER:0,ALWAYS:1,IF_PREFERRED_TEXT_LANGUAGE:2,IF_SUBTITLES_MAY_BE_NEEDED:3};goog.exportSymbol("shaka.config.AutoShowText",shaka.config.AutoShowText);shaka.config.CodecSwitchingStrategy={RELOAD:"reload",SMOOTH:"smooth"};goog.exportSymbol("shaka.config.CodecSwitchingStrategy",shaka.config.CodecSwitchingStrategy);shaka.media.AdaptationSet=function(a,b,c,d){c=void 0===c?!0:c;d=void 0===d?!1:d;this.root_=a;this.variants_=new Set([a]);b=b||[];a=$jscomp.makeIterator(b);for(b=a.next();!b.done;b=a.next())this.add(b.value,c,d)};shaka.media.AdaptationSet.prototype.add=function(a,b,c){if(this.canInclude(a,b,c))return this.variants_.add(a),!0;shaka.log.warning("Rejecting variant - not compatible with root.");return!1};
|
|
@@ -396,7 +396,7 @@ r&&r.tickAfter(z/1E3);if(h.onProgressUpdated_&&a==v){var H=h.allowSwitch_(c);h.o
|
|
|
396
396
|
Date.now()-t);var x={response:v,gotProgress:m};if(!w&&h.onHeadersReceived_)h.onHeadersReceived_(v.headers,b,a);return x},function(v){q&&q.stop();r&&r.stop();if(h.onDownloadFailed_){var x=null,y=0;v instanceof shaka.util.Error&&(x=v,v.code==shaka.util.Error.Code.BAD_HTTP_STATUS&&(y=v.data[1]));h.onDownloadFailed_(b,x,y,u)}if(h.destroyed_)return shaka.util.AbortableOperation.aborted();u&&(v=new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.TIMEOUT,
|
|
397
397
|
b.uris[e],a));if(v instanceof shaka.util.Error){if(v.code==shaka.util.Error.Code.OPERATION_ABORTED)throw v;if(v.code==shaka.util.Error.Code.ATTEMPTS_EXHAUSTED)throw goog.asserts.assert(f,"Should have last error"),f;if(v.severity==shaka.util.Error.Severity.RECOVERABLE)return x=(new Map).set("error",v),x=new shaka.util.FakeEvent("retry",x),h.dispatchEvent(x),e=(e+1)%b.uris.length,h.send_(a,b,c,d,e,v,g)}throw v;})};
|
|
398
398
|
shaka.net.NetworkingEngine.prototype.filterResponse_=function(a,b,c){for(var d=shaka.util.AbortableOperation.completed(void 0),e={},f=$jscomp.makeIterator(this.responseFilters_),g=f.next();!g.done;e={$jscomp$loop$prop$responseFilter$802:e.$jscomp$loop$prop$responseFilter$802},g=f.next())e.$jscomp$loop$prop$responseFilter$802=g.value,d=d.chain(function(h){return function(){var k=b.response;k.data&&(k.data=shaka.util.BufferUtils.toArrayBuffer(k.data));return h.$jscomp$loop$prop$responseFilter$802(a,
|
|
399
|
-
k,c)}}(e));return d.chain(function(){return b},function(h){var k=shaka.util.Error.Severity.CRITICAL;if(h instanceof shaka.util.Error){if(h.code==shaka.util.Error.Code.OPERATION_ABORTED)throw h;k=h.severity}throw new shaka.util.Error(k,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.RESPONSE_FILTER_ERROR,h);})};shaka.net.NetworkingEngine.prototype.allowSwitch_=function(a){if(a){var b=a.segment;a=a.stream;if(b&&a&&a.fastSwitching&&b.isPartial()
|
|
399
|
+
k,c)}}(e));return d.chain(function(){return b},function(h){var k=shaka.util.Error.Severity.CRITICAL;if(h instanceof shaka.util.Error){if(h.code==shaka.util.Error.Code.OPERATION_ABORTED)throw h;k=h.severity}throw new shaka.util.Error(k,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.RESPONSE_FILTER_ERROR,h);})};shaka.net.NetworkingEngine.prototype.allowSwitch_=function(a){if(a){var b=a.segment;a=a.stream;if(b&&a&&a.fastSwitching&&b.isPartial())return!1}return!0};
|
|
400
400
|
shaka.net.NetworkingEngine.getLocationProtocol_=function(){return location.protocol};goog.exportSymbol("shaka.net.NetworkingEngine",shaka.net.NetworkingEngine);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"request",shaka.net.NetworkingEngine.prototype.request);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"destroy",shaka.net.NetworkingEngine.prototype.destroy);goog.exportProperty(shaka.net.NetworkingEngine,"makeRequest",shaka.net.NetworkingEngine.makeRequest);
|
|
401
401
|
goog.exportProperty(shaka.net.NetworkingEngine,"defaultRetryParameters",shaka.net.NetworkingEngine.defaultRetryParameters);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"clearAllResponseFilters",shaka.net.NetworkingEngine.prototype.clearAllResponseFilters);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"unregisterResponseFilter",shaka.net.NetworkingEngine.prototype.unregisterResponseFilter);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"registerResponseFilter",shaka.net.NetworkingEngine.prototype.registerResponseFilter);
|
|
402
402
|
goog.exportProperty(shaka.net.NetworkingEngine.prototype,"clearAllRequestFilters",shaka.net.NetworkingEngine.prototype.clearAllRequestFilters);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"unregisterRequestFilter",shaka.net.NetworkingEngine.prototype.unregisterRequestFilter);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"registerRequestFilter",shaka.net.NetworkingEngine.prototype.registerRequestFilter);goog.exportProperty(shaka.net.NetworkingEngine,"unregisterScheme",shaka.net.NetworkingEngine.unregisterScheme);
|
|
@@ -835,7 +835,7 @@ shaka.media.RegionObserver.prototype.release=function(){this.timeline_=null;this
|
|
|
835
835
|
shaka.media.RegionObserver.prototype.poll=function(a,b){var c=shaka.media.RegionObserver;if(!this.startsPastZero_||0!=a){this.startsPastZero_=!1;for(var d=$jscomp.makeIterator(this.timeline_.regions()),e=d.next();!e.done;e=d.next()){e=e.value;var f=this.oldPosition_.get(e),g=c.determinePositionRelativeTo_(e,a);this.oldPosition_.set(e,g);for(var h=$jscomp.makeIterator(this.rules_),k=h.next();!k.done;k=h.next())k=k.value,k.weWere==f&&k.weAre==g&&k.invoke(e,b)}}};
|
|
836
836
|
shaka.media.RegionObserver.prototype.onEvent_=function(a,b,c){a=new shaka.util.FakeEvent(a,new Map([["region",b],["seeking",c]]));this.dispatchEvent(a)};shaka.media.RegionObserver.determinePositionRelativeTo_=function(a,b){var c=shaka.media.RegionObserver.RelativePosition_;return b<a.startTime?c.BEFORE_THE_REGION:b>a.endTime?c.AFTER_THE_REGION:c.IN_THE_REGION};shaka.media.RegionObserver.RelativePosition_={BEFORE_THE_REGION:1,IN_THE_REGION:2,AFTER_THE_REGION:3};shaka.media.SegmentPrefetch=function(a,b,c){this.prefetchLimit_=a;this.stream_=b;this.prefetchPosTime_=0;this.fetchDispatcher_=c;this.segmentPrefetchMap_=new Map};
|
|
837
837
|
shaka.media.SegmentPrefetch.prototype.prefetchSegments=function(a,b){b=void 0===b?!1:b;goog.asserts.assert(0<this.prefetchLimit_,"SegmentPrefetch can not be used when prefetchLimit <= 0.");var c=shaka.media.SegmentPrefetch.logPrefix_(this.stream_);if(this.stream_.segmentIndex){if(c=this.stream_.segmentIndex.getIteratorForTime(Math.max(a.startTime,this.prefetchPosTime_))){var d=a;b&&(d=c.next().value)&&d.startTime==a.startTime&&d.endTime==a.endTime&&(d=null);for(;this.segmentPrefetchMap_.size<this.prefetchLimit_&&
|
|
838
|
-
null!=d;)a=!0
|
|
838
|
+
null!=d;){a=!0;d.isPreload()&&null!=d.endByte&&(a=!1);d.getStatus()==shaka.media.SegmentReference.Status.MISSING&&(a=!1);a&&!this.segmentPrefetchMap_.has(d)&&(a=new shaka.media.SegmentPrefetchOperation(this.fetchDispatcher_),a.dispatchFetch(d,this.stream_),this.segmentPrefetchMap_.set(d,a));this.prefetchPosTime_=d.startTime;if(this.stream_.fastSwitching&&d.isPartial()&&d.isLastPartial())break;d=c.next().value}}}else shaka.log.info(c,"missing segmentIndex")};
|
|
839
839
|
shaka.media.SegmentPrefetch.prototype.prefetchInitSegment=function(a){goog.asserts.assert(0<this.prefetchLimit_,"SegmentPrefetch can not be used when prefetchLimit <= 0.");var b=shaka.media.SegmentPrefetch.logPrefix_(this.stream_);this.stream_.segmentIndex?this.segmentPrefetchMap_.size<this.prefetchLimit_&&!this.segmentPrefetchMap_.has(a)&&(b=new shaka.media.SegmentPrefetchOperation(this.fetchDispatcher_),b.dispatchFetch(a,this.stream_),this.segmentPrefetchMap_.set(a,b)):shaka.log.info(b,"missing segmentIndex")};
|
|
840
840
|
shaka.media.SegmentPrefetch.prototype.getPrefetchedSegment=function(a,b){goog.asserts.assert(0<this.prefetchLimit_,"SegmentPrefetch can not be used when prefetchLimit <= 0.");var c=shaka.media.SegmentPrefetch.logPrefix_(this.stream_);if(this.segmentPrefetchMap_.has(a)){var d=this.segmentPrefetchMap_.get(a);b&&d.setStreamDataCallback(b);this.segmentPrefetchMap_.delete(a);a instanceof shaka.media.SegmentReference?shaka.log.debug(c,"reused prefetched segment at time:",a.startTime,"mapSize",this.segmentPrefetchMap_.size):
|
|
841
841
|
shaka.log.debug(c,"reused prefetched init segment at time, mapSize",this.segmentPrefetchMap_.size);return d.getOperation()}a instanceof shaka.media.SegmentReference?shaka.log.debug(c,"missed segment at time:",a.startTime,"mapSize",this.segmentPrefetchMap_.size):shaka.log.debug(c,"missed init segment at time, mapSize",this.segmentPrefetchMap_.size);return null};
|
|
@@ -844,7 +844,7 @@ shaka.media.SegmentPrefetch.prototype.resetLimit=function(a){goog.asserts.assert
|
|
|
844
844
|
shaka.media.SegmentPrefetch.prototype.abortPrefetchedSegment_=function(a){var b=shaka.media.SegmentPrefetch.logPrefix_(this.stream_),c=this.segmentPrefetchMap_.get(a);this.segmentPrefetchMap_.delete(a);c&&(c.abort(),a instanceof shaka.media.SegmentReference?shaka.log.info(b,"pop and abort prefetched segment at time:",a.startTime):shaka.log.info(b,"pop and abort prefetched init segment"))};shaka.media.SegmentPrefetch.logPrefix_=function(a){return"SegmentPrefetch("+a.type+":"+a.id+")"};
|
|
845
845
|
shaka.media.SegmentPrefetchOperation=function(a){this.fetchDispatcher_=a;this.operation_=this.streamDataCallback_=null};
|
|
846
846
|
shaka.media.SegmentPrefetchOperation.prototype.dispatchFetch=function(a,b){var c=this,d=new Uint8Array(0);this.operation_=this.fetchDispatcher_(a,b,function(e){return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return d=0<d.byteLength?shaka.util.Uint8ArrayUtils.concat(d,e):e,c.streamDataCallback_?f.yield(c.streamDataCallback_(d),3):f.jumpTo(0);d=new Uint8Array(0);f.jumpToEnd()})})};shaka.media.SegmentPrefetchOperation.prototype.getOperation=function(){return this.operation_};
|
|
847
|
-
shaka.media.SegmentPrefetchOperation.prototype.setStreamDataCallback=function(a){this.streamDataCallback_=a};shaka.media.SegmentPrefetchOperation.prototype.abort=function(){this.operation_&&this.operation_.abort()};shaka.util.Networking=function(){};shaka.util.Networking.createSegmentRequest=function(a,b,c,d,e){a=shaka.net.NetworkingEngine.makeRequest(a,d,e);if(0!=b||null!=c)a.headers.Range=c?"bytes="+b+"-"+c:"bytes="+b+"-";return a};shaka.media.StreamingEngine=function(a,b){var c=this;this.playerInterface_=b;this.manifest_=a;this.config_=null;this.bufferingGoalScale_=1;this.currentTextStream_=this.currentVariant_=null;this.textStreamSequenceId_=0;this.parsedPrftEventRaised_=!1;this.mediaStates_=new Map;this.startupComplete_=!1;this.failureCallbackBackoff_=null;this.fatalError_=!1;this.destroyer_=new shaka.util.Destroyer(function(){return c.doDestroy_()});this.lastMediaSourceReset_=
|
|
847
|
+
shaka.media.SegmentPrefetchOperation.prototype.setStreamDataCallback=function(a){this.streamDataCallback_=a};shaka.media.SegmentPrefetchOperation.prototype.abort=function(){this.operation_&&this.operation_.abort()};shaka.util.Networking=function(){};shaka.util.Networking.createSegmentRequest=function(a,b,c,d,e){a=shaka.net.NetworkingEngine.makeRequest(a,d,e);if(0!=b||null!=c)a.headers.Range=c?"bytes="+b+"-"+c:"bytes="+b+"-";return a};shaka.media.StreamingEngine=function(a,b){var c=this;this.playerInterface_=b;this.manifest_=a;this.config_=null;this.bufferingGoalScale_=1;this.currentTextStream_=this.currentVariant_=null;this.textStreamSequenceId_=0;this.parsedPrftEventRaised_=!1;this.mediaStates_=new Map;this.startupComplete_=!1;this.failureCallbackBackoff_=null;this.fatalError_=!1;this.destroyer_=new shaka.util.Destroyer(function(){return c.doDestroy_()});this.lastMediaSourceReset_=Date.now()/1E3};
|
|
848
848
|
shaka.media.StreamingEngine.prototype.destroy=function(){return this.destroyer_.destroy()};
|
|
849
849
|
shaka.media.StreamingEngine.prototype.doDestroy_=function(){var a=this,b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress){b=[];c=$jscomp.makeIterator(a.mediaStates_.values());for(d=c.next();!d.done;d=c.next())e=d.value,a.cancelUpdate_(e),b.push(a.abortOperations_(e));return f.yield(Promise.all(b),2)}a.mediaStates_.clear();a.playerInterface_=null;a.manifest_=null;a.config_=null;f.jumpToEnd()})};
|
|
850
850
|
shaka.media.StreamingEngine.prototype.configure=function(a){this.config_=a;this.failureCallbackBackoff_=new shaka.net.Backoff({maxAttempts:Math.max(a.retryParameters.maxAttempts,2),baseDelay:a.retryParameters.baseDelay,backoffFactor:a.retryParameters.backoffFactor,fuzzFactor:a.retryParameters.fuzzFactor,timeout:0,stallTimeout:0,connectionTimeout:0},!0);for(var b=$jscomp.makeIterator(this.mediaStates_.keys()),c=b.next();!c.done;c=b.next())c=this.mediaStates_.get(c.value),c.segmentPrefetch?(c.segmentPrefetch.resetLimit(a.segmentPrefetchLimit),
|
|
@@ -893,8 +893,8 @@ if(c.getStatus()==shaka.media.SegmentReference.Status.MISSING)throw new shaka.ut
|
|
|
893
893
|
c.hasByterangeOptimization()))return q=new Uint8Array(0),u=r=!1,t=function(E){var H,C,G,D;return $jscomp.asyncExecutePromiseGeneratorProgram(function(F){switch(F.nextAddress){case 1:if(r)return F.return();u=!0;d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return F.return();F.setCatchFinallyBlocks(2);q=d.concatArray_(q,E);H=!1;C=0;(new shaka.util.Mp4Parser).box("mdat",function(I){C=I.size+I.start;H=!0}).parse(q,!1,!0);if(!H){F.jumpTo(4);break}G=q.subarray(0,C);q=q.subarray(C);return F.yield(d.append_(a,
|
|
894
894
|
b,h,c,G,!0),5);case 5:a.segmentPrefetch&&a.segmentIterator&&a.segmentPrefetch.prefetchSegments(c,!0);case 4:F.leaveTryBlock(0);break;case 2:w=D=F.enterCatchBlock(),F.jumpToEnd()}})},B.yield(d.fetch_(a,c,t),9);d.config_.lowLatencyMode&&!m&&shaka.log.warning("Low latency streaming mode is enabled, but ReadableStream is not supported by the browser.");n=d.fetch_(a,c);return B.yield(n,7);case 7:p=B.yieldResult;d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return B.return();d.destroyer_.ensureNotDestroyed();
|
|
895
895
|
return a.waitingToClearBuffer?(shaka.log.info(g,"waitingToClearBuffer, skip append"),a.performingUpdate=!1,d.scheduleUpdate_(a,0),B.return()):B.yield(d.append_(a,b,h,c,p),6);case 9:v=B.yieldResult;if(w)throw w;if(u){B.jumpTo(10);break}r=!0;d.destroyer_.ensureNotDestroyed();return d.fatalError_?B.return():a.waitingToClearBuffer?(shaka.log.info(g,"waitingToClearBuffer, skip append"),a.performingUpdate=!1,d.scheduleUpdate_(a,0),B.return()):B.yield(d.append_(a,b,h,c,v),10);case 10:a.segmentPrefetch&&
|
|
896
|
-
a.segmentIterator&&a.segmentPrefetch.prefetchSegments(c,!0);case 6:d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return B.return();a.lastSegmentReference=c;x=k.next().value;shaka.log.v2(g,"advancing to next segment",x);a.performingUpdate=!1;a.recovering=!1;y=d.playerInterface_.mediaSourceEngine.getBufferedInfo();z=y[a.type];shaka.log.v1(g,"finished fetch and append",JSON.stringify(z));if(!a.waitingToClearBuffer)d.playerInterface_.onSegmentAppended(c
|
|
897
|
-
|
|
896
|
+
a.segmentIterator&&a.segmentPrefetch.prefetchSegments(c,!0);case 6:d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return B.return();a.lastSegmentReference=c;x=k.next().value;shaka.log.v2(g,"advancing to next segment",x);a.performingUpdate=!1;a.recovering=!1;y=d.playerInterface_.mediaSourceEngine.getBufferedInfo();z=y[a.type];shaka.log.v1(g,"finished fetch and append",JSON.stringify(z));if(!a.waitingToClearBuffer)d.playerInterface_.onSegmentAppended(c,a.stream);d.scheduleUpdate_(a,0);B.leaveTryBlock(0);
|
|
897
|
+
break;case 2:A=B.enterCatchBlock();d.destroyer_.ensureNotDestroyed(A);if(d.fatalError_)return B.return();goog.asserts.assert(A instanceof shaka.util.Error,"Should only receive a Shaka error");a.performingUpdate=!1;if(A.code==shaka.util.Error.Code.OPERATION_ABORTED)a.performingUpdate=!1,d.cancelUpdate_(a),d.scheduleUpdate_(a,0),B.jumpTo(0);else if(a.type==e.TEXT&&d.config_.ignoreTextStreamFailures)A.code==shaka.util.Error.Code.BAD_HTTP_STATUS?shaka.log.warning(g,"Text stream failed to download. Proceeding without it."):
|
|
898
898
|
shaka.log.warning(g,"Text stream failed to parse. Proceeding without it."),d.mediaStates_.delete(e.TEXT),B.jumpTo(0);else if(A.code==shaka.util.Error.Code.QUOTA_EXCEEDED_ERROR)d.handleQuotaExceeded_(a,A),B.jumpTo(0);else return shaka.log.error(g,"failed fetch and append: code="+A.code),a.hasError=!0,A.severity=shaka.util.Error.Severity.CRITICAL,B.yield(d.handleStreamingError_(a,A),0)}})};
|
|
899
899
|
shaka.media.StreamingEngine.prototype.aes128Decrypt_=function(a,b,c){var d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress){d=b;if(d.cryptoKey)return h.jumpTo(2);goog.asserts.assert(d.fetchKey,"If AES-128 cryptoKey was not preloaded, fetchKey function should be provided");return h.yield(d.fetchKey(),3)}2!=h.nextAddress&&goog.asserts.assert(d.cryptoKey,"AES-128 cryptoKey should now be set");e=d.iv;if(!e)for(e=shaka.util.BufferUtils.toUint8(new ArrayBuffer(16)),
|
|
900
900
|
f=d.firstMediaSequenceNumber+c,g=e.byteLength-1;0<=g;g--)e[g]=f&255,f>>=8;return h.return(window.crypto.subtle.decrypt({name:"AES-CBC",iv:e},d.cryptoKey,a))})};
|
|
@@ -1110,14 +1110,15 @@ a.makeStateChangeEvent_("drm-engine"),b=Date.now()/1E3,c=!0,a.drmEngine_=a.creat
|
|
|
1110
1110
|
a.manifest_.offlineSessionIds),2)):3!=d.nextAddress?d.yield(a.drmEngine_.attach(a.video_),3):d.yield(a.filterManifest_(a.manifest_),0)})};
|
|
1111
1111
|
shaka.Player.prototype.loadInner_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,u,w,t,v,x,y,z;return $jscomp.asyncExecutePromiseGeneratorProgram(function(A){switch(A.nextAddress){case 1:goog.asserts.assert(b.video_,"We should have a media element by now.");goog.asserts.assert(b.manifest_,"The manifest should already be parsed.");goog.asserts.assert(b.assetUri_,"We should have an asset uri by now.");b.makeStateChangeEvent_("load");c=b.video_;b.playRateController_=new shaka.media.PlayRateController({getRate:function(){return c.playbackRate},
|
|
1112
1112
|
getDefaultRate:function(){return c.defaultPlaybackRate},setRate:function(B){c.playbackRate=B},movePlayhead:function(B){c.currentTime+=B}});d=function(){return b.updateStateHistory_()};e=function(){return b.onRateChange_()};b.loadEventManager_.listen(c,"playing",d);b.loadEventManager_.listen(c,"pause",d);b.loadEventManager_.listen(c,"ended",d);b.loadEventManager_.listen(c,"ratechange",e);b.setupLcevc_(b.config_);f=b.config_.abrFactory;b.abrManager_&&b.abrManagerFactory_==f||(b.abrManagerFactory_=f,
|
|
1113
|
-
b.abrManager_=f(),"function"!=typeof b.abrManager_.setMediaElement&&(shaka.Deprecate.deprecateFeature(5,"AbrManager","Please use an AbrManager with setMediaElement function."),b.abrManager_.setMediaElement=function(){}),"function"!=typeof b.abrManager_.setCmsdManager&&(shaka.Deprecate.deprecateFeature(5,"AbrManager","Please use an AbrManager with setCmsdManager function."),b.abrManager_.setCmsdManager=function(){}),b.abrManager_.
|
|
1114
|
-
b.
|
|
1115
|
-
b.config_.playRangeStart,b.config_.playRangeEnd);b.abrManager_.init(function(B,E,H){return b.switch_(B,E,H)});b.abrManager_.setMediaElement(c);b.abrManager_.setCmsdManager(b.cmsdManager_);shaka.util.StreamUtils.chooseCodecsAndFilterManifest(b.manifest_,
|
|
1116
|
-
b.loadEventManager_.listen(c.textTracks,"addtrack",function(B){if(B.track)switch(B=B.track,goog.asserts.assert(B instanceof TextTrack,"Wrong track type!"),B.kind){case "chapters":b.activateChaptersTrack_(B)}});b.dispatchEvent(b.makeEvent_(shaka.util.FakeEvent.EventName.Streaming));
|
|
1117
|
-
n.value)&&!p.segmentIndex&&k.push(p.createSegmentIndex());if(!(0<k.length)){A.jumpTo(2);break}return A.yield(Promise.all(k),2);case 2:if(b.parser_&&b.parser_.onInitialVariantChosen)b.parser_.onInitialVariantChosen(l);shaka.Player.applyPlayRange_(b.manifest_.presentationTimeline,
|
|
1118
|
-
b.startBufferManagement_(c,q);if(h){A.jumpTo(4);break}goog.asserts.assert(g,"Must have choosen an initial variant!");b.switchVariant_(g,!0,!1,0);if(!b.config_.streaming.startAtSegmentBoundary){A.jumpTo(4);break}r=b.playhead_;u=r.setStartTime;return A.yield(b.adjustStartTime_(g,
|
|
1119
|
-
t),t&&b.shouldStreamText_()&&b.streamingEngine_.switchTextStream(t)),A.yield(b.streamingEngine_.start(),7);case 7:b.config_.abr.enabled&&(b.abrManager_.enable(),b.onAbrStatusChanged_());b.onTracksChanged_();b.updateAbrManagerVariants_();v=b.manifest_.variants.some(function(B){return B.primary});
|
|
1120
|
-
(y=function(){return b.onTimeUpdate_()},b.loadEventManager_.listen(c,"timeupdate",y)):x||(z=function(){return b.onVideoProgress_()},b.loadEventManager_.listen(c,"timeupdate",z),b.onVideoProgress_());if(b.adManager_)b.adManager_.onManifestUpdated(x);b.fullyLoaded_=!0;b.loadEventManager_.listenOnce(c,
|
|
1113
|
+
b.abrManager_=f(),"function"!=typeof b.abrManager_.setMediaElement&&(shaka.Deprecate.deprecateFeature(5,"AbrManager","Please use an AbrManager with setMediaElement function."),b.abrManager_.setMediaElement=function(){}),"function"!=typeof b.abrManager_.setCmsdManager&&(shaka.Deprecate.deprecateFeature(5,"AbrManager","Please use an AbrManager with setCmsdManager function."),b.abrManager_.setCmsdManager=function(){}),"function"!=typeof b.abrManager_.trySuggestStreams&&(shaka.Deprecate.deprecateFeature(5,
|
|
1114
|
+
"AbrManager","Please use an AbrManager with trySuggestStreams function."),b.abrManager_.trySuggestStreams=function(){}),b.abrManager_.configure(b.config_.abr));b.currentAdaptationSetCriteria_=new shaka.media.PreferenceBasedCriteria(b.config_.preferredAudioLanguage,b.config_.preferredVariantRole,b.config_.preferredAudioChannelCount,b.config_.preferredVideoHdrLevel,b.config_.preferSpatialAudio,b.config_.preferredVideoLayout,b.config_.preferredAudioLabel,b.config_.preferredVideoLabel,b.config_.mediaSource.codecSwitchingStrategy,
|
|
1115
|
+
b.config_.manifest.dash.enableAudioGroups);b.currentTextLanguage_=b.config_.preferredTextLanguage;b.currentTextRole_=b.config_.preferredTextRole;b.currentTextForced_=b.config_.preferForcedSubs;shaka.Player.applyPlayRange_(b.manifest_.presentationTimeline,b.config_.playRangeStart,b.config_.playRangeEnd);b.abrManager_.init(function(B,E,H){return b.switch_(B,E,H)});b.abrManager_.setMediaElement(c);b.abrManager_.setCmsdManager(b.cmsdManager_);shaka.util.StreamUtils.chooseCodecsAndFilterManifest(b.manifest_,
|
|
1116
|
+
b.config_.preferredVideoCodecs,b.config_.preferredAudioCodecs,b.config_.preferredDecodingAttributes);b.streamingEngine_=b.createStreamingEngine();b.streamingEngine_.configure(b.config_.streaming);b.loadMode_=shaka.Player.LoadMode.MEDIA_SOURCE;c.textTracks&&b.loadEventManager_.listen(c.textTracks,"addtrack",function(B){if(B.track)switch(B=B.track,goog.asserts.assert(B instanceof TextTrack,"Wrong track type!"),B.kind){case "chapters":b.activateChaptersTrack_(B)}});b.dispatchEvent(b.makeEvent_(shaka.util.FakeEvent.EventName.Streaming));
|
|
1117
|
+
g=null;h=b.streamingEngine_.getCurrentVariant();h||(g=b.chooseVariant_(!0),goog.asserts.assert(g,"Must choose an initial variant!"));k=[];l=h||g;m=$jscomp.makeIterator([l.video,l.audio]);for(n=m.next();!n.done;n=m.next())(p=n.value)&&!p.segmentIndex&&k.push(p.createSegmentIndex());if(!(0<k.length)){A.jumpTo(2);break}return A.yield(Promise.all(k),2);case 2:if(b.parser_&&b.parser_.onInitialVariantChosen)b.parser_.onInitialVariantChosen(l);shaka.Player.applyPlayRange_(b.manifest_.presentationTimeline,
|
|
1118
|
+
b.config_.playRangeStart,b.config_.playRangeEnd);b.playhead_=b.createPlayhead(b.startTime_);b.playheadObservers_=b.createPlayheadObserversForMSE_(a);q=Math.max(b.manifest_.minBufferTime,b.config_.streaming.rebufferingGoal);b.startBufferManagement_(c,q);if(h){A.jumpTo(4);break}goog.asserts.assert(g,"Must have choosen an initial variant!");b.switchVariant_(g,!0,!1,0);if(!b.config_.streaming.startAtSegmentBoundary){A.jumpTo(4);break}r=b.playhead_;u=r.setStartTime;return A.yield(b.adjustStartTime_(g,
|
|
1119
|
+
b.playhead_.getTime()),6);case 6:u.call(r,A.yieldResult);case 4:return b.playhead_.ready(),w=b.getTextTracks().find(function(B){return B.active}),w||((t=b.chooseTextStream_())&&b.addTextStreamToSwitchHistory_(t,!0),g&&b.setInitialTextState_(g,t),t&&b.shouldStreamText_()&&b.streamingEngine_.switchTextStream(t)),A.yield(b.streamingEngine_.start(),7);case 7:b.config_.abr.enabled&&(b.abrManager_.enable(),b.onAbrStatusChanged_());b.onTracksChanged_();b.updateAbrManagerVariants_();v=b.manifest_.variants.some(function(B){return B.primary});
|
|
1120
|
+
b.config_.preferredAudioLanguage||v||shaka.log.warning("No preferred audio language set. We have chosen an arbitrary language initially");(x=b.isLive())&&(b.config_.streaming.liveSync||b.manifest_.serviceDescription)?(y=function(){return b.onTimeUpdate_()},b.loadEventManager_.listen(c,"timeupdate",y)):x||(z=function(){return b.onVideoProgress_()},b.loadEventManager_.listen(c,"timeupdate",z),b.onVideoProgress_());if(b.adManager_)b.adManager_.onManifestUpdated(x);b.fullyLoaded_=!0;b.loadEventManager_.listenOnce(c,
|
|
1121
|
+
"loadedmetadata",function(){var B=Date.now()/1E3-a;b.stats_.setLoadLatency(B)});A.jumpToEnd()}})};
|
|
1121
1122
|
shaka.Player.prototype.initializeSrcEqualsDrmInner_=function(a){var b=this,c,d,e,f;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){return 1==g.nextAddress?(c=shaka.util.ManifestParserUtils.ContentType,goog.asserts.assert(b.networkingEngine_,"|onInitializeSrcEqualsDrm_| should never be called after |destroy|"),goog.asserts.assert(b.config_,"|onInitializeSrcEqualsDrm_| should never be called after |destroy|"),d=Date.now()/1E3,e=!0,b.drmEngine_=b.createDrmEngine({netEngine:b.networkingEngine_,
|
|
1122
1123
|
onError:function(h){b.onError_(h)},onKeyStatus:function(h){b.onKeyStatus_(h)},onExpirationUpdated:function(h,k){b.onExpirationUpdated_(h,k)},onEvent:function(h){b.dispatchEvent(h);h.type==shaka.util.FakeEvent.EventName.DrmSessionUpdate&&e&&(e=!1,h=Date.now()/1E3-d,b.stats_.setDrmTime(h))}}),b.drmEngine_.configure(b.config_.drm),f={id:0,language:"und",disabledUntilTime:0,primary:!1,audio:null,video:{id:0,originalId:null,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:null,
|
|
1123
1124
|
mimeType:a?shaka.util.MimeUtils.getBasicType(a):"",codecs:a?shaka.util.MimeUtils.getCodecs(a):"",encrypted:!0,drmInfos:[],keyIds:new Set,language:"und",originalLanguage:null,label:null,type:c.VIDEO,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],forced:!1,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,accessibilityPurpose:null,external:!1,fastSwitching:!1},bandwidth:100,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]},b.drmEngine_.setSrcEquals(!0),
|
|
@@ -1147,7 +1148,8 @@ this.bufferObserver_.update(b,a)&&this.updateBufferState_()};shaka.Player.protot
|
|
|
1147
1148
|
shaka.Player.prototype.createCmcd_=function(){var a=this;return new shaka.util.CmcdManager({getBandwidthEstimate:function(){return a.abrManager_?a.abrManager_.getBandwidthEstimate():NaN},getBufferedInfo:function(){return a.getBufferedInfo()},getCurrentTime:function(){return a.video_?a.video_.currentTime:0},getPlaybackRate:function(){return a.getPlaybackRate()},getNetworkingEngine:function(){return a.getNetworkingEngine()},getVariantTracks:function(){return a.getVariantTracks()},isLive:function(){return a.isLive()}},
|
|
1148
1149
|
this.config_.cmcd)};shaka.Player.prototype.createCmsd_=function(){return new shaka.util.CmsdManager(this.config_.cmsd)};
|
|
1149
1150
|
shaka.Player.prototype.createStreamingEngine=function(){var a=this;goog.asserts.assert(this.abrManager_&&this.mediaSourceEngine_&&this.manifest_,"Must not be destroyed");return new shaka.media.StreamingEngine(this.manifest_,{getPresentationTime:function(){return a.playhead_?a.playhead_.getTime():0},getBandwidthEstimate:function(){return a.abrManager_.getBandwidthEstimate()},mediaSourceEngine:this.mediaSourceEngine_,netEngine:this.networkingEngine_,onError:function(b){return a.onError_(b)},onEvent:function(b){return a.dispatchEvent(b)},
|
|
1150
|
-
onManifestUpdate:function(){return a.onManifestUpdate_()},onSegmentAppended:function(b,c
|
|
1151
|
+
onManifestUpdate:function(){return a.onManifestUpdate_()},onSegmentAppended:function(b,c){a.onSegmentAppended_(b.startTime,b.endTime,c.type);a.abrManager_&&c.fastSwitching&&b.isPartial()&&b.isLastPartial()&&a.abrManager_.trySuggestStreams()},onInitSegmentAppended:function(b,c){(c=c.getMediaQuality())&&a.qualityObserver_&&a.qualityObserver_.addMediaQualityChange(c,b)},beforeAppendSegment:function(b,c){return a.drmEngine_.parseInbandPssh(b,c)},onMetadata:function(b,c,d){a.processTimedMetadataMediaSrc_(b,
|
|
1152
|
+
c,d)},disableStream:function(b,c){return a.disableStream(b,c)}})};
|
|
1151
1153
|
shaka.Player.prototype.configure=function(a,b){goog.asserts.assert(this.config_,"Config must not be null!");goog.asserts.assert("object"==typeof a||2==arguments.length,"String configs should have values!");2==arguments.length&&"string"==typeof a&&(a=shaka.util.ConfigUtils.convertToConfigObject(a,b));goog.asserts.assert("object"==typeof a,"Should be an object!");a.streaming&&"forceTransmuxTS"in a.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.forceTransmuxTS configuration","Please Use mediaSource.forceTransmux instead."),
|
|
1152
1154
|
a.mediaSource.mediaSource=a.streaming.forceTransmuxTS,delete a.streaming.forceTransmuxTS);a.streaming&&"forceTransmux"in a.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.forceTransmux configuration","Please Use mediaSource.forceTransmux instead."),a.mediaSource.mediaSource=a.streaming.forceTransmux,delete a.streaming.forceTransmux);a.streaming&&a.streaming.lowLatencyMode&&(void 0==a.streaming.inaccurateManifestTolerance&&(a.streaming.inaccurateManifestTolerance=0),void 0==a.streaming.rebufferingGoal&&
|
|
1153
1155
|
(a.streaming.rebufferingGoal=.01),void 0==a.streaming.segmentPrefetchLimit&&(a.streaming.segmentPrefetchLimit=2),void 0==a.streaming.retryParameters&&(a.streaming.retryParameters={}),void 0==a.streaming.retryParameters.baseDelay&&(a.streaming.retryParameters.baseDelay=100),void 0==a.manifest&&(a.manifest={}),void 0==a.manifest.retryParameters&&(a.manifest.retryParameters={}),void 0==a.manifest.retryParameters.baseDelay&&(a.manifest.retryParameters.baseDelay=100),void 0==a.drm&&(a.drm={}),void 0==
|
|
@@ -1201,9 +1203,9 @@ null):new Date(b.getTime()+1E3*a);shaka.log.warning("No way to get playhead time
|
|
|
1201
1203
|
shaka.Player.prototype.getPresentationStartTimeAsDate=function(){if(!this.isLive())return shaka.log.warning("getPresentationStartTimeAsDate is for live streams!"),null;if(this.manifest_){var a=this.manifest_.presentationTimeline.getPresentationStartTime();goog.asserts.assert(null!=a,"Presentation start time should not be null!");return new Date(1E3*a)}if(this.video_&&this.video_.getStartDate)return a=this.video_.getStartDate(),isNaN(a.getTime())?(shaka.log.warning("EXT-X-PROGRAM-DATETIME required to get presentation start time as Date!"),
|
|
1202
1204
|
null):a;shaka.log.warning("No way to get presentation start time as Date!");return null};shaka.Player.prototype.getBufferedInfo=function(){if(this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE)return this.mediaSourceEngine_.getBufferedInfo();var a={total:[],audio:[],video:[],text:[]};this.loadMode_==shaka.Player.LoadMode.SRC_EQUALS&&(a.total=shaka.media.TimeRangesUtils.getBufferedInfo(this.video_.buffered));return a};
|
|
1203
1205
|
shaka.Player.prototype.getStats=function(){if(this.loadMode_!=shaka.Player.LoadMode.MEDIA_SOURCE&&this.loadMode_!=shaka.Player.LoadMode.SRC_EQUALS)return shaka.util.Stats.getEmptyBlob();this.updateStateHistory_();goog.asserts.assert(this.video_,"If we have stats, we should have video_");var a=this.video_,b=a.currentTime/a.duration;isNaN(b)||this.stats_.setCompletionPercent(Math.round(100*b));this.playhead_&&(this.stats_.setGapsJumped(this.playhead_.getGapsJumped()),this.stats_.setStallsDetected(this.playhead_.getStallsDetected()));
|
|
1204
|
-
a.getVideoPlaybackQuality&&(b=a.getVideoPlaybackQuality(),this.stats_.setDroppedFrames(Number(b.droppedVideoFrames),Number(b.totalVideoFrames)),this.stats_.setCorruptedFrames(Number(b.corruptedVideoFrames)));b=this.drmEngine_?this.drmEngine_.getLicenseTime():NaN;this.stats_.setLicenseTime(b);if(this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE){
|
|
1205
|
-
b.video&&this.stats_.setResolution(b.video.width||NaN,b.video.height||NaN);this.isLive()&&(b=this.getPresentationStartTimeAsDate().valueOf()+1E3*a.currentTime,b=(Date.now()-b)/1E3,this.stats_.setLiveLatency(b));this.manifest_&&this.manifest_.presentationTimeline&&(b=this.manifest_.presentationTimeline.getMaxSegmentDuration(),this.stats_.setMaxSegmentDuration(b));b=this.abrManager_.getBandwidthEstimate();
|
|
1206
|
-
NaN,a.videoHeight||NaN);return this.stats_.getBlob()};
|
|
1206
|
+
a.getVideoPlaybackQuality&&(b=a.getVideoPlaybackQuality(),this.stats_.setDroppedFrames(Number(b.droppedVideoFrames),Number(b.totalVideoFrames)),this.stats_.setCorruptedFrames(Number(b.corruptedVideoFrames)));b=this.drmEngine_?this.drmEngine_.getLicenseTime():NaN;this.stats_.setLicenseTime(b);if(this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE){b=this.streamingEngine_.getCurrentVariant();var c=this.streamingEngine_.getCurrentTextStream();if(b){var d=this.playRateController_?this.playRateController_.getRealRate():
|
|
1207
|
+
1,e=d*b.bandwidth;c&&c.bandwidth&&(e+=d*c.bandwidth);this.stats_.setCurrentStreamBandwidth(e)}b&&b.video&&this.stats_.setResolution(b.video.width||NaN,b.video.height||NaN);this.isLive()&&(b=this.getPresentationStartTimeAsDate().valueOf()+1E3*a.currentTime,b=(Date.now()-b)/1E3,this.stats_.setLiveLatency(b));this.manifest_&&this.manifest_.presentationTimeline&&(b=this.manifest_.presentationTimeline.getMaxSegmentDuration(),this.stats_.setMaxSegmentDuration(b));b=this.abrManager_.getBandwidthEstimate();
|
|
1208
|
+
this.stats_.setBandwidthEstimate(b)}this.loadMode_==shaka.Player.LoadMode.SRC_EQUALS&&this.stats_.setResolution(a.videoWidth||NaN,a.videoHeight||NaN);return this.stats_.getBlob()};
|
|
1207
1209
|
shaka.Player.prototype.addTextTrackAsync=function(a,b,c,d,e,f,g){g=void 0===g?!1:g;var h=this,k,l,m,n,p,q,r,u,w,t,v,x,y;return $jscomp.asyncExecutePromiseGeneratorProgram(function(z){switch(z.nextAddress){case 1:if(h.loadMode_!=shaka.Player.LoadMode.MEDIA_SOURCE&&h.loadMode_!=shaka.Player.LoadMode.SRC_EQUALS)throw shaka.log.error("Must call load() and wait for it to resolve before adding text tracks."),new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.CONTENT_NOT_LOADED);
|
|
1208
1210
|
if(d){z.jumpTo(2);break}return z.yield(h.getTextMimetype_(a),3);case 3:d=z.yieldResult;case 2:k=[];h.adManager_&&(k=h.adManager_.getCuePoints());if(h.loadMode_!=shaka.Player.LoadMode.SRC_EQUALS){z.jumpTo(4);break}g&&(c="forced");return z.yield(h.addSrcTrackElement_(a,b,c,d,f||"",k),5);case 5:l=shaka.util.LanguageUtils;m=l.normalize(b);n=h.getTextTracks();if(p=n.find(function(A){return l.normalize(A.language)==m&&A.label==(f||"")&&A.kind==c}))return h.onTracksChanged_(),z.return(p);shaka.log.error("Cannot add this text when loaded with src=");
|
|
1209
1211
|
throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.CANNOT_ADD_EXTERNAL_TEXT_TO_SRC_EQUALS);case 4:q=shaka.util.ManifestParserUtils.ContentType;r=h.video_.duration;h.manifest_&&(r=h.manifest_.presentationTimeline.getDuration());if(Infinity==r)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM);if(!k.length){z.jumpTo(6);break}goog.asserts.assert(h.networkingEngine_,
|
|
@@ -1295,7 +1297,7 @@ goog.exportProperty(shaka.Player.prototype,"isInProgress",shaka.Player.prototype
|
|
|
1295
1297
|
goog.exportProperty(shaka.Player.prototype,"getMediaElement",shaka.Player.prototype.getMediaElement);goog.exportProperty(shaka.Player.prototype,"getManifestType",shaka.Player.prototype.getManifestType);goog.exportProperty(shaka.Player.prototype,"getLoadMode",shaka.Player.prototype.getLoadMode);goog.exportProperty(shaka.Player.prototype,"resetConfiguration",shaka.Player.prototype.resetConfiguration);goog.exportProperty(shaka.Player.prototype,"getBufferFullness",shaka.Player.prototype.getBufferFullness);
|
|
1296
1298
|
goog.exportProperty(shaka.Player.prototype,"getConfiguration",shaka.Player.prototype.getConfiguration);goog.exportProperty(shaka.Player.prototype,"configure",shaka.Player.prototype.configure);goog.exportProperty(shaka.Player.prototype,"releaseAllMutexes",shaka.Player.prototype.releaseAllMutexes);goog.exportProperty(shaka.Player.prototype,"load",shaka.Player.prototype.load);goog.exportProperty(shaka.Player.prototype,"updateStartTime",shaka.Player.prototype.updateStartTime);
|
|
1297
1299
|
goog.exportProperty(shaka.Player.prototype,"unload",shaka.Player.prototype.unload);goog.exportProperty(shaka.Player.prototype,"detach",shaka.Player.prototype.detach);goog.exportProperty(shaka.Player.prototype,"attachCanvas",shaka.Player.prototype.attachCanvas);goog.exportProperty(shaka.Player.prototype,"attach",shaka.Player.prototype.attach);goog.exportProperty(shaka.Player,"probeSupport",shaka.Player.probeSupport);goog.exportProperty(shaka.Player,"isBrowserSupported",shaka.Player.isBrowserSupported);
|
|
1298
|
-
goog.exportProperty(shaka.Player,"setAdManagerFactory",shaka.Player.setAdManagerFactory);goog.exportProperty(shaka.Player,"registerSupportPlugin",shaka.Player.registerSupportPlugin);goog.exportProperty(shaka.Player.prototype,"destroy",shaka.Player.prototype.destroy);shaka.Player.LoadMode={DESTROYED:0,NOT_LOADED:1,MEDIA_SOURCE:2,SRC_EQUALS:3};goog.exportProperty(shaka.Player,"LoadMode",shaka.Player.LoadMode);shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.7.
|
|
1300
|
+
goog.exportProperty(shaka.Player,"setAdManagerFactory",shaka.Player.setAdManagerFactory);goog.exportProperty(shaka.Player,"registerSupportPlugin",shaka.Player.registerSupportPlugin);goog.exportProperty(shaka.Player.prototype,"destroy",shaka.Player.prototype.destroy);shaka.Player.LoadMode={DESTROYED:0,NOT_LOADED:1,MEDIA_SOURCE:2,SRC_EQUALS:3};goog.exportProperty(shaka.Player,"LoadMode",shaka.Player.LoadMode);shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.7.6-debug";
|
|
1299
1301
|
goog.exportProperty(shaka.Player,"version",shaka.Player.version);shaka.Deprecate.init(shaka.Player.version);shaka.Player.restrictedStatuses_=["output-restricted","internal-error"];shaka.Player.supportPlugins_={};shaka.Player.adManagerFactory_=null;shaka.Player.TextTrackLabel="Shaka Player TextTrack";shaka.ads={};shaka.ads.AdsStats=function(){this.loadTimes_=[];this.skipped_=this.playedCompletely_=this.started_=0};shaka.ads.AdsStats.prototype.addLoadTime=function(a){this.loadTimes_.push(a)};shaka.ads.AdsStats.prototype.incrementStarted=function(){this.started_++};shaka.ads.AdsStats.prototype.incrementPlayedCompletely=function(){this.playedCompletely_++};shaka.ads.AdsStats.prototype.incrementSkipped=function(){this.skipped_++};
|
|
1300
1302
|
shaka.ads.AdsStats.prototype.getBlob=function(){return{loadTimes:this.loadTimes_,started:this.started_,playedCompletely:this.playedCompletely_,skipped:this.skipped_}};shaka.ads.ClientSideAd=function(a,b,c){var d=this;this.ad_=a;this.manager_=b;this.video_=c;this.isPaused_=!1;this.volume_=this.manager_.getVolume();this.eventManager_=new shaka.util.EventManager;this.eventManager_.listen(this.manager_,google.ima.AdEvent.Type.PAUSED,function(){d.isPaused_=!0});this.eventManager_.listen(this.manager_,google.ima.AdEvent.Type.RESUMED,function(){d.isPaused_=!1})};shaka.ads.ClientSideAd.prototype.getDuration=function(){return this.ad_.getDuration()};
|
|
1301
1303
|
shaka.ads.ClientSideAd.prototype.getMinSuggestedDuration=function(){return this.ad_.getMinSuggestedDuration()};shaka.ads.ClientSideAd.prototype.getRemainingTime=function(){return this.manager_.getRemainingTime()};shaka.ads.ClientSideAd.prototype.isPaused=function(){return this.isPaused_};shaka.ads.ClientSideAd.prototype.isSkippable=function(){return 0<=this.ad_.getSkipTimeOffset()};
|
|
@@ -1775,7 +1777,7 @@ b)};
|
|
|
1775
1777
|
shaka.util.PeriodCombiner.concatenateStreamDBs_=function(a,b){var c=a.roles;c||(c=[]);for(var d=$jscomp.makeIterator(b.roles),e=d.next();!e.done;e=d.next())e=e.value,c.includes(e)||c.push(e);a.roles=c;c=$jscomp.makeIterator(b.keyIds);for(d=c.next();!d.done;d=c.next())a.keyIds.add(d.value);a.encrypted=a.encrypted&&b.encrypted;a.segments.push.apply(a.segments,$jscomp.arrayFromIterable(b.segments));if(b.closedCaptions)for(a.closedCaptions||(a.closedCaptions=new Map),b=$jscomp.makeIterator(b.closedCaptions),c=
|
|
1776
1778
|
b.next();!c.done;c=b.next())d=$jscomp.makeIterator(c.value),c=d.next().value,d=d.next().value,a.closedCaptions.set(c,d)};shaka.util.PeriodCombiner.prototype.findMatchesInAllPeriods_=function(a,b){var c=[];a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next()){d=this.findBestMatchInPeriod_(d.value,b);if(!d)return;c.push(d)}b.matchedStreams=c};
|
|
1777
1779
|
shaka.util.PeriodCombiner.prototype.findBestMatchInPeriod_=function(a,b){var c=this,d=null,e=(0,{audio:shaka.util.PeriodCombiner.generateAudioKey_,video:shaka.util.PeriodCombiner.generateVideoKey_,text:shaka.util.PeriodCombiner.generateTextKey_,image:shaka.util.PeriodCombiner.generateImageKey_}[b.type])(b);if(a.has(e))d=a.get(e);else{e={audio:function(h,k){return c.areAVStreamsCompatible_(h,k)},video:function(h,k){return c.areAVStreamsCompatible_(h,k)},text:shaka.util.PeriodCombiner.areTextStreamsCompatible_,
|
|
1778
|
-
image:shaka.util.PeriodCombiner.areImageStreamsCompatible_}[b.type];var f={audio:shaka.util.PeriodCombiner.isAudioStreamBetterMatch_,video:shaka.util.PeriodCombiner.isVideoStreamBetterMatch_,text:shaka.util.PeriodCombiner.isTextStreamBetterMatch_,image:shaka.util.PeriodCombiner.isImageStreamBetterMatch_}[b.type];a=$jscomp.makeIterator(a.values());for(var g=a.next();!g.done;g=a.next())g=g.value,!e(b,g)||d&&!f(b,d,g)||(d=g)}return d};
|
|
1780
|
+
image:shaka.util.PeriodCombiner.areImageStreamsCompatible_}[b.type];var f={audio:shaka.util.PeriodCombiner.isAudioStreamBetterMatch_,video:shaka.util.PeriodCombiner.isVideoStreamBetterMatch_,text:shaka.util.PeriodCombiner.isTextStreamBetterMatch_,image:shaka.util.PeriodCombiner.isImageStreamBetterMatch_}[b.type];a=$jscomp.makeIterator(a.values());for(var g=a.next();!g.done;g=a.next())g=g.value,!e(b,g)||b.fastSwitching!=g.fastSwitching||d&&!f(b,d,g)||(d=g)}return d};
|
|
1779
1781
|
shaka.util.PeriodCombiner.areAVStreamsExactMatch_=function(a,b){if(a.mimeType!=b.mimeType)return!1;var c=function(d){if(!shaka.util.PeriodCombiner.memoizedCodecs.has(d)){var e=shaka.util.MimeUtils.getNormalizedCodec(d);shaka.util.PeriodCombiner.memoizedCodecs.set(d,e)}return shaka.util.PeriodCombiner.memoizedCodecs.get(d)};return c(a.codecs)==c(b.codecs)};shaka.util.PeriodCombiner.prototype.setAllowMultiTypeVariants=function(a){this.multiTypeVariantsAllowed_=a};
|
|
1780
1782
|
shaka.util.PeriodCombiner.prototype.areAVStreamsCompatible_=function(a,b){return!shaka.util.PeriodCombiner.areAVStreamsExactMatch_(a,b)&&!this.multiTypeVariantsAllowed_||a.drmInfos&&!shaka.media.DrmEngine.areDrmCompatible(a.drmInfos,b.drmInfos)?!1:!0};shaka.util.PeriodCombiner.areTextStreamsCompatible_=function(a,b){return b.language?a.forced!==b.forced||0==shaka.util.LanguageUtils.relatedness(a.language,b.language)||b.kind!=a.kind?!1:!0:!0};
|
|
1781
1783
|
shaka.util.PeriodCombiner.areImageStreamsCompatible_=function(a,b){return!0};
|