shaka-player 4.9.15 → 4.9.17

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 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'});
@@ -147,12 +147,12 @@ goog.addDependency('../../../../lib/text/lrc_text_parser.js', ['shaka.text.LrcTe
147
147
  goog.addDependency('../../../../lib/text/mp4_ttml_parser.js', ['shaka.text.Mp4TtmlParser'], ['shaka.text.TextEngine', 'shaka.text.TtmlTextParser', 'shaka.util.Error', 'shaka.util.Mp4Parser'], {'lang': 'es6'});
148
148
  goog.addDependency('../../../../lib/text/mp4_vtt_parser.js', ['shaka.text.Mp4VttParser'], ['goog.asserts', 'shaka.log', 'shaka.text.Cue', 'shaka.text.TextEngine', 'shaka.text.VttTextParser', 'shaka.util.DataViewReader', 'shaka.util.Error', 'shaka.util.Functional', 'shaka.util.Mp4BoxParsers', 'shaka.util.Mp4Parser', 'shaka.util.StringUtils', 'shaka.util.TextParser'], {'lang': 'es6'});
149
149
  goog.addDependency('../../../../lib/text/sbv_text_parser.js', ['shaka.text.SbvTextParser'], ['goog.asserts', 'shaka.text.Cue', 'shaka.text.TextEngine', 'shaka.util.Error', 'shaka.util.StringUtils', 'shaka.util.TextParser'], {'lang': 'es6'});
150
- goog.addDependency('../../../../lib/text/simple_text_displayer.js', ['shaka.text.SimpleTextDisplayer'], ['goog.asserts', 'shaka.log', 'shaka.text.Cue', 'shaka.text.Utils'], {'lang': 'es6'});
150
+ goog.addDependency('../../../../lib/text/simple_text_displayer.js', ['shaka.text.SimpleTextDisplayer'], ['goog.asserts', 'shaka.text.Utils'], {'lang': 'es6'});
151
151
  goog.addDependency('../../../../lib/text/srt_text_parser.js', ['shaka.text.SrtTextParser'], ['goog.asserts', 'shaka.text.TextEngine', 'shaka.text.VttTextParser', 'shaka.util.BufferUtils', 'shaka.util.StringUtils'], {'lang': 'es6'});
152
152
  goog.addDependency('../../../../lib/text/ssa_text_parser.js', ['shaka.text.SsaTextParser'], ['goog.asserts', 'shaka.log', 'shaka.text.Cue', 'shaka.text.TextEngine', 'shaka.util.StringUtils'], {'lang': 'es6'});
153
153
  goog.addDependency('../../../../lib/text/stub_text_displayer.js', ['shaka.text.StubTextDisplayer'], [], {'lang': 'es6'});
154
154
  goog.addDependency('../../../../lib/text/text_engine.js', ['shaka.text.TextEngine'], ['goog.asserts', 'shaka.Deprecate', 'shaka.media.ClosedCaptionParser', 'shaka.text.Cue', 'shaka.util.BufferUtils', 'shaka.util.IDestroyable', 'shaka.util.MimeUtils'], {'lang': 'es8'});
155
- goog.addDependency('../../../../lib/text/text_utils.js', ['shaka.text.Utils'], ['shaka.text.Cue'], {'lang': 'es6'});
155
+ goog.addDependency('../../../../lib/text/text_utils.js', ['shaka.text.Utils'], ['shaka.log', 'shaka.text.Cue'], {'lang': 'es6'});
156
156
  goog.addDependency('../../../../lib/text/ttml_text_parser.js', ['shaka.text.TtmlTextParser'], ['goog.Uri', 'goog.asserts', 'shaka.log', 'shaka.text.Cue', 'shaka.text.CueRegion', 'shaka.text.TextEngine', 'shaka.util.ArrayUtils', 'shaka.util.Error', 'shaka.util.StringUtils', 'shaka.util.TXml'], {'lang': 'es8'});
157
157
  goog.addDependency('../../../../lib/text/ui_text_displayer.js', ['shaka.text.UITextDisplayer'], ['goog.asserts', 'shaka.Deprecate', 'shaka.text.Cue', 'shaka.text.CueRegion', 'shaka.text.Utils', 'shaka.util.Dom', 'shaka.util.EventManager', 'shaka.util.Timer'], {'lang': 'es6'});
158
158
  goog.addDependency('../../../../lib/text/vtt_text_parser.js', ['shaka.text.VttTextParser'], ['goog.asserts', 'shaka.log', 'shaka.media.ManifestParser', 'shaka.text.Cue', 'shaka.text.CueRegion', 'shaka.text.TextEngine', 'shaka.util.Error', 'shaka.util.StringUtils', 'shaka.util.TXml', 'shaka.util.TextParser'], {'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
- AD_DURATION: 'AD_DURATION',
765
- OFF: 'OFF',
766
- REPLAY: 'REPLAY',
767
764
  PLAY: 'PLAY',
768
- LIVE: 'LIVE',
769
- CAPTIONS: 'CAPTIONS',
770
- ON: 'ON',
771
- LANGUAGE: 'LANGUAGE',
765
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
772
766
  MUTE: 'MUTE',
773
- LOOP: 'LOOP',
767
+ LANGUAGE: 'LANGUAGE',
774
768
  PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
769
+ TOGGLE_STEREOSCOPIC: 'TOGGLE_STEREOSCOPIC',
775
770
  QUALITY: 'QUALITY',
776
- NOT_APPLICABLE: 'NOT_APPLICABLE',
777
- VOLUME: 'VOLUME',
778
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
779
771
  SUBTITLE_FORCED: 'SUBTITLE_FORCED',
780
- TOGGLE_STEREOSCOPIC: 'TOGGLE_STEREOSCOPIC',
781
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
782
- CAST: 'CAST',
783
- SKIP_AD: 'SKIP_AD',
784
- FAST_FORWARD: 'FAST_FORWARD',
785
- EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
786
- AD_STATISTICS: 'AD_STATISTICS',
772
+ AD_DURATION: 'AD_DURATION',
773
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
774
+ NOT_APPLICABLE: 'NOT_APPLICABLE',
775
+ LIVE: 'LIVE',
787
776
  AUTO_QUALITY: 'AUTO_QUALITY',
788
- UNMUTE: 'UNMUTE',
789
- UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
790
- MORE_SETTINGS: 'MORE_SETTINGS',
791
- AD_PROGRESS: 'AD_PROGRESS',
792
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
793
- FULL_SCREEN: 'FULL_SCREEN',
794
777
  UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
778
+ SURROUND: 'SURROUND',
779
+ LOOP: 'LOOP',
780
+ RECENTER_VR: 'RECENTER_VR',
781
+ CAPTIONS: 'CAPTIONS',
795
782
  STATISTICS: 'STATISTICS',
783
+ RESOLUTION: 'RESOLUTION',
784
+ REPLAY: 'REPLAY',
785
+ PLAYBACK_RATE: 'PLAYBACK_RATE',
786
+ EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
787
+ FAST_FORWARD: 'FAST_FORWARD',
788
+ UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
796
789
  MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
797
- RECENTER_VR: 'RECENTER_VR',
798
- SEEK: 'SEEK',
790
+ AD_STATISTICS: 'AD_STATISTICS',
791
+ AD_TIME: 'AD_TIME',
799
792
  REWIND: 'REWIND',
800
- PAUSE: 'PAUSE',
801
- SURROUND: 'SURROUND',
793
+ OFF: 'OFF',
794
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
795
+ FULL_SCREEN: 'FULL_SCREEN',
796
+ SKIP_AD: 'SKIP_AD',
797
+ VOLUME: 'VOLUME',
798
+ AD_PROGRESS: 'AD_PROGRESS',
799
+ CAST: 'CAST',
800
+ UNMUTE: 'UNMUTE',
801
+ BACK: 'BACK',
802
+ SEEK: 'SEEK',
802
803
  EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
803
- AD_TIME: 'AD_TIME',
804
- PLAYBACK_RATE: 'PLAYBACK_RATE',
805
- RESOLUTION: 'RESOLUTION',
804
+ PAUSE: 'PAUSE',
805
+ MORE_SETTINGS: 'MORE_SETTINGS',
806
+ ON: 'ON',
806
807
  SKIP_TO_LIVE: 'SKIP_TO_LIVE',
807
808
  AIRPLAY: 'AIRPLAY',
808
- BACK: 'BACK',
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.isMediaKeysPolyfilled=function(a){return a?a===window.shakaMediaKeysPolyfill:!!window.shakaMediaKeysPolyfill};
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==q&&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&&y.bandwidth?t.bandwidth-
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),q=f.getNormalizedCodec(e.codecs),
313
- p==q&&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})};
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&&
@@ -729,8 +730,8 @@ shaka.lcevc.Dec.prototype.isSupported_=function(){"undefined"===typeof libDPIMod
729
730
  typeof this.lcevcLib_.SupportObject)return shaka.log.alwaysWarn("Could not find LCEVC Library on this page"),!1;this.lcevcLib_.SupportObject.SupportStatus||shaka.log.alwaysWarn(this.lcevcLib_.SupportObject.SupportError);return"undefined"!==typeof this.lcevcLib_&&"undefined"!==typeof libDPIModule&&this.canvas_ instanceof HTMLCanvasElement&&this.lcevcLib_.SupportObject.SupportStatus};
730
731
  shaka.lcevc.Dec.prototype.updateVariant=function(a,b){var c=shaka.lcevc.Dec.ContainerFormat.MPEG2_TS,d=shaka.lcevc.Dec.StreamingFormat.OTHER;switch(a.mimeType){case "video/webm":c=shaka.lcevc.Dec.ContainerFormat.WEBM;break;case "video/mp4":c=shaka.lcevc.Dec.ContainerFormat.MP4}switch(b){case "DASH":d=shaka.lcevc.Dec.StreamingFormat.DASH;break;case "HLS":d=shaka.lcevc.Dec.StreamingFormat.HLS}this.dec_&&(this.variantId_=a.id,this.dec_.setLevelSwitching(a.id,!0),this.dec_.setContainerFormat(c),this.toBeDeprecated_||
731
732
  this.dec_.setStreamingFormat(d))};goog.exportSymbol("shaka.lcevc.Dec",shaka.lcevc.Dec);goog.exportProperty(shaka.lcevc.Dec.prototype,"release",shaka.lcevc.Dec.prototype.release);shaka.lcevc.Dec.ContainerFormat={MPEG2_TS:0,WEBM:1,MP4:2};shaka.lcevc.Dec.StreamingFormat={HLS:0,DASH:1,OTHER:-1};shaka.media.MediaSourceEngine=function(a,b,c,d){var e=this;this.video_=a;this.playerInterface_=c;this.config_=null;this.textDisplayer_=b;this.sourceBuffers_={};this.sourceBufferTypes_={};this.expectedEncryption_={};this.textEngine_=null;this.segmentRelativeVttTiming_=!1;this.lcevcDec_=d||null;this.queues_={};this.eventManager_=new shaka.util.EventManager;this.transmuxers_={};this.captionParser_=null;this.mediaSourceOpen_=new shaka.util.PublicPromise;this.url_="";this.playbackHasBegun_=!1;this.mediaSource_=
732
- this.createMediaSource(this.mediaSourceOpen_);this.reloadingMediaSource_=!1;this.destroyer_=new shaka.util.Destroyer(function(){return e.doDestroy_()});this.sequenceMode_=!1;this.manifestType_=shaka.media.ManifestParser.UNKNOWN;this.attemptTimestampOffsetCalculation_=this.ignoreManifestTimestampsInSegmentsMode_=!1;this.textSequenceModeOffset_=new shaka.util.PublicPromise;this.needSplitMuxedContent_=!1;this.streamingAllowed_=!0;this.firstAudioTimestamp_=this.firstVideoTimestamp_=this.tsParser_=this.lastDuration_=
733
- null;this.audioCompensation_=new shaka.util.PublicPromise};
733
+ this.createMediaSource(this.mediaSourceOpen_);this.reloadingMediaSource_=!1;this.destroyer_=new shaka.util.Destroyer(function(){return e.doDestroy_()});this.sequenceMode_=!1;this.manifestType_=shaka.media.ManifestParser.UNKNOWN;this.attemptTimestampOffsetCalculation_=this.ignoreManifestTimestampsInSegmentsMode_=!1;this.textSequenceModeOffset_=new shaka.util.PublicPromise;this.needSplitMuxedContent_=!1;this.streamingAllowed_=!0;this.firstAudioReferenceStartTime_=this.firstAudioTimestamp_=this.firstVideoReferenceStartTime_=
734
+ this.firstVideoTimestamp_=this.tsParser_=this.lastDuration_=null;this.audioCompensation_=new shaka.util.PublicPromise};
734
735
  shaka.media.MediaSourceEngine.prototype.createMediaSource=function(a){var b=this;if(window.ManagedMediaSource){this.video_.disableRemotePlayback=!0;var c=new ManagedMediaSource;this.eventManager_.listen(c,"startstreaming",function(){b.streamingAllowed_=!0});this.eventManager_.listen(c,"endstreaming",function(){b.streamingAllowed_=!1});this.eventManager_.listenOnce(c,"sourceopen",function(){return b.onSourceOpen_(a)});this.eventManager_.listenOnce(this.video_,"playing",function(){b.playbackHasBegun_=
735
736
  !0});this.url_=shaka.media.MediaSourceEngine.createObjectURL(c);this.video_.src=this.url_;return c}c=new MediaSource;this.eventManager_.listenOnce(c,"sourceopen",function(){return b.onSourceOpen_(a)});this.eventManager_.listenOnce(this.video_,"playing",function(){b.playbackHasBegun_=!0});this.url_=shaka.media.MediaSourceEngine.createObjectURL(c);this.video_.src=this.url_;return c};
736
737
  shaka.media.MediaSourceEngine.prototype.onSourceOpen_=function(a){goog.asserts.assert(this.url_,"Must have object URL");URL.revokeObjectURL(this.url_);a.resolve()};
@@ -759,12 +760,12 @@ c&&0==c.timestampOffset&&c.initSegmentReference&&c.initSegmentReference.timescal
759
760
  shaka.util.TsParser.probe(g)&&(this.tsParser_?this.tsParser_.clearData():this.tsParser_=new shaka.util.TsParser,g=this.tsParser_.parse(g),a=g.getStartTime(a),null!=a&&(f=a),g=g.getMetadata(),g.length))this.playerInterface_.onMetadata(g,e,c?c.endTime:null);return f};
760
761
  shaka.media.MediaSourceEngine.prototype.appendBuffer=function(a,b,c,d,e,f,g,h,k){f=void 0===f?!1:f;g=void 0===g?!1:g;h=void 0===h?!1:h;k=void 0===k?!1:k;var l=this,m,n,p,q,r,t,y,u,x,w,v,z,B,A,F,E,I,H,D;return $jscomp.asyncExecutePromiseGeneratorProgram(function(C){switch(C.nextAddress){case 1:m=shaka.util.ManifestParserUtils.ContentType;if(a!=m.TEXT){C.jumpTo(2);break}if(!l.sequenceMode_){C.jumpTo(3);break}return C.yield(l.textSequenceModeOffset_,4);case 4:n=C.yieldResult,l.textEngine_.setTimestampOffset(n);
761
762
  case 3:return C.yield(l.textEngine_.appendBuffer(b,c?c.startTime:null,c?c.endTime:null,c?c.getUris()[0]:null),5);case 5:return C.return();case 2:if(k||!l.needSplitMuxedContent_){C.jumpTo(6);break}return C.yield(l.appendBuffer(m.AUDIO,b,c,d,e,f,g,h,!0),7);case 7:return C.yield(l.appendBuffer(m.VIDEO,b,c,d,e,f,g,h,!0),8);case 8:return C.return();case 6:if(!l.sourceBuffers_[a])return shaka.log.warning("Attempted to restore a non-existent source buffer"),C.return();p=l.sourceBuffers_[a].timestampOffset;
762
- q=l.sourceBufferTypes_[a];l.transmuxers_[a]&&(q=l.transmuxers_[a].getOriginalMimeType());c&&(r=l.getTimestampAndDispatchMetadata_(a,b,c,q,p),null!=r&&(null==l.firstVideoTimestamp_&&a==m.VIDEO&&(l.firstVideoTimestamp_=r,null!=l.firstAudioTimestamp_&&(t=l.firstVideoTimestamp_-l.firstAudioTimestamp_,l.audioCompensation_.resolve(t))),null==l.firstAudioTimestamp_&&a==m.AUDIO&&(l.firstAudioTimestamp_=r,null!=l.firstVideoTimestamp_&&(y=l.firstVideoTimestamp_-l.firstAudioTimestamp_,l.audioCompensation_.resolve(y))),
763
- u=c.startTime-r,x=Math.abs(p-u),(.001<=x||f||g)&&(!h||0<u||!p)&&(p=u,l.attemptTimestampOffsetCalculation_&&(l.enqueueOperation_(a,function(){return l.abort_(a)},null),l.enqueueOperation_(a,function(){return l.setTimestampOffset_(a,p)},null))),w=a==m.VIDEO||!(m.VIDEO in l.sourceBuffers_),l.sequenceMode_&&w&&l.textSequenceModeOffset_.resolve(p)));e&&a==m.VIDEO&&(l.textEngine_||l.reinitText(shaka.util.MimeUtils.CEA608_CLOSED_CAPTION_MIMETYPE,l.sequenceMode_,!1),l.captionParser_||(v=q.split(";",1)[0],
764
- l.captionParser_=l.getCaptionParser(v)),c?(z=l.captionParser_.parseFrom(b),z.length&&l.textEngine_.storeAndAppendClosedCaptions(z,c.startTime,c.endTime,p)):l.captionParser_.init(b,g));if(!l.transmuxers_[a]){C.jumpTo(9);break}return C.yield(l.transmuxers_[a].transmux(b,d,c,l.mediaSource_.duration,a),10);case 10:b=C.yieldResult;case 9:b=l.workAroundBrokenPlatforms_(b,c?c.startTime:null,a,c?c.getUris()[0]:null);if(!c||!l.sequenceMode_||a==m.TEXT){C.jumpTo(11);break}if(!f&&!g){C.jumpTo(11);break}B=c.startTime;
765
- if(l.manifestType_!=shaka.media.ManifestParser.HLS||l.needSplitMuxedContent_||a!=m.AUDIO||!l.sourceBuffers_[m.VIDEO]){C.jumpTo(13);break}return C.yield(l.audioCompensation_,14);case 14:A=C.yieldResult,.1<Math.abs(A)&&(B-=A);case 13:l.enqueueOperation_(a,function(){return l.abort_(a)},null),l.enqueueOperation_(a,function(){return l.setTimestampOffset_(a,B)},null);case 11:return F=null,C.yield(l.enqueueOperation_(a,function(){goog.DEBUG&&c&&!c.isPreload()&&!h&&(F=l.getBuffered_(a));l.append_(a,b,p)},
766
- c?c.getUris()[0]:null),15);case 15:goog.DEBUG&&c&&!c.isPreload()&&!h&&(E=l.getBuffered_(a),I=shaka.media.TimeRangesUtils.computeAddedRange(F,E))&&(H=c.endTime-c.startTime,D=Math.abs(I.end-c.endTime),.1<H&&D>H/2&&shaka.log.error("Possible encoding problem detected!","Unexpected buffered range for reference",c,"from URIs",c.getUris(),"should be",{start:c.startTime,end:c.endTime},"but got",I)),C.jumpToEnd()}})};
767
- shaka.media.MediaSourceEngine.prototype.setSelectedClosedCaptionId=function(a){var b=this.bufferEnd(shaka.util.ManifestParserUtils.ContentType.VIDEO)||0;this.textEngine_.setSelectedClosedCaptionId(a,b)};shaka.media.MediaSourceEngine.prototype.clearSelectedClosedCaptionId=function(){this.textEngine_&&this.textEngine_.setSelectedClosedCaptionId("",0)};
763
+ q=l.sourceBufferTypes_[a];l.transmuxers_[a]&&(q=l.transmuxers_[a].getOriginalMimeType());c&&(r=l.getTimestampAndDispatchMetadata_(a,b,c,q,p),null!=r&&(null==l.firstVideoTimestamp_&&a==m.VIDEO&&(l.firstVideoTimestamp_=r,l.firstVideoReferenceStartTime_=c.startTime,null!=l.firstAudioTimestamp_&&(t=0,l.firstVideoReferenceStartTime_==l.firstAudioReferenceStartTime_&&(t=l.firstVideoTimestamp_-l.firstAudioTimestamp_),l.audioCompensation_.resolve(t))),null==l.firstAudioTimestamp_&&a==m.AUDIO&&(l.firstAudioTimestamp_=
764
+ r,l.firstAudioReferenceStartTime_=c.startTime,null!=l.firstVideoTimestamp_&&(y=0,l.firstVideoReferenceStartTime_==l.firstAudioReferenceStartTime_&&(y=l.firstVideoTimestamp_-l.firstAudioTimestamp_),l.audioCompensation_.resolve(y))),u=c.startTime-r,x=Math.abs(p-u),(.001<=x||f||g)&&(!h||0<u||!p)&&(p=u,l.attemptTimestampOffsetCalculation_&&(l.enqueueOperation_(a,function(){return l.abort_(a)},null),l.enqueueOperation_(a,function(){return l.setTimestampOffset_(a,p)},null))),w=a==m.VIDEO||!(m.VIDEO in l.sourceBuffers_),
765
+ l.sequenceMode_&&w&&l.textSequenceModeOffset_.resolve(p)));e&&a==m.VIDEO&&(l.textEngine_||l.reinitText(shaka.util.MimeUtils.CEA608_CLOSED_CAPTION_MIMETYPE,l.sequenceMode_,!1),l.captionParser_||(v=q.split(";",1)[0],l.captionParser_=l.getCaptionParser(v)),c?(z=l.captionParser_.parseFrom(b),z.length&&l.textEngine_.storeAndAppendClosedCaptions(z,c.startTime,c.endTime,p)):l.captionParser_.init(b,g));if(!l.transmuxers_[a]){C.jumpTo(9);break}return C.yield(l.transmuxers_[a].transmux(b,d,c,l.mediaSource_.duration,
766
+ a),10);case 10:b=C.yieldResult;case 9:b=l.workAroundBrokenPlatforms_(b,c?c.startTime:null,a,c?c.getUris()[0]:null);if(!c||!l.sequenceMode_||a==m.TEXT){C.jumpTo(11);break}if(!f&&!g){C.jumpTo(11);break}B=c.startTime;if(l.manifestType_!=shaka.media.ManifestParser.HLS||l.needSplitMuxedContent_||a!=m.AUDIO||!l.sourceBuffers_[m.VIDEO]){C.jumpTo(13);break}return C.yield(l.audioCompensation_,14);case 14:A=C.yieldResult,.1<Math.abs(A)&&(B-=A);case 13:l.enqueueOperation_(a,function(){return l.abort_(a)},null),
767
+ l.enqueueOperation_(a,function(){return l.setTimestampOffset_(a,B)},null);case 11:return F=null,C.yield(l.enqueueOperation_(a,function(){goog.DEBUG&&c&&!c.isPreload()&&!h&&(F=l.getBuffered_(a));l.append_(a,b,p)},c?c.getUris()[0]:null),15);case 15:goog.DEBUG&&c&&!c.isPreload()&&!h&&(E=l.getBuffered_(a),I=shaka.media.TimeRangesUtils.computeAddedRange(F,E))&&(H=c.endTime-c.startTime,D=Math.abs(I.end-c.endTime),.1<H&&D>H/2&&shaka.log.error("Possible encoding problem detected!","Unexpected buffered range for reference",
768
+ c,"from URIs",c.getUris(),"should be",{start:c.startTime,end:c.endTime},"but got",I)),C.jumpToEnd()}})};shaka.media.MediaSourceEngine.prototype.setSelectedClosedCaptionId=function(a){var b=this.bufferEnd(shaka.util.ManifestParserUtils.ContentType.VIDEO)||0;this.textEngine_.setSelectedClosedCaptionId(a,b)};shaka.media.MediaSourceEngine.prototype.clearSelectedClosedCaptionId=function(){this.textEngine_&&this.textEngine_.setSelectedClosedCaptionId("",0)};
768
769
  shaka.media.MediaSourceEngine.prototype.remove=function(a,b,c){var d=this,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){return 1==f.nextAddress?(e=shaka.util.ManifestParserUtils.ContentType,a==e.TEXT?f.yield(d.textEngine_.remove(b,c),0):f.yield(d.enqueueOperation_(a,function(){return d.remove_(a,b,c)},null),4)):d.needSplitMuxedContent_?f.yield(d.enqueueOperation_(e.AUDIO,function(){return d.remove_(e.AUDIO,b,c)},null),0):f.jumpTo(0)})};
769
770
  shaka.media.MediaSourceEngine.prototype.clear=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){return 1==d.nextAddress?(c=shaka.util.ManifestParserUtils.ContentType,a==c.TEXT?b.textEngine_?d.yield(b.textEngine_.remove(0,Infinity),0):d.return():d.yield(b.enqueueOperation_(a,function(){return b.remove_(a,0,b.mediaSource_.duration)},null),4)):b.needSplitMuxedContent_?d.yield(b.enqueueOperation_(c.AUDIO,function(){return b.remove_(c.AUDIO,0,b.mediaSource_.duration)},
770
771
  null),0):d.jumpTo(0)})};shaka.media.MediaSourceEngine.prototype.resetCaptionParser=function(){this.captionParser_&&this.captionParser_.reset()};
@@ -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_<c-1){this.lastCorrectiveSeek_=c;this.videoWrapper_.setTime(b);return}}shaka.log.v1("Seek to "+a);this.onSeek_()};
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),h=null;f.segmentIterator&&(h=f.segmentIterator.current());f.segmentPrefetch&&f.segmentPrefetch.resetPosition();if(f.type===b.AUDIO)for(var k=$jscomp.makeIterator(this.audioPrefetchMap_.values()),
958
- l=k.next();!l.done;l=k.next())l.value.resetPosition();if(!h||h.startTime>a||h.endTime<a)f.segmentIterator=null;if(!this.playerInterface_.mediaSourceEngine.isBuffered(e,a)){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="+
959
- 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==a.updateTimer&&
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(d),a.segmentPrefetch.prefetchSegmentsByTime(b.startTime));this.fetchAndAppend_(a,d,b).catch(function(){});return null};
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&&
@@ -1110,15 +1110,16 @@ shaka.text.Utils.flattenPayload_=function(a,b){if(a.lineBreak)return"\n";if(a.ne
1110
1110
  shaka.text.Utils.getColorName_=function(a){a=a.toLowerCase();var b=a.replace(/\s/g,"").match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i);b?a="#"+(parseInt(b[1],10)|256).toString(16).slice(1)+(parseInt(b[2],10)|256).toString(16).slice(1)+(parseInt(b[3],10)|256).toString(16).slice(1):a.startsWith("#")&&7<a.length&&(a=a.slice(0,7));switch(a){case "white":case "#fff":case "#ffffff":return"white";case "lime":case "#0f0":case "#00ff00":return"lime";case "cyan":case "#0ff":case "#00ffff":return"cyan";case "red":case "#f00":case "#ff0000":return"red";
1111
1111
  case "yellow":case "#ff0":case "#ffff00":return"yellow";case "magenta":case "#f0f":case "#ff00ff":return"magenta";case "blue":case "#00f":case "#0000ff":return"blue";case "black":case "#000":case "#000000":return"black"}return null};
1112
1112
  shaka.text.Utils.getCuesToFlatten=function(a,b){var c=[];a=$jscomp.makeIterator(shaka.text.Utils.removeDuplicates(a));for(var d=a.next();!d.done;d=a.next())if(d=d.value,d.isContainer)c.push.apply(c,$jscomp.arrayFromIterable(shaka.text.Utils.getCuesToFlatten(d.nestedCues,d)));else{var e=d.clone();e.nestedCues=[];e.payload=shaka.text.Utils.flattenPayload_(d,b);c.push(e)}return c};
1113
- shaka.text.Utils.removeDuplicates=function(a){var b=[],c={};a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;c={$jscomp$loop$prop$cue$924:c.$jscomp$loop$prop$cue$924},d=a.next())c.$jscomp$loop$prop$cue$924=d.value,b.some(function(e){return function(f){return shaka.text.Cue.equal(e.$jscomp$loop$prop$cue$924,f)}}(c))||b.push(c.$jscomp$loop$prop$cue$924);return b};shaka.text.SimpleTextDisplayer=function(a,b){this.textTrack_=null;for(var c=$jscomp.makeIterator(Array.from(a.textTracks)),d=c.next();!d.done;d=c.next())d=d.value,"metadata"!==d.kind&&"chapters"!==d.kind&&(d.mode="disabled",d.label==b&&(this.textTrack_=d));this.textTrack_||(this.textTrack_=a.addTextTrack("subtitles",b));this.textTrack_.mode="hidden"};shaka.text.SimpleTextDisplayer.prototype.configure=function(a){};
1113
+ shaka.text.Utils.removeDuplicates=function(a){var b=[],c={};a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;c={$jscomp$loop$prop$cue$924:c.$jscomp$loop$prop$cue$924},d=a.next())c.$jscomp$loop$prop$cue$924=d.value,b.some(function(e){return function(f){return shaka.text.Cue.equal(e.$jscomp$loop$prop$cue$924,f)}}(c))||b.push(c.$jscomp$loop$prop$cue$924);return b};
1114
+ shaka.text.Utils.mapShakaCueToNativeCue=function(a){if(a.startTime>=a.endTime)return shaka.log.warning("Invalid cue times: "+a.startTime+" - "+a.endTime),null;var b=shaka.text.Cue,c=new VTTCue(a.startTime,a.endTime,a.payload),d=function(e){for(var f=5381,g=e.length;g;)f=33*f^e.charCodeAt(--g);return(f>>>0).toString()};c.id=d(a.startTime.toString())+d(a.endTime.toString())+d(a.payload);c.lineAlign=a.lineAlign;c.positionAlign=a.positionAlign;a.size&&(c.size=a.size);try{c.align=a.textAlign}catch(e){}"center"==
1115
+ a.textAlign&&"center"!=c.align&&(c.align="middle");a.writingMode==b.writingMode.VERTICAL_LEFT_TO_RIGHT?c.vertical="lr":a.writingMode==b.writingMode.VERTICAL_RIGHT_TO_LEFT&&(c.vertical="rl");a.lineInterpretation==b.lineInterpretation.PERCENTAGE&&(c.snapToLines=!1);null!=a.line&&(c.line=a.line);null!=a.position&&(c.position=a.position);return c};shaka.text.SimpleTextDisplayer=function(a,b){this.textTrack_=null;for(var c=$jscomp.makeIterator(Array.from(a.textTracks)),d=c.next();!d.done;d=c.next())d=d.value,"metadata"!==d.kind&&"chapters"!==d.kind&&(d.mode="disabled",d.label==b&&(this.textTrack_=d));this.textTrack_||(this.textTrack_=a.addTextTrack("subtitles",b));this.textTrack_.mode="hidden"};shaka.text.SimpleTextDisplayer.prototype.configure=function(a){};
1114
1116
  shaka.text.SimpleTextDisplayer.prototype.remove=function(a,b){if(!this.textTrack_)return!1;shaka.text.SimpleTextDisplayer.removeWhere_(this.textTrack_,function(c){return c.startTime<b&&c.endTime>a});return!0};
1115
1117
  shaka.text.SimpleTextDisplayer.prototype.append=function(a){var b=shaka.text.Utils.getCuesToFlatten(a),c=[];a=this.textTrack_.cues?Array.from(this.textTrack_.cues):[];var d={};b=$jscomp.makeIterator(b);for(var e=b.next();!e.done;d={$jscomp$loop$prop$inCue$926:d.$jscomp$loop$prop$inCue$926},e=b.next())d.$jscomp$loop$prop$inCue$926=e.value,a.some(function(f){return function(g){return g.startTime==f.$jscomp$loop$prop$inCue$926.startTime&&g.endTime==f.$jscomp$loop$prop$inCue$926.endTime&&g.text==f.$jscomp$loop$prop$inCue$926.payload?
1116
- !0:!1}}(d))||(e=shaka.text.SimpleTextDisplayer.convertToTextTrackCue_(d.$jscomp$loop$prop$inCue$926))&&c.push(e);a=c.slice().sort(function(f,g){return f.startTime!=g.startTime?f.startTime-g.startTime:f.endTime!=g.endTime?f.endTime-g.startTime:"line"in VTTCue.prototype?c.indexOf(g)-c.indexOf(f):c.indexOf(f)-c.indexOf(g)});a=$jscomp.makeIterator(a);for(d=a.next();!d.done;d=a.next())this.textTrack_.addCue(d.value)};
1118
+ !0:!1}}(d))||(e=shaka.text.Utils.mapShakaCueToNativeCue(d.$jscomp$loop$prop$inCue$926))&&c.push(e);a=c.slice().sort(function(f,g){return f.startTime!=g.startTime?f.startTime-g.startTime:f.endTime!=g.endTime?f.endTime-g.startTime:"line"in VTTCue.prototype?c.indexOf(g)-c.indexOf(f):c.indexOf(f)-c.indexOf(g)});a=$jscomp.makeIterator(a);for(d=a.next();!d.done;d=a.next())this.textTrack_.addCue(d.value)};
1117
1119
  shaka.text.SimpleTextDisplayer.prototype.destroy=function(){this.textTrack_&&(shaka.text.SimpleTextDisplayer.removeWhere_(this.textTrack_,function(a){return!0}),this.textTrack_.mode="disabled");this.textTrack_=null;return Promise.resolve()};shaka.text.SimpleTextDisplayer.prototype.isTextVisible=function(){return"showing"==this.textTrack_.mode};shaka.text.SimpleTextDisplayer.prototype.setTextVisibility=function(a){this.textTrack_.mode=a?"showing":"hidden"};
1118
- shaka.text.SimpleTextDisplayer.convertToTextTrackCue_=function(a){if(a.startTime>=a.endTime)return shaka.log.warning("Invalid cue times: "+a.startTime+" - "+a.endTime),null;var b=shaka.text.Cue,c=new VTTCue(a.startTime,a.endTime,a.payload);c.lineAlign=a.lineAlign;c.positionAlign=a.positionAlign;a.size&&(c.size=a.size);try{c.align=a.textAlign}catch(d){}"center"==a.textAlign&&"center"!=c.align&&(c.align="middle");a.writingMode==b.writingMode.VERTICAL_LEFT_TO_RIGHT?c.vertical="lr":a.writingMode==b.writingMode.VERTICAL_RIGHT_TO_LEFT&&
1119
- (c.vertical="rl");a.lineInterpretation==b.lineInterpretation.PERCENTAGE&&(c.snapToLines=!1);null!=a.line&&(c.line=a.line);null!=a.position&&(c.position=a.position);return c};shaka.text.SimpleTextDisplayer.removeWhere_=function(a,b){var c=a.mode,d="showing"==c?"showing":"hidden";a.mode=d;goog.asserts.assert(a.cues,'Cues should be accessible when mode is set to "'+d+'".');d=$jscomp.makeIterator(Array.from(a.cues));for(var e=d.next();!e.done;e=d.next())(e=e.value)&&b(e)&&a.removeCue(e);a.mode=c};
1120
- goog.exportSymbol("shaka.text.SimpleTextDisplayer",shaka.text.SimpleTextDisplayer);goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"setTextVisibility",shaka.text.SimpleTextDisplayer.prototype.setTextVisibility);goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"isTextVisible",shaka.text.SimpleTextDisplayer.prototype.isTextVisible);goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"destroy",shaka.text.SimpleTextDisplayer.prototype.destroy);
1121
- goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"append",shaka.text.SimpleTextDisplayer.prototype.append);goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"remove",shaka.text.SimpleTextDisplayer.prototype.remove);goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"configure",shaka.text.SimpleTextDisplayer.prototype.configure);shaka.text.StubTextDisplayer=function(){};shaka.text.StubTextDisplayer.prototype.configure=function(a){};shaka.text.StubTextDisplayer.prototype.remove=function(a,b){};shaka.text.StubTextDisplayer.prototype.append=function(a){};shaka.text.StubTextDisplayer.prototype.destroy=function(){};shaka.text.StubTextDisplayer.prototype.isTextVisible=function(){return!1};shaka.text.StubTextDisplayer.prototype.setTextVisibility=function(a){};goog.exportSymbol("shaka.text.StubTextDisplayer",shaka.text.StubTextDisplayer);
1120
+ shaka.text.SimpleTextDisplayer.removeWhere_=function(a,b){var c=a.mode,d="showing"==c?"showing":"hidden";a.mode=d;goog.asserts.assert(a.cues,'Cues should be accessible when mode is set to "'+d+'".');d=$jscomp.makeIterator(Array.from(a.cues));for(var e=d.next();!e.done;e=d.next())(e=e.value)&&b(e)&&a.removeCue(e);a.mode=c};goog.exportSymbol("shaka.text.SimpleTextDisplayer",shaka.text.SimpleTextDisplayer);goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"setTextVisibility",shaka.text.SimpleTextDisplayer.prototype.setTextVisibility);
1121
+ goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"isTextVisible",shaka.text.SimpleTextDisplayer.prototype.isTextVisible);goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"destroy",shaka.text.SimpleTextDisplayer.prototype.destroy);goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"append",shaka.text.SimpleTextDisplayer.prototype.append);goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"remove",shaka.text.SimpleTextDisplayer.prototype.remove);
1122
+ goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"configure",shaka.text.SimpleTextDisplayer.prototype.configure);shaka.text.StubTextDisplayer=function(){};shaka.text.StubTextDisplayer.prototype.configure=function(a){};shaka.text.StubTextDisplayer.prototype.remove=function(a,b){};shaka.text.StubTextDisplayer.prototype.append=function(a){};shaka.text.StubTextDisplayer.prototype.destroy=function(){};shaka.text.StubTextDisplayer.prototype.isTextVisible=function(){return!1};shaka.text.StubTextDisplayer.prototype.setTextVisibility=function(a){};goog.exportSymbol("shaka.text.StubTextDisplayer",shaka.text.StubTextDisplayer);
1122
1123
  goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"setTextVisibility",shaka.text.StubTextDisplayer.prototype.setTextVisibility);goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"isTextVisible",shaka.text.StubTextDisplayer.prototype.isTextVisible);goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"destroy",shaka.text.StubTextDisplayer.prototype.destroy);goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"append",shaka.text.StubTextDisplayer.prototype.append);
1123
1124
  goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"remove",shaka.text.StubTextDisplayer.prototype.remove);goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"configure",shaka.text.StubTextDisplayer.prototype.configure);shaka.util.Dom=function(){};shaka.util.Dom.createHTMLElement=function(a){return document.createElement(a)};shaka.util.Dom.createButton=function(){var a=document.createElement("button");a.setAttribute("type","button");return a};shaka.util.Dom.asHTMLElement=function(a){return a};shaka.util.Dom.asHTMLCanvasElement=function(a){return a};shaka.util.Dom.asHTMLMediaElement=function(a){return a};
1124
1125
  shaka.util.Dom.getElementByClassName=function(a,b){b=b.getElementsByClassName(a);goog.asserts.assert(1==b.length,"Should only be one element with class name "+a);return shaka.util.Dom.asHTMLElement(b[0])};shaka.util.Dom.removeAllChildren=function(a){for(;a.firstChild;)a.removeChild(a.firstChild)};goog.exportSymbol("shaka.util.Dom",shaka.util.Dom);goog.exportProperty(shaka.util.Dom,"removeAllChildren",shaka.util.Dom.removeAllChildren);shaka.text.UITextDisplayer=function(a,b,c){var d=this;goog.asserts.assert(b,"videoContainer should be valid.");this.isTextVisible_=!1;this.cues_=[];this.video_=a;this.videoContainer_=b;this.aspectRatio_=null;this.textContainer_=shaka.util.Dom.createHTMLElement("div");this.textContainer_.classList.add("shaka-text-container");this.textContainer_.style.textAlign="center";this.textContainer_.style.display="flex";this.textContainer_.style.flexDirection="column";this.textContainer_.style.alignItems="center";
@@ -1325,9 +1326,10 @@ e.segmentIndex.find(b);if(null==f)return z.return(null);g=e.segmentIndex.get(f);
1325
1326
  imageHeight:l,imageWidth:k,height:n,positionX:y,positionY:u,startTime:t,duration:r,uris:g.getUris(),width:m,sprite:w})})};
1326
1327
  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
1328
  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().");var d=this.manifest_.variants.find(function(e){return e.id==a.id});d?shaka.util.StreamUtils.isPlayable(d)?(this.switchVariant_(d,!1,b,c),this.currentAdaptationSetCriteria_=
1329
- new shaka.media.ExampleBasedCriteria(d,this.config_.mediaSource.codecSwitchingStrategy,this.config_.manifest.dash.enableAudioGroups),this.updateAbrManagerVariants_()):shaka.log.error("Unable to switch to restricted track",a.id):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,shaka.util.StreamUtils.html5TrackId(c)==a.id){this.switchHtml5Track_(c);break}};
1330
- 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()))};shaka.Player.prototype.getTextLanguages=function(){return Array.from(shaka.Player.getLanguagesFrom_(this.getTextTracks()))};
1329
+ 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().");
1330
+ 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,
1331
+ 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()))};
1332
+ shaka.Player.prototype.getTextLanguages=function(){return Array.from(shaka.Player.getLanguagesFrom_(this.getTextTracks()))};
1331
1333
  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
1334
  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
1335
  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 +1446,7 @@ goog.exportProperty(shaka.Player.prototype,"resetConfiguration",shaka.Player.pro
1444
1446
  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
1447
  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
1448
  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.15-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_++};
1449
+ shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.9.17-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
1450
  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
1451
  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
1452
  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()};
@@ -1688,8 +1690,8 @@ shaka.cea.CeaUtils.getParsedCaption=function(a,b,c,d,e){if(d>=e)return null;for(
1688
1690
  " ";n.payload&&a.nestedCues.push(n);f!==g&&(n=shaka.cea.CeaUtils.createLineBreakCue(d,e),a.nestedCues.push(n));n=shaka.cea.CeaUtils.createStyledCue(d,e,h,k,l,m)}}return a.nestedCues.length?{cue:a,stream:b}:null};shaka.cea.CeaUtils.createStyledCue=function(a,b,c,d,e,f){a=new shaka.text.Cue(a,b,"");c&&a.textDecoration.push(shaka.text.Cue.textDecoration.UNDERLINE);d&&(a.fontStyle=shaka.text.Cue.fontStyle.ITALIC);a.color=e;a.backgroundColor=f;return a};
1689
1691
  shaka.cea.CeaUtils.createLineBreakCue=function(a,b){a=new shaka.text.Cue(a,b,"");a.lineBreak=!0;return a};shaka.cea.CeaUtils.StyledChar=function(a,b,c,d,e){this.character_=a;this.underline_=b;this.italics_=c;this.backgroundColor_=d;this.textColor_=e};shaka.cea.CeaUtils.StyledChar.prototype.getChar=function(){return this.character_};shaka.cea.CeaUtils.StyledChar.prototype.isUnderlined=function(){return this.underline_};shaka.cea.CeaUtils.StyledChar.prototype.isItalicized=function(){return this.italics_};
1690
1692
  shaka.cea.CeaUtils.StyledChar.prototype.getBackgroundColor=function(){return this.backgroundColor_};shaka.cea.CeaUtils.StyledChar.prototype.getTextColor=function(){return this.textColor_};shaka.cea.CeaUtils.DEFAULT_BG_COLOR="black";shaka.cea.CeaUtils.DEFAULT_TXT_COLOR="white";shaka.cea.CeaUtils.H264_NALU_TYPE_SEI=6;shaka.cea.CeaUtils.H265_PREFIX_NALU_TYPE_SEI=39;shaka.cea.CeaUtils.H265_SUFFIX_NALU_TYPE_SEI=40;shaka.cea.CeaUtils.DEFAULT_TIMESCALE_VALUE=9E4;shaka.cea.Cea608Memory=function(a,b){this.rows_=[];this.row_=1;this.scrollRows_=0;this.fieldNum_=a;this.channelNum_=b;this.italics_=this.underline_=!1;this.textColor_=shaka.cea.CeaUtils.DEFAULT_TXT_COLOR;this.backgroundColor_=shaka.cea.CeaUtils.DEFAULT_BG_COLOR;this.reset()};
1691
- shaka.cea.Cea608Memory.prototype.forceEmit=function(a,b){var c="CC"+((this.fieldNum_<<1|this.channelNum_)+1),d=new shaka.text.Cue(a,b,"");d.lineInterpretation=shaka.text.Cue.lineInterpretation.PERCENTAGE;var e=shaka.cea.Cea608Memory.ROW_TO_LINE_CONVERSION_.get(this.row_);e&&(d.line=e);return shaka.cea.CeaUtils.getParsedCaption(d,c,this.rows_,a,b)};shaka.cea.Cea608Memory.prototype.reset=function(){this.resetAllRows();this.row_=1};shaka.cea.Cea608Memory.prototype.getRow=function(){return this.row_};
1692
- shaka.cea.Cea608Memory.prototype.setRow=function(a){this.row_=a};shaka.cea.Cea608Memory.prototype.getScrollSize=function(){return this.scrollRows_};shaka.cea.Cea608Memory.prototype.setScrollSize=function(a){this.scrollRows_=a};
1693
+ shaka.cea.Cea608Memory.prototype.forceEmit=function(a,b){var c=shaka.cea.Cea608Memory,d="CC"+((this.fieldNum_<<1|this.channelNum_)+1),e=new shaka.text.Cue(a,b,"");e.lineInterpretation=shaka.text.Cue.lineInterpretation.PERCENTAGE;var f=c.ROW_TO_LINE_CONVERSION_.get(this.row_);f&&(e.line=f);(a=shaka.cea.CeaUtils.getParsedCaption(e,d,this.rows_,a,b))&&15<this.row_+a.cue.nestedCues.length-3&&(f=c.ROW_TO_LINE_CONVERSION_.get(this.row_+3-a.cue.nestedCues.length))&&(e.line=f);return a};
1694
+ shaka.cea.Cea608Memory.prototype.reset=function(){this.resetAllRows();this.row_=1};shaka.cea.Cea608Memory.prototype.getRow=function(){return this.row_};shaka.cea.Cea608Memory.prototype.setRow=function(a){this.row_=a};shaka.cea.Cea608Memory.prototype.getScrollSize=function(){return this.scrollRows_};shaka.cea.Cea608Memory.prototype.setScrollSize=function(a){this.scrollRows_=a};
1693
1695
  shaka.cea.Cea608Memory.prototype.addChar=function(a,b){if(!(32>b||127<b)){var c="";switch(a){case shaka.cea.Cea608Memory.CharSet.BASIC_NORTH_AMERICAN:c=shaka.cea.Cea608Memory.CharSet.BasicNorthAmericanChars.has(b)?shaka.cea.Cea608Memory.CharSet.BasicNorthAmericanChars.get(b):String.fromCharCode(b);break;case shaka.cea.Cea608Memory.CharSet.SPECIAL_NORTH_AMERICAN:c=shaka.cea.Cea608Memory.CharSet.SpecialNorthAmericanChars.get(b);break;case shaka.cea.Cea608Memory.CharSet.SPANISH_FRENCH:this.eraseChar();
1694
1696
  c=shaka.cea.Cea608Memory.CharSet.ExtendedSpanishFrench.get(b);break;case shaka.cea.Cea608Memory.CharSet.PORTUGUESE_GERMAN:this.eraseChar(),c=shaka.cea.Cea608Memory.CharSet.ExtendedPortugueseGerman.get(b)}c&&(a=new shaka.cea.CeaUtils.StyledChar(c,this.underline_,this.italics_,this.backgroundColor_,this.textColor_),this.rows_[this.row_].push(a))}};shaka.cea.Cea608Memory.prototype.eraseChar=function(){this.rows_[this.row_].pop()};
1695
1697
  shaka.cea.Cea608Memory.prototype.moveRows=function(a,b,c){if(!(0>b||0>a))if(a>=b)for(--c;0<=c;c--)this.rows_[a+c]=this.rows_[b+c].map(function(e){return e});else for(var d=0;d<c;d++)this.rows_[a+d]=this.rows_[b+d].map(function(e){return e})};shaka.cea.Cea608Memory.prototype.resetRows=function(a,b){for(var c=0;c<=b;c++)this.rows_[a+c]=[]};shaka.cea.Cea608Memory.prototype.resetAllRows=function(){this.resetRows(0,shaka.cea.Cea608Memory.CC_ROWS)};
@@ -2136,20 +2138,20 @@ shaka.hls.HlsParser.prototype.createStreamInfosFromMediaTags_=function(a,b){a=a.
2136
2138
  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
2139
  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
2140
  $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,L),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,
2140
- g,h)));return V.return(D.filter(function(R){return null!=R}))}})};
2141
- shaka.hls.HlsParser.prototype.createStreamInfosForVariantTags_=function(a,b,c,d,e){d=shaka.util.ManifestParserUtils.ContentType;c={audio:[],video:[]};for(var f=new Map,g=[],h=!1,k=!1,l=$jscomp.makeIterator(a),m=l.next();!m.done;m=l.next()){m=m.value;var n=m.getAttributeValue("AUDIO"),p=m.getAttributeValue("VIDEO");goog.asserts.assert(null==n||null==p,"Unexpected: both video and audio described by media tags!");var q=n||p;if(q){g.includes(q)||g.push(q);var r=m.getAttributeValue("PATHWAY-ID");r&&f.set(q,
2142
- r);n?h=!0:p&&(k=!0);shaka.log.debug("Guessing stream type for",m.toString())}}g.length&&b.length&&(l=b.filter(function(y){return g.includes(y.getRequiredAttrValue("GROUP-ID"))}),this.createStreamInfosFromMediaTags_(l,f));l=(f=g.sort().join(","))&&this.groupIdToStreamInfosMap_.has(f)?this.groupIdToStreamInfosMap_.get(f):[];h?c.audio.push.apply(c.audio,$jscomp.arrayFromIterable(l)):k&&c.video.push.apply(c.video,$jscomp.arrayFromIterable(l));k=!1;var t=a.map(function(y){return y.getRequiredAttrValue("URI")});
2143
- p=c.audio.find(function(y){return y&&y.getUris().find(function(u){return t.includes(u)})});h=this.getCodecsForVariantTag_(a[0]);m=shaka.util.ManifestParserUtils.guessCodecsSafe(d.VIDEO,h);(n=shaka.util.ManifestParserUtils.guessCodecsSafe(d.AUDIO,h))&&!m?(d=d.AUDIO,shaka.log.debug("Guessing audio-only."),k=0<c.audio.length):!c.audio.length&&!c.video.length&&n&&m?(shaka.log.debug("Guessing multiplexed audio+video."),d=d.VIDEO,h=[[m,n].join()]):c.audio.length&&p?(shaka.log.debug("Guessing audio-only."),
2144
- d=d.AUDIO,k=!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);k||(n=m=k=null,p=!1,r=q=null,!l.length&&(b=b.find(function(y){var u=y.getAttributeValue("URI")||"",x=y.getAttributeValue("TYPE");y=y.getRequiredAttrValue("GROUP-ID");return"SUBTITLES"!=x&&""==u&&g.includes(y)}))&&(k=b.getAttributeValue("LANGUAGE"),m=b.getAttributeValue("NAME"),n=this.getChannelsCount_(b),p=this.isSpatialAudio_(b),q=b.getAttributeValue("CHARACTERISTICS"),
2145
- r=this.getSampleRate_(b)),a=this.createStreamInfoFromVariantTags_(a,h,d,k,m,n,q,r,p),f&&(a.stream.groupId=f),l.length||(a.stream.bandwidth=e),c[a.stream.type]=[a]);return c};
2141
+ 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,
2142
+ h)));return V.return(D.filter(function(R){return null!=R}))}})};
2143
+ 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,
2144
+ 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")});
2145
+ 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."),
2146
+ 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"),
2147
+ 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
2148
  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
2149
  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
2150
  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
2151
  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
2152
  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||g.type==m.AUDIO,"Audio parameter mismatch!"),
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};
2153
+ 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||
2154
+ 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
2155
  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
2156
  "svc");this.groupIdToClosedCaptionsMap_.get(d)||this.groupIdToClosedCaptionsMap_.set(d,new Map);this.groupIdToClosedCaptionsMap_.get(d).set(c,b)}};
2155
2157
  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=