shaka-player 4.9.15 → 4.9.16
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/deps.js +1 -1
- package/dist/locales.js +32 -32
- package/dist/shaka-player.compiled.debug.js +25 -24
- package/dist/shaka-player.compiled.debug.map +3 -3
- package/dist/shaka-player.compiled.js +1135 -1135
- package/dist/shaka-player.compiled.map +2 -2
- package/dist/shaka-player.ui.debug.js +28 -27
- package/dist/shaka-player.ui.debug.map +3 -3
- package/dist/shaka-player.ui.js +1315 -1315
- package/dist/shaka-player.ui.map +2 -2
- package/lib/hls/hls_parser.js +8 -7
- package/lib/media/playhead.js +15 -6
- package/lib/media/streaming_engine.js +9 -18
- package/lib/player.js +12 -8
- package/lib/util/platform.js +19 -0
- package/lib/util/stream_utils.js +4 -2
- package/package.json +1 -1
package/dist/deps.js
CHANGED
|
@@ -77,7 +77,7 @@ goog.addDependency('../../../../lib/media/media_source_capabilities.js', ['shaka
|
|
|
77
77
|
goog.addDependency('../../../../lib/media/media_source_engine.js', ['shaka.media.MediaSourceEngine'], ['goog.asserts', 'shaka.config.CodecSwitchingStrategy', 'shaka.lcevc.Dec', 'shaka.log', 'shaka.media.Capabilities', 'shaka.media.ClosedCaptionParser', 'shaka.media.ContentWorkarounds', 'shaka.media.IClosedCaptionParser', 'shaka.media.ManifestParser', 'shaka.media.SegmentReference', 'shaka.media.TimeRangesUtils', 'shaka.text.TextEngine', 'shaka.transmuxer.TransmuxerEngine', 'shaka.util.BufferUtils', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.Functional', 'shaka.util.IDestroyable', 'shaka.util.Id3Utils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4BoxParsers', 'shaka.util.Mp4Parser', 'shaka.util.Platform', 'shaka.util.PublicPromise', 'shaka.util.StreamUtils', 'shaka.util.TsParser'], {'lang': 'es8'});
|
|
78
78
|
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'});
|
|
79
79
|
goog.addDependency('../../../../lib/media/play_rate_controller.js', ['shaka.media.PlayRateController'], ['goog.asserts', 'shaka.log', 'shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
|
|
80
|
-
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'});
|
|
80
|
+
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.Platform', 'shaka.util.Timer'], {'lang': 'es8'});
|
|
81
81
|
goog.addDependency('../../../../lib/media/playhead_observer.js', ['shaka.media.IPlayheadObserver', 'shaka.media.PlayheadObserverManager'], ['shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
|
|
82
82
|
goog.addDependency('../../../../lib/media/preload_manager.js', ['shaka.media.PreloadManager'], ['goog.asserts', 'shaka.log', 'shaka.media.AdaptationSetCriteria', 'shaka.media.DrmEngine', 'shaka.media.ManifestFilterer', 'shaka.media.ManifestParser', 'shaka.media.PreferenceBasedCriteria', 'shaka.media.QualityObserver', 'shaka.media.RegionTimeline', 'shaka.media.SegmentPrefetch', 'shaka.media.SegmentPrefetch', 'shaka.media.StreamingEngine', 'shaka.net.NetworkingEngine', 'shaka.util.ConfigUtils', 'shaka.util.Error', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IDestroyable', 'shaka.util.ObjectUtils', 'shaka.util.PlayerConfiguration', 'shaka.util.PublicPromise', 'shaka.util.Stats', 'shaka.util.StreamUtils'], {'lang': 'es8'});
|
|
83
83
|
goog.addDependency('../../../../lib/media/presentation_timeline.js', ['shaka.media.PresentationTimeline'], ['goog.asserts', 'shaka.log', 'shaka.media.SegmentReference'], {'lang': 'es6'});
|
package/dist/locales.js
CHANGED
|
@@ -761,49 +761,49 @@ shaka.ui.Locales.addTo = function(localization) {
|
|
|
761
761
|
* @const
|
|
762
762
|
*/
|
|
763
763
|
shaka.ui.Locales.Ids = {
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
PLAY: 'PLAY',
|
|
768
|
-
LIVE: 'LIVE',
|
|
769
|
-
CAPTIONS: 'CAPTIONS',
|
|
770
|
-
ON: 'ON',
|
|
771
|
-
LANGUAGE: 'LANGUAGE',
|
|
772
|
-
MUTE: 'MUTE',
|
|
773
|
-
LOOP: 'LOOP',
|
|
774
|
-
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
764
|
+
RESOLUTION: 'RESOLUTION',
|
|
765
|
+
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
|
|
766
|
+
SKIP_AD: 'SKIP_AD',
|
|
775
767
|
QUALITY: 'QUALITY',
|
|
768
|
+
AD_STATISTICS: 'AD_STATISTICS',
|
|
776
769
|
NOT_APPLICABLE: 'NOT_APPLICABLE',
|
|
777
|
-
|
|
770
|
+
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
|
|
778
771
|
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
|
|
779
|
-
SUBTITLE_FORCED: 'SUBTITLE_FORCED',
|
|
780
772
|
TOGGLE_STEREOSCOPIC: 'TOGGLE_STEREOSCOPIC',
|
|
781
|
-
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
|
|
782
773
|
CAST: 'CAST',
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
774
|
+
REWIND: 'REWIND',
|
|
775
|
+
STATISTICS: 'STATISTICS',
|
|
776
|
+
MORE_SETTINGS: 'MORE_SETTINGS',
|
|
777
|
+
RECENTER_VR: 'RECENTER_VR',
|
|
787
778
|
AUTO_QUALITY: 'AUTO_QUALITY',
|
|
779
|
+
FAST_FORWARD: 'FAST_FORWARD',
|
|
780
|
+
AD_DURATION: 'AD_DURATION',
|
|
781
|
+
LOOP: 'LOOP',
|
|
788
782
|
UNMUTE: 'UNMUTE',
|
|
789
|
-
|
|
790
|
-
MORE_SETTINGS: 'MORE_SETTINGS',
|
|
783
|
+
PLAYBACK_RATE: 'PLAYBACK_RATE',
|
|
791
784
|
AD_PROGRESS: 'AD_PROGRESS',
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
STATISTICS: 'STATISTICS',
|
|
785
|
+
SKIP_TO_LIVE: 'SKIP_TO_LIVE',
|
|
786
|
+
UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
|
|
787
|
+
OFF: 'OFF',
|
|
796
788
|
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
789
|
+
SUBTITLE_FORCED: 'SUBTITLE_FORCED',
|
|
790
|
+
LIVE: 'LIVE',
|
|
791
|
+
MUTE: 'MUTE',
|
|
800
792
|
PAUSE: 'PAUSE',
|
|
793
|
+
ON: 'ON',
|
|
794
|
+
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
795
|
+
REPLAY: 'REPLAY',
|
|
796
|
+
PLAY: 'PLAY',
|
|
801
797
|
SURROUND: 'SURROUND',
|
|
802
|
-
|
|
798
|
+
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
|
|
799
|
+
LANGUAGE: 'LANGUAGE',
|
|
803
800
|
AD_TIME: 'AD_TIME',
|
|
804
|
-
|
|
805
|
-
RESOLUTION: 'RESOLUTION',
|
|
806
|
-
SKIP_TO_LIVE: 'SKIP_TO_LIVE',
|
|
807
|
-
AIRPLAY: 'AIRPLAY',
|
|
801
|
+
FULL_SCREEN: 'FULL_SCREEN',
|
|
808
802
|
BACK: 'BACK',
|
|
803
|
+
CAPTIONS: 'CAPTIONS',
|
|
804
|
+
EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
|
|
805
|
+
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
806
|
+
SEEK: 'SEEK',
|
|
807
|
+
VOLUME: 'VOLUME',
|
|
808
|
+
AIRPLAY: 'AIRPLAY',
|
|
809
809
|
};
|
|
@@ -237,7 +237,8 @@ shaka.util.Platform.isMac=function(){return navigator.userAgentData&&navigator.u
|
|
|
237
237
|
shaka.util.Platform.isFuchsia=function(){return shaka.util.Platform.userAgentContains_("Fuchsia")};shaka.util.Platform.isSmartTV=function(){var a=shaka.util.Platform;return a.isTizen()||a.isWebOS()||a.isXboxOne()||a.isPS4()||a.isPS5()||a.isAmazonFireTV()||a.isEOS()||a.isAPL()||a.isVirginMedia()||a.isOrange()||a.isWPE()||a.isChromecast()||a.isHisense()||a.isZenterio()?!0:!1};shaka.util.Platform.userAgentContains_=function(a){return(navigator.userAgent||"").includes(a)};
|
|
238
238
|
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_};
|
|
239
239
|
shaka.util.Platform.requiresEncryptionInfoInAllInitSegments=function(a){var b=shaka.util.Platform;a=shaka.util.DrmUtils.isPlayReadyKeySystem(a);return b.isTizen()||b.isXboxOne()||b.isOrange()||b.isEdge()&&b.isWindows()&&a};shaka.util.Platform.supportsSequenceMode=function(){var a=shaka.util.Platform;return a.isTizen3()||a.isTizen2()||a.isWebOS3()||a.isPS4()?!1:!0};
|
|
240
|
-
shaka.util.Platform.supportsSmoothCodecSwitching=function(){var a=shaka.util.Platform;return a.isTizen2()||a.isTizen3()||a.isTizen4()||a.isTizen5()||a.isTizen6()||a.isWebOS3()||a.isWebOS4()||a.isWebOS5()||a.isChromecast()&&!a.isAndroidCastDevice()&&!a.isFuchsiaCastDevice()||a.isWindows()&&a.isEdge()?!1:!0};shaka.util.Platform.
|
|
240
|
+
shaka.util.Platform.supportsSmoothCodecSwitching=function(){var a=shaka.util.Platform;return a.isTizen2()||a.isTizen3()||a.isTizen4()||a.isTizen5()||a.isTizen6()||a.isWebOS3()||a.isWebOS4()||a.isWebOS5()||a.isChromecast()&&!a.isAndroidCastDevice()&&!a.isFuchsiaCastDevice()||a.isWindows()&&a.isEdge()?!1:!0};shaka.util.Platform.isSeekingSlow=function(){var a=shaka.util.Platform;return a.isChromecast()&&!a.isAndroidCastDevice()?!0:!1};
|
|
241
|
+
shaka.util.Platform.isMediaKeysPolyfilled=function(a){return a?a===window.shakaMediaKeysPolyfill:!!window.shakaMediaKeysPolyfill};
|
|
241
242
|
shaka.util.Platform.detectMaxHardwareResolution=function(){var a,b,c,d,e,f,g,h,k,l,m,n,p,q,r;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){switch(t.nextAddress){case 1:a=shaka.util.Platform;b={width:Infinity,height:Infinity};if(a.isChromecast()){n=window.cast&&cast.__platform__&&cast.__platform__.canDisplayType;b.width=1280;b.height=720;t.setCatchFinallyBlocks(15);if(!(p=n)){t.jumpTo(17);break}return t.yield(cast.__platform__.canDisplayType('video/mp4; codecs="avc1.640028"; width=3840; height=2160'),
|
|
242
243
|
18)}if(a.isTizen()){b.width=1920;b.height=1080;try{webapis.systeminfo&&webapis.systeminfo.getMaxVideoResolution?(c=webapis.systeminfo.getMaxVideoResolution(),b.width=c.width,b.height=c.height):webapis.productinfo.is8KPanelSupported&&webapis.productinfo.is8KPanelSupported()?(b.width=7680,b.height=4320):webapis.productinfo.isUdPanelSupported&&webapis.productinfo.isUdPanelSupported()&&(b.width=3840,b.height=2160)}catch(y){shaka.log.alwaysWarn("Tizen: Error detecting screen size, default screen size 1920x1080.")}t.jumpTo(3);
|
|
243
244
|
break}if(a.isXboxOne()){b.width=1920;b.height=1080;try{d=new Windows.Media.Protection.ProtectionCapabilities;e=Windows.Media.Protection.ProtectionCapabilityResult;f=null;do f=d.isTypeSupported('video/mp4;codecs="hvc1,mp4a";features="decode-res-x=3840,decode-res-y=2160,decode-bitrate=20000,decode-fps=30,decode-bpc=10,display-res-x=3840,display-res-y=2160,display-bpc=8"',"com.microsoft.playready.recommendation");while(f===e.maybe);f===e.probably&&(b.width=3840,b.height=2160)}catch(y){shaka.log.alwaysWarn("Xbox: Error detecting screen size, default screen size 1920x1080.")}t.jumpTo(3);
|
|
@@ -308,9 +309,9 @@ shaka.util.LanguageUtils.isoMap_=new Map([["aar","aa"],["abk","ab"],["afr","af"]
|
|
|
308
309
|
shaka.util.ObjectUtils.shallowCloneObject=function(a){var b={},c;for(c in a)b[c]=a[c];return b};shaka.util.StreamUtils=function(){};
|
|
309
310
|
shaka.util.StreamUtils.chooseCodecsAndFilterManifest=function(a,b,c,d){var e=shaka.util.StreamUtils,f=shaka.util.MimeUtils,g=a.variants;if(b.length||c.length)g=e.choosePreferredCodecs(g,b,c);if(d.length){b=new shaka.util.MultiMap;c=$jscomp.makeIterator(g);for(g=c.next();!g.done;g=c.next())g=g.value,b.push(String(g.video.width||0),g);var h=[];b.forEach(function(t,y){t=0;var u=[],x={};y=$jscomp.makeIterator(y);for(var w=y.next();!w.done;x={$jscomp$loop$prop$variant$570$894:x.$jscomp$loop$prop$variant$570$894},w=
|
|
310
311
|
y.next())x.$jscomp$loop$prop$variant$570$894=w.value,w=d.filter(function(v){return function(z){return v.$jscomp$loop$prop$variant$570$894.decodingInfos[0][z]}}(x)).length,w>t?(t=w,u=[x.$jscomp$loop$prop$variant$570$894]):w==t&&u.push(x.$jscomp$loop$prop$variant$570$894);h.push.apply(h,$jscomp.arrayFromIterable(u))});g=h}c=new Set;b=new Set;e=$jscomp.makeIterator(g);for(g=e.next();!g.done;g=e.next())g=g.value,g.audio&&c.add(g.audio),g.video&&b.add(g.video);c=Array.from(c).sort(function(t,y){return t.bandwidth-
|
|
311
|
-
y.bandwidth});var k=[];g=new Map;c=$jscomp.makeIterator(c);for(e=c.next();!e.done;e=c.next()){e=e.value;var l=e.language+(e.channelsCount||0)+(e.audioSamplingRate||0)+e.roles.join(",")+e.label+e.groupId+e.fastSwitching,m=g.get(l)||[];if(m.length){var n=m[m.length-1],p=f.getNormalizedCodec(n.codecs),q=f.getNormalizedCodec(e.codecs);p
|
|
312
|
-
y.bandwidth:t.width-y.width});b=shaka.media.Capabilities.isChangeTypeSupported();var r=[];g=new Map;c=$jscomp.makeIterator(c);for(e=c.next();!e.done;e=c.next()){e=e.value;l=Math.round(e.frameRate||0)+(e.hdr||"")+e.fastSwitching;m=g.get(l)||[];if(m.length){n=m[m.length-1];if(!b&&(p=f.getNormalizedCodec(n.codecs),q=f.getNormalizedCodec(e.codecs),p!==q))continue;e.width>n.width||e.height>n.height?(m.push(e),r.push(e.id)):e.width==n.width&&e.height==n.height&&(p=f.getNormalizedCodec(n.codecs),
|
|
313
|
-
p
|
|
312
|
+
y.bandwidth});var k=[];g=new Map;c=$jscomp.makeIterator(c);for(e=c.next();!e.done;e=c.next()){e=e.value;var l=e.language+(e.channelsCount||0)+(e.audioSamplingRate||0)+e.roles.join(",")+e.label+e.groupId+e.fastSwitching,m=g.get(l)||[];if(m.length){var n=m[m.length-1],p=f.getNormalizedCodec(n.codecs),q=f.getNormalizedCodec(e.codecs);p!=q||e.bandwidth&&n.bandwidth&&!(e.bandwidth>n.bandwidth)||(m.push(e),k.push(e.id))}else m.push(e),k.push(e.id);g.set(l,m)}c=Array.from(b).sort(function(t,y){return t.bandwidth&&
|
|
313
|
+
y.bandwidth?t.bandwidth-y.bandwidth:t.width-y.width});b=shaka.media.Capabilities.isChangeTypeSupported();var r=[];g=new Map;c=$jscomp.makeIterator(c);for(e=c.next();!e.done;e=c.next()){e=e.value;l=Math.round(e.frameRate||0)+(e.hdr||"")+e.fastSwitching;m=g.get(l)||[];if(m.length){n=m[m.length-1];if(!b&&(p=f.getNormalizedCodec(n.codecs),q=f.getNormalizedCodec(e.codecs),p!==q))continue;e.width>n.width||e.height>n.height?(m.push(e),r.push(e.id)):e.width==n.width&&e.height==n.height&&(p=f.getNormalizedCodec(n.codecs),
|
|
314
|
+
q=f.getNormalizedCodec(e.codecs),p!=q||e.bandwidth&&n.bandwidth&&!(e.bandwidth>n.bandwidth)||(m.push(e),r.push(e.id)))}else m.push(e),r.push(e.id);g.set(l,m)}a.variants=a.variants.filter(function(t){var y=t.audio,u=t.video;return y&&!k.includes(y.id)||u&&!r.includes(u.id)?(shaka.log.debug("Dropping Variant (better codec available)",t),!1):!0})};
|
|
314
315
|
shaka.util.StreamUtils.choosePreferredCodecs=function(a,b,c){var d={};b=$jscomp.makeIterator(b);for(var e=b.next();!e.done;d={$jscomp$loop$prop$videoCodec$896:d.$jscomp$loop$prop$videoCodec$896},e=b.next())if(d.$jscomp$loop$prop$videoCodec$896=e.value,e=a.filter(function(f){return function(g){return g.video&&g.video.codecs.startsWith(f.$jscomp$loop$prop$videoCodec$896)}}(d)),e.length){a=e;break}d={};c=$jscomp.makeIterator(c);for(b=c.next();!b.done;d={$jscomp$loop$prop$audioCodec$898:d.$jscomp$loop$prop$audioCodec$898},
|
|
315
316
|
b=c.next())if(d.$jscomp$loop$prop$audioCodec$898=b.value,b=a.filter(function(f){return function(g){return g.audio&&g.audio.codecs.startsWith(f.$jscomp$loop$prop$audioCodec$898)}}(d)),b.length){a=b;break}return a};shaka.util.StreamUtils.filterByRestrictions=function(a,b,c){a.variants=a.variants.filter(function(d){return shaka.util.StreamUtils.meetsRestrictions(d,b,c)})};
|
|
316
317
|
shaka.util.StreamUtils.meetsRestrictions=function(a,b,c){var d=function(h,k,l){return h>=k&&h<=l},e=a.video;if(e&&e.width&&e.height){var f=e.width,g=e.height;g>f&&(g=$jscomp.makeIterator([g,f]),f=g.next().value,g=g.next().value);if(!d(f,b.minWidth,Math.min(b.maxWidth,c.width))||!d(g,b.minHeight,Math.min(b.maxHeight,c.height))||!d(e.width*e.height,b.minPixels,b.maxPixels))return!1}return a&&a.video&&a.video.frameRate&&!d(a.video.frameRate,b.minFrameRate,b.maxFrameRate)||a&&a.audio&&a.audio.channelsCount&&
|
|
@@ -855,7 +856,7 @@ shaka.media.MediaSourcePlayhead.prototype.release=function(){this.videoWrapper_&
|
|
|
855
856
|
shaka.media.MediaSourcePlayhead.prototype.getTime=function(){var a=this.videoWrapper_.getTime();return 0<this.mediaElement_.readyState&&!this.mediaElement_.paused?this.clampTime_(a):a};shaka.media.MediaSourcePlayhead.prototype.getStallsDetected=function(){return this.stallDetector_?this.stallDetector_.getStallsDetected():0};shaka.media.MediaSourcePlayhead.prototype.getGapsJumped=function(){return this.gapController_.getGapsJumped()};
|
|
856
857
|
shaka.media.MediaSourcePlayhead.prototype.getStartTime_=function(a){null==a?a=Infinity>this.timeline_.getDuration()?this.timeline_.getSeekRangeStart():this.timeline_.getSeekRangeEnd():0>a&&(a=this.timeline_.getSeekRangeEnd()+a);return this.clampSeekToDuration_(this.clampTime_(a))};shaka.media.MediaSourcePlayhead.prototype.notifyOfBufferingChange=function(){this.gapController_.onSegmentAppended()};
|
|
857
858
|
shaka.media.MediaSourcePlayhead.prototype.onPollWindow_=function(){if(0!=this.mediaElement_.readyState&&!this.mediaElement_.paused){var a=this.videoWrapper_.getTime(),b=this.timeline_.getSeekRangeStart(),c=this.timeline_.getSeekRangeEnd();c-b<this.minSeekRange_&&(b=c-this.minSeekRange_);a<b&&(b=this.reposition_(a),shaka.log.info("Jumping forward "+(b-a)+" seconds to catch up with the seek range."),this.mediaElement_.currentTime=b)}};shaka.media.MediaSourcePlayhead.prototype.onStarted_=function(a){this.gapController_.onStarted(a)};
|
|
858
|
-
shaka.media.MediaSourcePlayhead.prototype.onSeeking_=function(){this.gapController_.onSeeking();var a=this.videoWrapper_.getTime(),b=this.reposition_(a);if(Math.abs(b-a)>shaka.media.GapJumpingController.BROWSER_GAP_TOLERANCE){var c=Date.now()/1E3;if(!this.lastCorrectiveSeek_||this.lastCorrectiveSeek_<
|
|
859
|
+
shaka.media.MediaSourcePlayhead.prototype.onSeeking_=function(){this.gapController_.onSeeking();var a=this.videoWrapper_.getTime(),b=this.reposition_(a);if(Math.abs(b-a)>shaka.media.GapJumpingController.BROWSER_GAP_TOLERANCE){var c=!1;if(shaka.util.Platform.isSeekingSlow()){var d=Date.now()/1E3;if(!this.lastCorrectiveSeek_||this.lastCorrectiveSeek_<d-1)this.lastCorrectiveSeek_=d,c=!0}else c=!0;if(c){this.videoWrapper_.setTime(b);return}}shaka.log.v1("Seek to "+a);this.onSeek_()};
|
|
859
860
|
shaka.media.MediaSourcePlayhead.prototype.clampSeekToDuration_=function(a){var b=this.timeline_.getDuration();return a>=b?(goog.asserts.assert(0<=this.config_.durationBackoff,"Duration backoff must be non-negative!"),b-this.config_.durationBackoff):a};
|
|
860
861
|
shaka.media.MediaSourcePlayhead.prototype.reposition_=function(a){goog.asserts.assert(this.config_,"Cannot reposition playhead when it has beeen destroyed");var b=Math.max(this.minBufferTime_,this.config_.rebufferingGoal),c=this.config_.safeSeekOffset,d=this.timeline_.getSeekRangeStart(),e=this.timeline_.getSeekRangeEnd(),f=this.timeline_.getDuration();e-d<this.minSeekRange_&&(d=e-this.minSeekRange_);var g=this.timeline_.getSafeSeekRangeStart(b),h=this.timeline_.getSafeSeekRangeStart(c);b=this.timeline_.getSafeSeekRangeStart(b+
|
|
861
862
|
c);if(a>=f)return shaka.log.v1("Playhead past duration."),this.clampSeekToDuration_(a);if(a>e)return shaka.log.v1("Playhead past end."),e;if(a<d){if(shaka.media.TimeRangesUtils.isBuffered(this.mediaElement_.buffered,h))return shaka.log.v1("Playhead before start & start is buffered"),h;shaka.log.v1("Playhead before start & start is unbuffered");return b}if(a>=g||shaka.media.TimeRangesUtils.isBuffered(this.mediaElement_.buffered,a))return shaka.log.v1("Playhead in safe region or in buffered region."),
|
|
@@ -954,11 +955,10 @@ shaka.media.StreamingEngine.prototype.makeAbortDecision_=function(a){var b=this,
|
|
|
954
955
|
a.operation.abort());e.jumpToEnd()})};
|
|
955
956
|
shaka.media.StreamingEngine.prototype.shouldAbortCurrentRequest_=function(a){goog.asserts.assert(a.operation,"Abort logic requires an ongoing operation!");goog.asserts.assert(a.stream&&a.stream.segmentIndex,"Abort logic requires a segment index");var b=this.playerInterface_.getPresentationTime(),c=this.playerInterface_.mediaSourceEngine.bufferEnd(a.type),d=this.getTimeNeeded_(a,b);d=a.stream.segmentIndex.find(d);var e=null==d?null:a.stream.segmentIndex.get(d);d=e?e.getSize():null;e&&!d&&(d=(e.getEndTime()-
|
|
956
957
|
e.getStartTime())*(a.stream.bandwidth||0)/8);if(!d)return!1;(e=e.initSegmentReference)&&(d+=e.getSize()||0);e=this.playerInterface_.getBandwidthEstimate();return 8*d/e<(c||0)-b-Math.max(this.manifest_.minBufferTime||0,this.config_.rebufferingGoal)||a.operation.getBytesRemaining()>d?!0:!1};
|
|
957
|
-
shaka.media.StreamingEngine.prototype.seeked=function(){if(this.playerInterface_){for(var a=this.playerInterface_.getPresentationTime(),b=shaka.util.ManifestParserUtils.ContentType,c=!1,d=$jscomp.makeIterator(this.mediaStates_.keys()),e=d.next();!e.done;e=d.next()){e=e.value;var f=this.mediaStates_.get(e),g=shaka.media.StreamingEngine.logPrefix_(f)
|
|
958
|
-
|
|
959
|
-
a)
|
|
960
|
-
|
|
961
|
-
this.scheduleUpdate_(a,0)):(shaka.log.debug(c,"clear: handling right now"),this.cancelUpdate_(a),this.clearBuffer_(a,!1,0).catch(function(d){b.playerInterface_&&(goog.asserts.assert(d instanceof shaka.util.Error,"Wrong error type!"),b.playerInterface_.onError(d))}))};
|
|
958
|
+
shaka.media.StreamingEngine.prototype.seeked=function(){if(this.playerInterface_){for(var a=this.playerInterface_.getPresentationTime(),b=shaka.util.ManifestParserUtils.ContentType,c=!1,d=$jscomp.makeIterator(this.mediaStates_.keys()),e=d.next();!e.done;e=d.next()){e=e.value;var f=this.mediaStates_.get(e),g=shaka.media.StreamingEngine.logPrefix_(f);if(!this.playerInterface_.mediaSourceEngine.isBuffered(e,a)){f.segmentPrefetch&&f.segmentPrefetch.resetPosition();if(f.type===b.AUDIO)for(var h=$jscomp.makeIterator(this.audioPrefetchMap_.values()),
|
|
959
|
+
k=h.next();!k.done;k=h.next())k.value.resetPosition();f.segmentIterator=null;if(null!=this.playerInterface_.mediaSourceEngine.bufferEnd(e)||f.performingUpdate)this.forceClearBuffer_(f),c=!0;f.operation&&(f.operation.abort(),shaka.log.debug(g,"Aborting operation due to seek"),f.operation=null);e===b.TEXT&&this.playerInterface_.mediaSourceEngine.resetCaptionParser();f.seeked=!0}}c||shaka.log.debug("(all): seeked: buffered seek: presentationTime="+a)}};
|
|
960
|
+
shaka.media.StreamingEngine.prototype.forceClearBuffer_=function(a){var b=this,c=shaka.media.StreamingEngine.logPrefix_(a);a.clearingBuffer?shaka.log.debug(c,"clear: already clearing the buffer"):a.waitingToClearBuffer?shaka.log.debug(c,"clear: already waiting"):a.performingUpdate?(shaka.log.debug(c,"clear: currently updating"),a.waitingToClearBuffer=!0,a.clearBufferSafeMargin=0):null==this.playerInterface_.mediaSourceEngine.bufferStart(a.type)?(shaka.log.debug(c,"clear: nothing buffered"),null==
|
|
961
|
+
a.updateTimer&&this.scheduleUpdate_(a,0)):(shaka.log.debug(c,"clear: handling right now"),this.cancelUpdate_(a),this.clearBuffer_(a,!1,0).catch(function(d){b.playerInterface_&&(goog.asserts.assert(d instanceof shaka.util.Error,"Wrong error type!"),b.playerInterface_.onError(d))}))};
|
|
962
962
|
shaka.media.StreamingEngine.prototype.initStreams_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){if(1==p.nextAddress){c=shaka.util.ManifestParserUtils.ContentType;goog.asserts.assert(b.config_,"StreamingEngine configure() must be called before init()!");if(!b.currentVariant_)throw shaka.log.error("init: no Streams chosen"),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STREAMING,shaka.util.Error.Code.STREAMING_ENGINE_STARTUP_INVALID_STATE);
|
|
963
963
|
d=new Map;e=new Set;b.currentVariant_.audio&&(d.set(c.AUDIO,b.currentVariant_.audio),e.add(b.currentVariant_.audio));b.currentVariant_.video&&(d.set(c.VIDEO,b.currentVariant_.video),e.add(b.currentVariant_.video));b.currentTextStream_&&(d.set(c.TEXT,b.currentTextStream_),e.add(b.currentTextStream_));f=b.playerInterface_.mediaSourceEngine;return p.yield(f.init(d,b.manifest_.sequenceMode,b.manifest_.type,b.manifest_.ignoreManifestTimestampsInSegmentsMode),2)}b.destroyer_.ensureNotDestroyed();b.updateDuration();
|
|
964
964
|
g=$jscomp.makeIterator(d.keys());for(h=g.next();!h.done;h=g.next())k=h.value,l=d.get(k),b.mediaStates_.has(k)||(m=b.createMediaState_(l),a.has(l.id)&&(n=a.get(l.id),n.replaceFetchDispatcher(function(q,r,t){return b.dispatchFetch_(q,r,t)}),m.segmentPrefetch=n),b.mediaStates_.set(k,m),b.scheduleUpdate_(m,0));p.jumpToEnd()})};
|
|
@@ -977,7 +977,7 @@ shaka.media.StreamingEngine.prototype.update_=function(a){goog.asserts.assert(th
|
|
|
977
977
|
a.type!=b.TEXT)return this.config_.updateIntervalSeconds/2;var c=shaka.media.StreamingEngine.logPrefix_(a),d=this.playerInterface_.getPresentationTime();if(a.type===b.AUDIO)for(var e=$jscomp.makeIterator(this.audioPrefetchMap_.keys()),f=e.next();!f.done;f=e.next())f=this.audioPrefetchMap_.get(f.value),f.evict(d,!0),f.prefetchSegmentsByTime(d);e=this.getTimeNeeded_(a,d);shaka.log.v2(c,"timeNeeded="+e);f=this.playerInterface_.mediaSourceEngine.bufferedAheadOf(a.type,d);shaka.log.v2(c,"update_:","presentationTime="+
|
|
978
978
|
d,"bufferedAhead="+f);var g=Math.max(1,Math.max(this.manifest_.minBufferTime||0,this.config_.rebufferingGoal,this.config_.bufferingGoal)*this.bufferingGoalScale_),h=this.manifest_.presentationTimeline.getDuration()-e,k=this.playerInterface_.mediaSourceEngine.bufferEnd(a.type);if(1E-6>h&&k)return shaka.log.debug(c,"buffered to end of presentation"),a.endOfStream=!0,a.type==b.VIDEO&&(a=this.mediaStates_.get(b.TEXT))&&shaka.media.StreamingEngine.isEmbeddedText_(a)&&(a.endOfStream=!0),null;a.endOfStream=
|
|
979
979
|
!1;if(f>=g)return shaka.log.v2(c,"buffering goal met"),this.config_.updateIntervalSeconds/2;b=this.getSegmentReferenceNeeded_(a,d,k);if(!b)return this.config_.updateIntervalSeconds;f=Infinity;g=Array.from(this.mediaStates_.values());g=$jscomp.makeIterator(g);for(h=g.next();!h.done;h=g.next())h=h.value,shaka.media.StreamingEngine.isEmbeddedText_(h)||h.segmentIterator&&!h.segmentIterator.current()||(h=this.getTimeNeeded_(h,d),f=Math.min(f,h));g=this.manifest_.presentationTimeline.getMaxSegmentDuration()*
|
|
980
|
-
shaka.media.StreamingEngine.MAX_RUN_AHEAD_SEGMENTS_;if(e>=f+g)return shaka.log.v2(c,"waiting for other streams to buffer"),this.config_.updateIntervalSeconds;a.segmentPrefetch&&a.segmentIterator&&!this.audioPrefetchMap_.has(a.stream)&&(a.segmentPrefetch.evict(
|
|
980
|
+
shaka.media.StreamingEngine.MAX_RUN_AHEAD_SEGMENTS_;if(e>=f+g)return shaka.log.v2(c,"waiting for other streams to buffer"),this.config_.updateIntervalSeconds;a.segmentPrefetch&&a.segmentIterator&&!this.audioPrefetchMap_.has(a.stream)&&(a.segmentPrefetch.evict(b.startTime),a.segmentPrefetch.prefetchSegmentsByTime(b.startTime));this.fetchAndAppend_(a,d,b).catch(function(){});return null};
|
|
981
981
|
shaka.media.StreamingEngine.prototype.getTimeNeeded_=function(a,b){return a.lastSegmentReference?a.lastSegmentReference.endTime:b};
|
|
982
982
|
shaka.media.StreamingEngine.prototype.getSegmentReferenceNeeded_=function(a,b,c){var d=shaka.media.StreamingEngine.logPrefix_(a);goog.asserts.assert(a.stream.segmentIndex,"segment index should have been generated already");if(a.segmentIterator)return a.segmentIterator.current();if(a.lastSegmentReference||c)return b=a.lastSegmentReference?a.lastSegmentReference.endTime:c,goog.asserts.assert(null!=b,"Should have a time to search"),shaka.log.v1(d,"looking up segment from new stream endTime:",b),c=0>
|
|
983
983
|
this.playerInterface_.getPlaybackRate(),a.segmentIterator=a.stream.segmentIndex.getIteratorForTime(b,!1,c),a=a.segmentIterator&&a.segmentIterator.next().value,null==a&&shaka.log.warning(d,"cannot find segment","endTime:",b),a;c=this.config_.inaccurateManifestTolerance;var e=Math.max(b-c,0);shaka.log.v1(d,"looking up segment","lookupTime:",e,"presentationTime:",b);var f=0>this.playerInterface_.getPlaybackRate(),g=null;c&&(a.segmentIterator=a.stream.segmentIndex.getIteratorForTime(e,!1,f),g=a.segmentIterator&&
|
|
@@ -1325,9 +1325,10 @@ e.segmentIndex.find(b);if(null==f)return z.return(null);g=e.segmentIndex.get(f);
|
|
|
1325
1325
|
imageHeight:l,imageWidth:k,height:n,positionX:y,positionY:u,startTime:t,duration:r,uris:g.getUris(),width:m,sprite:w})})};
|
|
1326
1326
|
shaka.Player.prototype.selectTextTrack=function(a){if(this.manifest_&&this.streamingEngine_){var b=this.manifest_.textStreams.find(function(d){return d.id==a.id});b?b==this.streamingEngine_.getCurrentTextStream()?shaka.log.debug("Text track already selected."):(this.addTextStreamToSwitchHistory_(b,!1),this.streamingEngine_.switchTextStream(b),this.onTextChanged_(),this.currentTextLanguage_=b.language):shaka.log.error("No stream with id",a.id)}else if(this.video_&&this.video_.src&&this.video_.textTracks){b=
|
|
1327
1327
|
this.getFilteredTextTracks_();b=$jscomp.makeIterator(b);for(var c=b.next();!c.done;c=b.next())c=c.value,shaka.util.StreamUtils.html5TrackId(c)==a.id?c.mode=this.isTextVisible_?"showing":"hidden":c.mode="disabled";this.onTextChanged_()}};
|
|
1328
|
-
shaka.Player.prototype.selectVariantTrack=function(a,b,c){b=void 0===b?!1:b;c=void 0===c?0:c;if(this.manifest_&&this.streamingEngine_){this.config_.abr.enabled&&shaka.log.alwaysWarn("Changing tracks while abr manager is enabled will likely result in the selected track being overriden. Consider disabling abr before calling selectVariantTrack().");
|
|
1329
|
-
new shaka.media.ExampleBasedCriteria(d,this.config_.mediaSource.codecSwitchingStrategy,this.config_.manifest.dash.enableAudioGroups)
|
|
1330
|
-
shaka.
|
|
1328
|
+
shaka.Player.prototype.selectVariantTrack=function(a,b,c){b=void 0===b?!1:b;c=void 0===c?0:c;if(this.manifest_&&this.streamingEngine_){var d=this.manifest_.variants.find(function(f){return f.id==a.id});if(d)if(shaka.util.StreamUtils.isPlayable(d)){var e=this.streamingEngine_.getCurrentVariant();this.config_.abr.enabled&&(e.video!=d.video||e.audio&&d.audio&&e.audio.language==d.audio.language&&e.audio.channelsCount==d.audio.channelsCount)&&shaka.log.alwaysWarn("Changing tracks while abr manager is enabled will likely result in the selected track being overriden. Consider disabling abr before calling selectVariantTrack().");
|
|
1329
|
+
this.switchVariant_(d,!1,b,c);this.currentAdaptationSetCriteria_=new shaka.media.ExampleBasedCriteria(d,this.config_.mediaSource.codecSwitchingStrategy,this.config_.manifest.dash.enableAudioGroups);this.updateAbrManagerVariants_()}else shaka.log.error("Unable to switch to restricted track",a.id);else shaka.log.error("No variant with id",a.id)}else if(this.video_&&this.video_.audioTracks)for(b=Array.from(this.video_.audioTracks),b=$jscomp.makeIterator(b),c=b.next();!c.done;c=b.next())if(c=c.value,
|
|
1330
|
+
shaka.util.StreamUtils.html5TrackId(c)==a.id){this.switchHtml5Track_(c);break}};shaka.Player.prototype.getAudioLanguagesAndRoles=function(){return shaka.Player.getLanguageAndRolesFrom_(this.getVariantTracks())};shaka.Player.prototype.getTextLanguagesAndRoles=function(){return shaka.Player.getLanguageAndRolesFrom_(this.getTextTracks())};shaka.Player.prototype.getAudioLanguages=function(){return Array.from(shaka.Player.getLanguagesFrom_(this.getVariantTracks()))};
|
|
1331
|
+
shaka.Player.prototype.getTextLanguages=function(){return Array.from(shaka.Player.getLanguagesFrom_(this.getTextTracks()))};
|
|
1331
1332
|
shaka.Player.prototype.selectAudioLanguage=function(a,b,c,d){c=void 0===c?0:c;d=void 0===d?0:d;if(this.manifest_&&this.playhead_){this.currentAdaptationSetCriteria_=new shaka.media.PreferenceBasedCriteria(a,b||"",c,"",!1,"","","",this.config_.mediaSource.codecSwitchingStrategy,this.config_.manifest.dash.enableAudioGroups);a=function(g,h){return g.video||h.video?g.video&&h.video?Math.abs((g.video.height||0)-(h.video.height||0))+Math.abs((g.video.width||0)-(h.video.width||0)):Infinity:0};b=this.streamingEngine_.getCurrentVariant();
|
|
1332
1333
|
var e=this.currentAdaptationSetCriteria_.create(this.manifest_.variants);c=null;e=$jscomp.makeIterator(e.values());for(var f=e.next();!f.done;f=e.next())if(f=f.value,!c||a(c,b)>a(f,b))c=f;c==b?shaka.log.debug("Audio already selected."):c?(a=shaka.util.StreamUtils.variantToTrack(c),this.selectVariantTrack(a,!0,d)):this.chooseVariantAndSwitch_()}else this.video_&&this.video_.audioTracks&&(d=shaka.util.StreamUtils.filterStreamsByLanguageAndRole(this.getVariantTracks(),a,b||"",!1)[0])&&this.selectVariantTrack(d)};
|
|
1333
1334
|
shaka.Player.prototype.selectTextLanguage=function(a,b,c){c=void 0===c?!1:c;if(this.manifest_&&this.playhead_){if(this.currentTextLanguage_=a,this.currentTextRole_=b||"",this.currentTextForced_=c,a=this.chooseTextStream_())a==this.streamingEngine_.getCurrentTextStream()?shaka.log.debug("Text track already selected."):(this.addTextStreamToSwitchHistory_(a,!1),this.shouldStreamText_()&&(this.streamingEngine_.switchTextStream(a),this.onTextChanged_()))}else(a=shaka.util.StreamUtils.filterStreamsByLanguageAndRole(this.getTextTracks(),
|
|
@@ -1444,7 +1445,7 @@ goog.exportProperty(shaka.Player.prototype,"resetConfiguration",shaka.Player.pro
|
|
|
1444
1445
|
goog.exportProperty(shaka.Player.prototype,"releaseAllMutexes",shaka.Player.prototype.releaseAllMutexes);goog.exportProperty(shaka.Player.prototype,"preload",shaka.Player.prototype.preload);goog.exportProperty(shaka.Player.prototype,"detachAndSavePreload",shaka.Player.prototype.detachAndSavePreload);goog.exportProperty(shaka.Player.prototype,"unloadAndSavePreload",shaka.Player.prototype.unloadAndSavePreload);goog.exportProperty(shaka.Player.prototype,"load",shaka.Player.prototype.load);
|
|
1445
1446
|
goog.exportProperty(shaka.Player.prototype,"updateStartTime",shaka.Player.prototype.updateStartTime);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);
|
|
1446
1447
|
goog.exportProperty(shaka.Player,"isBrowserSupported",shaka.Player.isBrowserSupported);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);
|
|
1447
|
-
shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.9.
|
|
1448
|
+
shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.9.16-debug";goog.exportProperty(shaka.Player,"version",shaka.Player.version);shaka.Deprecate.init(shaka.Player.version);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_++};
|
|
1448
1449
|
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()};
|
|
1449
1450
|
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()};
|
|
1450
1451
|
shaka.ads.ClientSideAd.prototype.getTimeUntilSkippable=function(){var a=this.ad_.getSkipTimeOffset();a=this.getRemainingTime()-a;return Math.max(a,0)};shaka.ads.ClientSideAd.prototype.canSkipNow=function(){return this.manager_.getAdSkippableState()};shaka.ads.ClientSideAd.prototype.skip=function(){return this.manager_.skip()};shaka.ads.ClientSideAd.prototype.setPaused=function(a){this.isPaused_=a};shaka.ads.ClientSideAd.prototype.pause=function(){return this.manager_.pause()};
|
|
@@ -2136,20 +2137,20 @@ shaka.hls.HlsParser.prototype.createStreamInfosFromMediaTags_=function(a,b){a=a.
|
|
|
2136
2137
|
shaka.hls.HlsParser.prototype.createVariantsForTags_=function(a,b,c,d,e){var f=this,g,h,k,l,m,n,p,q,r,t,y,u,x,w,v,z,B,A,F,E,I,H,D,C,G,K,J,L,M,N,O,P,U,Q,T,W;return $jscomp.asyncExecutePromiseGeneratorProgram(function(V){switch(V.nextAddress){case 1:g=[];h=new Set;if(!(0<b.length)){V.jumpTo(2);break}k=$jscomp.makeIterator(b);l=k.next();case 3:if(l.done){V.jumpTo(2);break}m=l.value;n=m.getRequiredAttrValue("METHOD");p=m.getAttributeValue("KEYFORMAT")||"identity";q=null;if("NONE"==n){V.jumpTo(4);break}if(f.isAesMethod_(n)){r=
|
|
2137
2138
|
shaka.hls.Utils.constructSegmentUris(d(),m.getRequiredAttrValue("URI"),e);t=r.sort().join("");f.aesKeyMap_.has(t)||(y=shaka.net.NetworkingEngine.RequestType.KEY,u=shaka.net.NetworkingEngine.makeRequest(r,f.config_.retryParameters),x=f.makeNetworkRequest_(u,y),f.aesKeyMap_.set(t,x));V.jumpTo(4);break}if("identity"!=p){q=(w=shaka.hls.HlsParser.KEYFORMATS_TO_DRM_PARSERS_[p])?w(m,""):null;V.jumpTo(6);break}return V.yield(f.identityDrmParser_(m,"",d,null,e),9);case 9:q=V.yieldResult;case 6:if(q){if(q.keyIds)for(v=
|
|
2138
2139
|
$jscomp.makeIterator(q.keyIds),z=v.next();!z.done;z=v.next())B=z.value,h.add(B);g.push(q)}else shaka.log.warning("Unsupported HLS KEYFORMAT",p);case 4:l=k.next();V.jumpTo(3);break;case 2:A={};F=$jscomp.makeIterator(a);for(E=F.next();!E.done;E=F.next())I=E.value,H=I.getTagKey(),A[H]?A[H].push(I):A[H]=[I];D=[];for(C in A)G=A[C],K=G[0],J=K.getAttributeValue("FRAME-RATE"),L=Number(K.getAttributeValue("AVERAGE-BANDWIDTH"))||Number(K.getRequiredAttrValue("BANDWIDTH")),M=K.getAttributeValue("RESOLUTION"),
|
|
2139
|
-
N=$jscomp.makeIterator(M?M.split("x"):[null,null]),O=N.next().value,P=N.next().value,U=K.getAttributeValue("VIDEO-RANGE"),(Q=K.getAttributeValue("REQ-VIDEO-LAYOUT"))&&Q.includes(",")&&(T=Q.split(",").filter(function(R){return"CH-STEREO"==R||"CH-MONO"==R}),Q=T[0]),Q=Q||"CH-MONO",W=f.createStreamInfosForVariantTags_(G,c,M,J
|
|
2140
|
-
|
|
2141
|
-
shaka.hls.HlsParser.prototype.createStreamInfosForVariantTags_=function(a,b,c,d
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
d=d.AUDIO,
|
|
2145
|
-
|
|
2140
|
+
N=$jscomp.makeIterator(M?M.split("x"):[null,null]),O=N.next().value,P=N.next().value,U=K.getAttributeValue("VIDEO-RANGE"),(Q=K.getAttributeValue("REQ-VIDEO-LAYOUT"))&&Q.includes(",")&&(T=Q.split(",").filter(function(R){return"CH-STEREO"==R||"CH-MONO"==R}),Q=T[0]),Q=Q||"CH-MONO",W=f.createStreamInfosForVariantTags_(G,c,M,J),goog.asserts.assert(W.audio.length||W.video.length,"We should have created a stream!"),D.push.apply(D,$jscomp.arrayFromIterable(f.createVariants_(W.audio,W.video,L,O,P,J,U,Q,g,
|
|
2141
|
+
h)));return V.return(D.filter(function(R){return null!=R}))}})};
|
|
2142
|
+
shaka.hls.HlsParser.prototype.createStreamInfosForVariantTags_=function(a,b,c,d){d=shaka.util.ManifestParserUtils.ContentType;c={audio:[],video:[]};for(var e=new Map,f=[],g=!1,h=!1,k=$jscomp.makeIterator(a),l=k.next();!l.done;l=k.next()){l=l.value;var m=l.getAttributeValue("AUDIO"),n=l.getAttributeValue("VIDEO");goog.asserts.assert(null==m||null==n,"Unexpected: both video and audio described by media tags!");var p=m||n;if(p){f.includes(p)||f.push(p);var q=l.getAttributeValue("PATHWAY-ID");q&&e.set(p,
|
|
2143
|
+
q);m?g=!0:n&&(h=!0);shaka.log.debug("Guessing stream type for",l.toString())}}f.length&&b.length&&(k=b.filter(function(t){return f.includes(t.getRequiredAttrValue("GROUP-ID"))}),this.createStreamInfosFromMediaTags_(k,e));k=(e=f.sort().join(","))&&this.groupIdToStreamInfosMap_.has(e)?this.groupIdToStreamInfosMap_.get(e):[];g?c.audio.push.apply(c.audio,$jscomp.arrayFromIterable(k)):h&&c.video.push.apply(c.video,$jscomp.arrayFromIterable(k));h=!1;var r=a.map(function(t){return t.getRequiredAttrValue("URI")});
|
|
2144
|
+
n=c.audio.find(function(t){return t&&t.getUris().find(function(y){return r.includes(y)})});g=this.getCodecsForVariantTag_(a[0]);l=shaka.util.ManifestParserUtils.guessCodecsSafe(d.VIDEO,g);(m=shaka.util.ManifestParserUtils.guessCodecsSafe(d.AUDIO,g))&&!l?(d=d.AUDIO,shaka.log.debug("Guessing audio-only."),h=0<c.audio.length):!c.audio.length&&!c.video.length&&m&&l?(shaka.log.debug("Guessing multiplexed audio+video."),d=d.VIDEO,g=[[l,m].join()]):c.audio.length&&n?(shaka.log.debug("Guessing audio-only."),
|
|
2145
|
+
d=d.AUDIO,h=!0):c.video.length&&!c.audio.length?(shaka.log.debug("Guessing audio-only."),d=d.AUDIO):(shaka.log.debug("Guessing video-only."),d=d.VIDEO);h||(m=l=h=null,n=!1,q=p=null,!k.length&&(b=b.find(function(t){var y=t.getAttributeValue("URI")||"",u=t.getAttributeValue("TYPE");t=t.getRequiredAttrValue("GROUP-ID");return"SUBTITLES"!=u&&""==y&&f.includes(t)}))&&(h=b.getAttributeValue("LANGUAGE"),l=b.getAttributeValue("NAME"),m=this.getChannelsCount_(b),n=this.isSpatialAudio_(b),p=b.getAttributeValue("CHARACTERISTICS"),
|
|
2146
|
+
q=this.getSampleRate_(b)),a=this.createStreamInfoFromVariantTags_(a,g,d,h,l,m,p,q,n),e&&(a.stream.groupId=e),c[a.stream.type]=[a]);return c};
|
|
2146
2147
|
shaka.hls.HlsParser.prototype.getCodecsForVariantTag_=function(a){var b=a.getAttributeValue("CODECS")||"";a=a.getAttributeValue("SUPPLEMENTAL-CODECS");this.codecInfoInManifest_=0<b.length;this.codecInfoInManifest_||this.config_.hls.disableCodecGuessing||(b=[],this.config_.disableVideo||b.push(this.config_.hls.defaultVideoCodec),this.config_.disableAudio||b.push(this.config_.hls.defaultAudioCodec),b=b.join(","));b=b.split(/\s*,\s*/);a&&(a=a.split(/\s*,\s*/).map(function(c){return c.split("/")[0]}),
|
|
2147
2148
|
b.push.apply(b,$jscomp.arrayFromIterable(a)));return shaka.media.SegmentUtils.codecsFiltering(b)};shaka.hls.HlsParser.prototype.getChannelsCount_=function(a){a=a.getAttributeValue("CHANNELS");if(!a)return null;a=a.split("/")[0];return parseInt(a,10)};shaka.hls.HlsParser.prototype.getSampleRate_=function(a){return(a=a.getAttributeValue("SAMPLE-RATE"))?parseInt(a,10):null};shaka.hls.HlsParser.prototype.isSpatialAudio_=function(a){return(a=a.getAttributeValue("CHANNELS"))?a.includes("/JOC"):!1};
|
|
2148
2149
|
shaka.hls.HlsParser.prototype.getClosedCaptions_=function(a,b){var c=shaka.util.ManifestParserUtils.ContentType;a=a.getAttributeValue("CLOSED-CAPTIONS");if(b==c.VIDEO)if(a){if("NONE"!=a)return this.groupIdToClosedCaptionsMap_.get(a);this.needsClosedCaptionsDetection_=!1}else if(!a&&this.groupIdToClosedCaptionsMap_.size)for(b=$jscomp.makeIterator(this.groupIdToClosedCaptionsMap_.keys()).next();!b.done;)return this.groupIdToClosedCaptionsMap_.get(b.value);return null};
|
|
2149
2150
|
shaka.hls.HlsParser.prototype.getLanguage_=function(a){return shaka.util.LanguageUtils.normalize(a||"und")};shaka.hls.HlsParser.prototype.getType_=function(a){a=a.getRequiredAttrValue("TYPE").toLowerCase();"subtitles"==a&&(a=shaka.util.ManifestParserUtils.ContentType.TEXT);return a};
|
|
2150
2151
|
shaka.hls.HlsParser.prototype.createVariants_=function(a,b,c,d,e,f,g,h,k,l){for(var m=shaka.util.ManifestParserUtils.ContentType,n=shaka.util.DrmUtils,p=$jscomp.makeIterator(b),q=p.next();!q.done;q=p.next())this.addVideoAttributes_(q.value.stream,d,e,f,g,h,null);d=this.config_.disableAudio;if(!a.length||d)a=[null];d=this.config_.disableVideo;if(!b.length||d)b=[null];d=[];a=$jscomp.makeIterator(a);for(e=a.next();!e.done;e=a.next())for(e=e.value,f=$jscomp.makeIterator(b),g=f.next();!g.done;g=f.next()){var r=
|
|
2151
|
-
g.value;if(g=e?e.stream:null)g.drmInfos=k,g.keyIds=l;if(h=r?r.stream:null)h.drmInfos=k,h.keyIds=l;p=e?e.stream.drmInfos:null;q=r?r.stream.drmInfos:null;r=r?r.getUris().sort().join(","):"";var t=e?e.getUris().sort().join(","):"";r=r+" - "+t;g&&h&&!n.areDrmCompatible(p,q)?shaka.log.warning("Incompatible DRM info in HLS variant. Skipping."):this.variantUriSet_.has(r)?shaka.log.debug("Skipping variant which only differs in text streams."):(goog.asserts.assert(!g||
|
|
2152
|
-
goog.asserts.assert(!h||h.type==m.VIDEO,"Video parameter mismatch!"),g={id:this.globalId_++,language:g?g.language:"und",disabledUntilTime:0,primary:!!g&&g.primary||!!h&&h.primary,audio:g,video:h,bandwidth:c,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]},d.push(g),this.variantUriSet_.add(r))}return d};
|
|
2152
|
+
g.value;if(g=e?e.stream:null)g.drmInfos=k,g.keyIds=l;if(h=r?r.stream:null)h.drmInfos=k,h.keyIds=l;h&&!g&&(h.bandwidth=c);!h&&g&&(g.bandwidth=c);p=e?e.stream.drmInfos:null;q=r?r.stream.drmInfos:null;r=r?r.getUris().sort().join(","):"";var t=e?e.getUris().sort().join(","):"";r=r+" - "+t;g&&h&&!n.areDrmCompatible(p,q)?shaka.log.warning("Incompatible DRM info in HLS variant. Skipping."):this.variantUriSet_.has(r)?shaka.log.debug("Skipping variant which only differs in text streams."):(goog.asserts.assert(!g||
|
|
2153
|
+
g.type==m.AUDIO,"Audio parameter mismatch!"),goog.asserts.assert(!h||h.type==m.VIDEO,"Video parameter mismatch!"),g={id:this.globalId_++,language:g?g.language:"und",disabledUntilTime:0,primary:!!g&&g.primary||!!h&&h.primary,audio:g,video:h,bandwidth:c,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]},d.push(g),this.variantUriSet_.add(r))}return d};
|
|
2153
2154
|
shaka.hls.HlsParser.prototype.parseClosedCaptions_=function(a){a=shaka.hls.Utils.filterTagsByType(a,"CLOSED-CAPTIONS");this.needsClosedCaptionsDetection_=0==a.length;a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next()){var c=b.value;goog.asserts.assert("EXT-X-MEDIA"==c.name,"Should only be called on media tags!");var d=c.getAttributeValue("LANGUAGE");b=this.getLanguage_(d);d||(d=c.getAttributeValue("NAME"))&&(b=d);d=c.getRequiredAttrValue("GROUP-ID");c=c.getRequiredAttrValue("INSTREAM-ID").replace("SERVICE",
|
|
2154
2155
|
"svc");this.groupIdToClosedCaptionsMap_.get(d)||this.groupIdToClosedCaptionsMap_.set(d,new Map);this.groupIdToClosedCaptionsMap_.get(d).set(c,b)}};
|
|
2155
2156
|
shaka.hls.HlsParser.prototype.createStreamInfoFromMediaTags_=function(a,b){for(var c=[],d=[],e=new Map,f=$jscomp.makeIterator(a),g=f.next();!g.done;g=f.next()){var h=g.value;goog.asserts.assert("EXT-X-MEDIA"==h.name,"Should only be called on media tags!");g=h.getRequiredAttrValue("URI");h=h.getRequiredAttrValue("GROUP-ID");c.push(g);d.push(h);e.set(h,g)}f=d.sort().join(",");h=a[0];a="";g=this.getType_(h);if(g==shaka.util.ManifestParserUtils.ContentType.TEXT)a=h.getAttributeValue("CODECS")||"";else{d=
|