shaka-player 4.11.16 → 4.11.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/locales.js +35 -35
- package/dist/shaka-player.compiled.debug.js +48 -47
- package/dist/shaka-player.compiled.debug.map +3 -3
- package/dist/shaka-player.compiled.js +553 -551
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.debug.js +329 -328
- package/dist/shaka-player.ui.debug.map +3 -3
- package/dist/shaka-player.ui.js +615 -612
- package/dist/shaka-player.ui.map +3 -3
- package/lib/media/drm_engine.js +15 -17
- package/lib/media/manifest_filterer.js +2 -1
- package/lib/offline/storage.js +1 -1
- package/lib/player.js +3 -10
- package/lib/util/mime_utils.js +3 -0
- package/lib/util/object_utils.js +83 -0
- package/lib/util/platform.js +48 -40
- package/lib/util/stream_utils.js +54 -70
- package/package.json +1 -1
- package/ui/ad_counter.js +5 -0
- package/ui/controls.js +0 -2
package/dist/locales.js
CHANGED
|
@@ -912,51 +912,51 @@ shaka.ui.Locales.addTo = function(localization) {
|
|
|
912
912
|
* @const
|
|
913
913
|
*/
|
|
914
914
|
shaka.ui.Locales.Ids = {
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
RESOLUTION: 'RESOLUTION',
|
|
915
|
+
QUALITY: 'QUALITY',
|
|
916
|
+
AD_DURATION: 'AD_DURATION',
|
|
917
|
+
CAST: 'CAST',
|
|
919
918
|
AD_TIME: 'AD_TIME',
|
|
920
919
|
MORE_SETTINGS: 'MORE_SETTINGS',
|
|
921
|
-
|
|
922
|
-
CAST: 'CAST',
|
|
923
|
-
SUBTITLE_FORCED: 'SUBTITLE_FORCED',
|
|
924
|
-
LOOP: 'LOOP',
|
|
920
|
+
PLAYBACK_RATE: 'PLAYBACK_RATE',
|
|
925
921
|
SKIP_TO_LIVE: 'SKIP_TO_LIVE',
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
922
|
+
AIRPLAY: 'AIRPLAY',
|
|
923
|
+
SKIP_AD: 'SKIP_AD',
|
|
924
|
+
SUBTITLE_FORCED: 'SUBTITLE_FORCED',
|
|
925
|
+
LANGUAGE: 'LANGUAGE',
|
|
926
|
+
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
930
927
|
UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
|
|
931
|
-
|
|
932
|
-
|
|
928
|
+
VOLUME: 'VOLUME',
|
|
929
|
+
TOGGLE_STEREOSCOPIC: 'TOGGLE_STEREOSCOPIC',
|
|
930
|
+
FAST_FORWARD: 'FAST_FORWARD',
|
|
933
931
|
REPLAY: 'REPLAY',
|
|
934
|
-
SKIP_AD: 'SKIP_AD',
|
|
935
|
-
AIRPLAY: 'AIRPLAY',
|
|
936
|
-
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
937
|
-
QUALITY: 'QUALITY',
|
|
938
932
|
AUTO_QUALITY: 'AUTO_QUALITY',
|
|
933
|
+
PAUSE: 'PAUSE',
|
|
934
|
+
FULL_SCREEN: 'FULL_SCREEN',
|
|
939
935
|
CHAPTERS: 'CHAPTERS',
|
|
940
|
-
|
|
936
|
+
STATISTICS: 'STATISTICS',
|
|
937
|
+
SEEK: 'SEEK',
|
|
938
|
+
LOOP: 'LOOP',
|
|
939
|
+
LIVE: 'LIVE',
|
|
940
|
+
SURROUND: 'SURROUND',
|
|
941
941
|
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
|
|
942
|
-
|
|
943
|
-
AD_DURATION: 'AD_DURATION',
|
|
944
|
-
CAPTIONS: 'CAPTIONS',
|
|
945
|
-
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
|
|
946
|
-
OFF: 'OFF',
|
|
942
|
+
RECENTER_VR: 'RECENTER_VR',
|
|
947
943
|
DOWNLOAD_VIDEO_FRAME: 'DOWNLOAD_VIDEO_FRAME',
|
|
948
|
-
|
|
949
|
-
|
|
944
|
+
NOT_APPLICABLE: 'NOT_APPLICABLE',
|
|
945
|
+
PLAY: 'PLAY',
|
|
946
|
+
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
947
|
+
OFF: 'OFF',
|
|
948
|
+
RESOLUTION: 'RESOLUTION',
|
|
950
949
|
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
951
|
-
LANGUAGE: 'LANGUAGE',
|
|
952
|
-
UNMUTE: 'UNMUTE',
|
|
953
|
-
SURROUND: 'SURROUND',
|
|
954
|
-
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
955
950
|
ON: 'ON',
|
|
956
|
-
FULL_SCREEN: 'FULL_SCREEN',
|
|
957
|
-
RECENTER_VR: 'RECENTER_VR',
|
|
958
|
-
PLAYBACK_RATE: 'PLAYBACK_RATE',
|
|
959
|
-
MUTE: 'MUTE',
|
|
960
951
|
REWIND: 'REWIND',
|
|
961
|
-
|
|
952
|
+
CAPTIONS: 'CAPTIONS',
|
|
953
|
+
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
|
|
954
|
+
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
|
|
955
|
+
AD_PROGRESS: 'AD_PROGRESS',
|
|
956
|
+
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
|
|
957
|
+
UNMUTE: 'UNMUTE',
|
|
958
|
+
BACK: 'BACK',
|
|
959
|
+
AD_STATISTICS: 'AD_STATISTICS',
|
|
960
|
+
MUTE: 'MUTE',
|
|
961
|
+
EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
|
|
962
962
|
};
|
|
@@ -202,13 +202,13 @@ shaka.util.Platform.isSmartTV=function(){var a=shaka.util.Platform;return a.isTi
|
|
|
202
202
|
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_};
|
|
203
203
|
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};
|
|
204
204
|
shaka.util.Platform.supportsSmoothCodecSwitching=function(){var a=shaka.util.Platform;return a.isTizen()||a.isPS4()||a.isPS5()||a.isWebOS6()||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};shaka.util.Platform.isMediaKeysPolyfilled=function(a){return a?a===window.shakaMediaKeysPolyfill:!!window.shakaMediaKeysPolyfill};
|
|
205
|
-
shaka.util.Platform.detectMaxHardwareResolution=function(){var a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){switch(u.nextAddress){case 1:a=shaka.util.Platform;b={width:Infinity,height:Infinity};if(a.isChromecast()){p=window.cast&&cast.__platform__&&cast.__platform__.canDisplayType;b.width=1280;b.height=720;u.setCatchFinallyBlocks(
|
|
206
|
-
|
|
207
|
-
break}if(a.
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
shaka.log.alwaysWarn("PlayStation: Failed to get the display info:",n);case
|
|
211
|
-
shaka.log.alwaysError("Failed to check canDisplayType:",t);case 3:return u.return(b)}})};shaka.util.Platform.cacheExpirationTimer_=null;shaka.util.Platform.cachedMediaElement_=null;shaka.util.StringUtils=function(){};
|
|
205
|
+
shaka.util.Platform.detectMaxHardwareResolution=function(){var a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){switch(u.nextAddress){case 1:a=shaka.util.Platform;b={width:Infinity,height:Infinity};if(a.isChromecast()){p=window.cast&&cast.__platform__&&cast.__platform__.canDisplayType;b.width=1280;b.height=720;u.setCatchFinallyBlocks(14);if(!(q=p)){u.jumpTo(16);break}return u.yield(cast.__platform__.canDisplayType('video/mp4; codecs="avc1.640028"; width=3840; height=2160'),
|
|
206
|
+
17)}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(v){shaka.log.alwaysWarn("Tizen: Error detecting screen size, default screen size 1920x1080.")}u.jumpTo(3);
|
|
207
|
+
break}if(a.isWebOS()){try{d=JSON.parse(window.PalmSystem.deviceInfo),b.width=Math.max(1920,d.screenWidth),b.height=Math.max(1080,d.screenHeight)}catch(v){shaka.log.alwaysWarn("WebOS: Error detecting screen size, default screen size 1920x1080."),b.width=1920,b.height=1080}u.jumpTo(3);break}if(a.isHisense()){window.Hisense_Get4KSupportState&&window.Hisense_Get4KSupportState()?(b.width=3840,b.height=2160):(b.width=1920,b.height=1080);u.jumpTo(3);break}if(!a.isPS4()&&!a.isPS5()){e=void 0;try{e="undefined"!==
|
|
208
|
+
typeof Windows?Windows:chrome.webview.hostObjects.sync.Windows}catch(v){}if(e){b.width=1920;b.height=1080;try{f=new e.Media.Protection.ProtectionCapabilities;g=e.Media.Protection.ProtectionCapabilityResult;h=null;do h=f.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(h===g.maybe);h===g.probably&&(b.width=
|
|
209
|
+
3840,b.height=2160)}catch(v){shaka.log.alwaysWarn("Xbox: Error detecting screen size, default screen size 1920x1080.")}}else a.isXboxOne()&&(b.width=1920,b.height=1080,shaka.log.alwaysWarn("Xbox: Error detecting screen size, default screen size 1920x1080."));u.jumpTo(3);break}k=!1;u.setCatchFinallyBlocks(8);return u.yield(window.msdk.device.getDisplayInfo(),10);case 10:l=u.yieldResult;k="4K"===l.resolution;u.leaveTryBlock(9);break;case 8:return u.enterCatchBlock(),u.setCatchFinallyBlocks(11),u.yield(window.msdk.device.getDisplayInfoImmediate(),
|
|
210
|
+
13);case 13:m=u.yieldResult;k="4K"===m.resolution;u.leaveTryBlock(9);break;case 11:n=u.enterCatchBlock(),shaka.log.alwaysWarn("PlayStation: Failed to get the display info:",n);case 9:k?(b.width=3840,b.height=2160):(b.width=1920,b.height=1080);u.jumpTo(3);break;case 17:q=u.yieldResult;case 16:if(q){b.width=3840;b.height=2160;u.jumpTo(18);break}if(!(r=p)){u.jumpTo(19);break}return u.yield(cast.__platform__.canDisplayType('video/mp4; codecs="avc1.640028"; width=1920; height=1080'),20);case 20:r=u.yieldResult;
|
|
211
|
+
case 19:r&&(b.width=1920,b.height=1080);case 18:u.leaveTryBlock(3);break;case 14:t=u.enterCatchBlock(),shaka.log.alwaysError("Failed to check canDisplayType:",t);case 3:return u.return(b)}})};shaka.util.Platform.cacheExpirationTimer_=null;shaka.util.Platform.cachedMediaElement_=null;shaka.util.StringUtils=function(){};
|
|
212
212
|
shaka.util.StringUtils.fromUTF8=function(a){if(!a)return"";a=shaka.util.BufferUtils.toUint8(a);239==a[0]&&187==a[1]&&191==a[2]&&(a=a.subarray(3));if(window.TextDecoder&&!shaka.util.Platform.isPS4())return a=(new TextDecoder).decode(a),a.includes("\ufffd")&&shaka.log.alwaysError('Decoded string contains an "unknown character" codepoint. That probably means the UTF8 encoding was incorrect!'),a;for(var b="",c=0;c<a.length;++c){var d=65533;0==(a[c]&128)?d=a[c]:a.length>=c+2&&192==(a[c]&224)&&128==(a[c+
|
|
213
213
|
1]&192)?(d=(a[c]&31)<<6|a[c+1]&63,c+=1):a.length>=c+3&&224==(a[c]&240)&&128==(a[c+1]&192)&&128==(a[c+2]&192)?(d=(a[c]&15)<<12|(a[c+1]&63)<<6|a[c+2]&63,c+=2):a.length>=c+4&&240==(a[c]&241)&&128==(a[c+1]&192)&&128==(a[c+2]&192)&&128==(a[c+3]&192)&&(d=(a[c]&7)<<18|(a[c+1]&63)<<12|(a[c+2]&63)<<6|a[c+3]&63,c+=3);if(65535>=d)b+=String.fromCharCode(d);else{d-=65536;var e=d&1023;b+=String.fromCharCode(55296+(d>>10));b+=String.fromCharCode(56320+e)}}return b};
|
|
214
214
|
shaka.util.StringUtils.fromUTF16=function(a,b,c){if(!a)return"";if(!c&&0!=a.byteLength%2)throw shaka.log.error("Data has an incorrect length, must be even."),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.BAD_ENCODING);c=Math.floor(a.byteLength/2);var d=new Uint16Array(c);a=shaka.util.BufferUtils.toDataView(a);for(var e=0;e<c;e++)d[e]=a.getUint16(2*e,b);return shaka.util.StringUtils.fromCharCode(d)};
|
|
@@ -224,7 +224,9 @@ g)}return e}}(b);goog.asserts.assert(!1,"Unable to create a fromCharCode method"
|
|
|
224
224
|
shaka.util.TextParser.prototype.readRegex=function(a){a=this.indexOf_(a);if(this.atEnd()||null==a||a.position!=this.position_)return null;this.position_+=a.length;return a.results};shaka.util.TextParser.prototype.readRegexReturnCapture_=function(a,b){return this.atEnd()?null:(a=this.readRegex(a))?a[b]:null};
|
|
225
225
|
shaka.util.TextParser.prototype.indexOf_=function(a){goog.asserts.assert(a.global,"global flag should be set");a.lastIndex=this.position_;a=a.exec(this.data_);return null==a?null:{position:a.index,length:a[0].length,results:a}};shaka.util.TextParser.prototype.parseTime=function(){var a=this.readRegex(shaka.util.TextParser.timeFormat_);if(null==a)return null;var b=Number(a[2]),c=Number(a[3]);return 59<b||59<c?null:(Number(a[6])||0)/1E3+c+60*b+3600*(Number(a[1])||0)};
|
|
226
226
|
shaka.util.TextParser.parseTime=function(a){return a?(new shaka.util.TextParser(a)).parseTime():null};shaka.util.TextParser.timeFormat_=/(?:(\d{1,}):)?(\d{2}):(\d{2})((\.(\d{1,3})))?/g;shaka.util.ObjectUtils=function(){};shaka.util.ObjectUtils.cloneObject=function(a){var b=new WeakSet,c=function(d){switch(typeof d){case "undefined":case "boolean":case "number":case "string":case "symbol":case "function":return d;default:if(!d||ArrayBuffer.isView(d))return d;if(b.has(d))return null;var e=d.constructor==Array;if(d.constructor!=Object&&!e)return null;b.add(d);var f=e?[]:{},g;for(g in d)f[g]=c(d[g]);e&&(f.length=d.length);return f}};return c(a)};
|
|
227
|
-
shaka.util.ObjectUtils.shallowCloneObject=function(a){var b={},c;for(c in a)b[c]=a[c];return b}
|
|
227
|
+
shaka.util.ObjectUtils.shallowCloneObject=function(a){var b={},c;for(c in a)b[c]=a[c];return b};shaka.util.ObjectUtils.alphabeticalKeyOrderStringify=function(a){return Array.isArray(a)?shaka.util.ObjectUtils.arrayStringify_(a):"function"==typeof a?"":a instanceof Object?shaka.util.ObjectUtils.objectStringify_(a):JSON.stringify(a)};
|
|
228
|
+
shaka.util.ObjectUtils.objectStringify_=function(a){var b=Object.keys(a);b.sort();var c=[];b=$jscomp.makeIterator(b);for(var d=b.next();!d.done;d=b.next()){var e=d.value;d=JSON.stringify(e);e=a[e];void 0!==e&&(e=shaka.util.ObjectUtils.alphabeticalKeyOrderStringify(e))&&c.push(d+":"+e)}return"{"+c.join(",")+"}"};
|
|
229
|
+
shaka.util.ObjectUtils.arrayStringify_=function(a){for(var b=[],c=0;c<a.length;c++){var d=c.toString(),e=a[c];void 0!==e&&(e=shaka.util.ObjectUtils.alphabeticalKeyOrderStringify(e))&&b.push(d+":"+e)}return"["+b.join(",")+"]"};/*
|
|
228
230
|
@license
|
|
229
231
|
tXml
|
|
230
232
|
Copyright 2015 Tobias Nickel
|
|
@@ -317,7 +319,7 @@ shaka.util.ManifestParserUtils.TEXT_CODEC_REGEXPS_=[/^vtt$/,/^wvtt/,/^stpp/];sha
|
|
|
317
319
|
shaka.util.MimeUtils.getFullOrConvertedType=function(a,b,c){var d=shaka.util.MimeUtils,e=d.getFullType(a,b);b=d.getFullTypeWithAllCodecs(a,b);d=shaka.util.ManifestParserUtils.ContentType;var f=shaka.transmuxer.TransmuxerEngine;return f.isSupported(b,c)?f.convertCodecs(c,b):"video/mp2t"!=a&&c==d.AUDIO?e.replace("video","audio"):e};
|
|
318
320
|
shaka.util.MimeUtils.getExtendedType=function(a,b,c){var d=[b];shaka.util.MimeUtils.EXTENDED_MIME_PARAMETERS_.forEach(function(e,f){var g=a[f];"codecs"==f?shaka.util.MimeUtils.RAW_FORMATS.includes(a.mimeType)||d.push('codecs="'+c+'"'):g&&d.push(e+'="'+g+'"')});"PQ"==a.hdr&&d.push('eotf="smpte2084"');return d.join(";")};shaka.util.MimeUtils.getContainerType=function(a){return a.split(";")[0].split("/")[1]};shaka.util.MimeUtils.splitCodecs=function(a){return a.split(",")};
|
|
319
321
|
shaka.util.MimeUtils.getNormalizedCodec=function(a){var b=shaka.util.MimeUtils.getCodecParts_(a);a=b[0];b=b[1].toLowerCase();switch(!0){case "mp4a"===a&&"69"===b:case "mp4a"===a&&"6b"===b:case "mp4a"===a&&"40.34"===b:return"mp3";case "mp4a"===a&&"66"===b:case "mp4a"===a&&"67"===b:case "mp4a"===a&&"68"===b:case "mp4a"===a&&"40.2"===b:case "mp4a"===a&&"40.02"===b:case "mp4a"===a&&"40.5"===b:case "mp4a"===a&&"40.05"===b:case "mp4a"===a&&"40.29"===b:case "mp4a"===a&&"40.42"===b:return"aac";case "mp4a"===
|
|
320
|
-
a&&"a5"===b:return"ac-3";case "mp4a"===a&&"a6"===b:return"ec-3";case "mp4a"===a&&"b2"===b:return"dtsx";case "mp4a"===a&&"a9"===b:return"dtsc";case "vp09"===a:return"vp9";case "avc1"===a:case "avc3"===a:return"avc";case "hvc1"===a:case "hev1"===a:return"hevc";case "vvc1"===a:case "vvi1"===a:return"vvc";case "dvh1"===a:case "dvhe"===a:return"dovi-hevc";case "dvav"===a:case "dva1"===a:return"dovi-avc";case "dav1"===a:return"dovi-av1";case "dvc1"===a:case "dvi1"===a:return"dovi-vvc"}return a};
|
|
322
|
+
a&&"a5"===b:return"ac-3";case "mp4a"===a&&"a6"===b:return"ec-3";case "mp4a"===a&&"b2"===b:return"dtsx";case "mp4a"===a&&"a9"===b:return"dtsc";case "vp09"===a:return"vp9";case "avc1"===a:case "avc3"===a:return"avc";case "hvc1"===a:case "hev1"===a:return"hevc";case "vvc1"===a:case "vvi1"===a:return"vvc";case "dvh1"===a:case "dvhe"===a:return b&&b.startsWith("05")?"dovi-p5":"dovi-hevc";case "dvav"===a:case "dva1"===a:return"dovi-avc";case "dav1"===a:return"dovi-av1";case "dvc1"===a:case "dvi1"===a:return"dovi-vvc"}return a};
|
|
321
323
|
shaka.util.MimeUtils.getCodecBase=function(a){var b=[];a=$jscomp.makeIterator(a.split(","));for(var c=a.next();!c.done;c=a.next())c=shaka.util.MimeUtils.getCodecParts_(c.value),b.push(c[0]);return b.sort().join(",")};shaka.util.MimeUtils.getBasicType=function(a){return a.split(";")[0]};shaka.util.MimeUtils.getCodecs=function(a){a=a.split(/ *; */);a.shift();return(a=a.find(function(b){return b.startsWith("codecs=")}))?a.split("=")[1].replace(/^"|"$/g,""):""};
|
|
322
324
|
shaka.util.MimeUtils.isHlsType=function(a){return"application/x-mpegurl"===a||"application/vnd.apple.mpegurl"===a};shaka.util.MimeUtils.getCodecParts_=function(a){var b=a.split(".");a=b[0];b.shift();b=b.join(".");return[a,b]};goog.exportSymbol("shaka.util.MimeUtils",shaka.util.MimeUtils);goog.exportProperty(shaka.util.MimeUtils,"getFullTypeWithAllCodecs",shaka.util.MimeUtils.getFullTypeWithAllCodecs);goog.exportProperty(shaka.util.MimeUtils,"getFullType",shaka.util.MimeUtils.getFullType);
|
|
323
325
|
shaka.util.MimeUtils.EXTENDED_MIME_PARAMETERS_=(new Map).set("codecs","codecs").set("frameRate","framerate").set("bandwidth","bitrate").set("width","width").set("height","height").set("channelsCount","channels");shaka.util.MimeUtils.CEA608_CLOSED_CAPTION_MIMETYPE="application/cea-608";shaka.util.MimeUtils.CEA708_CLOSED_CAPTION_MIMETYPE="application/cea-708";shaka.util.MimeUtils.RAW_FORMATS=["audio/aac","audio/ac3","audio/ec3","audio/mpeg"];shaka.text.TextEngine=function(a){this.parser_=null;this.displayer_=a;this.segmentRelativeVttTiming_=!1;this.appendWindowStart_=this.timestampOffset_=0;this.appendWindowEnd_=Infinity;this.bufferEnd_=this.bufferStart_=null;this.selectedClosedCaptionId_="";this.modifyCueCallback_=function(b,c){};this.closedCaptionsMap_=new Map};shaka.text.TextEngine.registerParser=function(a,b){shaka.text.TextEngine.parserMap_[a]=b};shaka.text.TextEngine.unregisterParser=function(a){delete shaka.text.TextEngine.parserMap_[a]};
|
|
@@ -354,25 +356,24 @@ shaka.util.LanguageUtils.isoMap_=new Map([["aar","aa"],["abk","ab"],["afr","af"]
|
|
|
354
356
|
"uz"],["ven","ve"],["vie","vi"],["vol","vo"],["wel","cy"],["wln","wa"],["wol","wo"],["xho","xh"],["yid","yi"],["yor","yo"],["zha","za"],["zho","zh"],["zul","zu"]]);shaka.util.StreamUtils=function(){};
|
|
355
357
|
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;g=$jscomp.makeIterator(g);for(c=g.next();!c.done;c=g.next())c=c.value,b.push(String(c.video.width||0),c);var h=[];b.forEach(function(u,v){u=0;var w=[];v=$jscomp.makeIterator(v);for(var x=v.next(),z={};!x.done;z={variant$jscomp$3:void 0},x=v.next())z.variant$jscomp$3=x.value,
|
|
356
358
|
x=d.filter(function(B){return function(D){return B.variant$jscomp$3.decodingInfos[0][D]}}(z)).length,x>u?(u=x,w=[z.variant$jscomp$3]):x==u&&w.push(z.variant$jscomp$3);h.push.apply(h,$jscomp.arrayFromIterable(w))});g=h}c=new Set;b=new Set;g=$jscomp.makeIterator(g);for(e=g.next();!e.done;e=g.next())e=e.value,e.audio&&c.add(e.audio),e.video&&b.add(e.video);c=Array.from(c).sort(function(u,v){return u.bandwidth-v.bandwidth});var k=[];g=new Map;c=$jscomp.makeIterator(c);for(e=c.next();!e.done;e=c.next()){e=
|
|
357
|
-
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)}var r={vp8:1,avc:1,"dovi-avc":.95,vp9:.9,vp09:.9,hevc:.85,"dovi-hevc":.8,
|
|
358
|
-
!v.bandwidth||u.bandwidth==v.bandwidth){if(u.codecs&&v.codecs&&u.codecs!=v.codecs&&u.width==v.width){var w=f.getNormalizedCodec(u.codecs),x=f.getNormalizedCodec(v.codecs);if(w!=x)return(r[w]||1)-(r[x]||1)}return u.width-v.width}return u.bandwidth-v.bandwidth});b=shaka.media.Capabilities.isChangeTypeSupported();var t=[];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=
|
|
359
|
-
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),t.push(e.id)):e.width==n.width&&e.height==n.height&&(p=f.getNormalizedCodec(n.codecs),q=f.getNormalizedCodec(e.codecs),p!=q||e.bandwidth&&n.bandwidth&&!(e.bandwidth>n.bandwidth)||(m.push(e),t.push(e.id)))}else m.push(e),t.push(e.id);g.set(l,m)}a.variants=a.variants.filter(function(u){var v=u.audio,w=u.video;return v&&!k.includes(v.id)||w&&!t.includes(w.id)?
|
|
360
|
-
u),!1):!0})};
|
|
361
|
-
shaka.util.StreamUtils.choosePreferredCodecs=function(a,b,c){b=$jscomp.makeIterator(b);for(var d=b.next(),e={};!d.done;e={videoCodec$jscomp$4:void 0},d=b.next())if(e.videoCodec$jscomp$4=d.value,d=a.filter(function(f){return function(g){return g.video&&g.video.codecs.startsWith(f.videoCodec$jscomp$4)}}(e)),d.length){a=d;break}c=$jscomp.makeIterator(c);b=c.next();for(d={};!b.done;d={audioCodec$jscomp$4:void 0},b=c.next())if(d.audioCodec$jscomp$4=b.value,b=a.filter(function(f){return function(g){return g.audio&&
|
|
362
|
-
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)})};
|
|
359
|
+
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)}var r={vp8:1,avc:1,"dovi-avc":.95,vp9:.9,vp09:.9,hevc:.85,"dovi-hevc":.8,"dovi-p5":.75,av01:.7,"dovi-av1":.65,vvc:.6};c=Array.from(b).sort(function(u,
|
|
360
|
+
v){if(!u.bandwidth||!v.bandwidth||u.bandwidth==v.bandwidth){if(u.codecs&&v.codecs&&u.codecs!=v.codecs&&u.width==v.width){var w=f.getNormalizedCodec(u.codecs),x=f.getNormalizedCodec(v.codecs);if(w!=x)return(r[w]||1)-(r[x]||1)}return u.width-v.width}return u.bandwidth-v.bandwidth});b=shaka.media.Capabilities.isChangeTypeSupported();var t=[];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=
|
|
361
|
+
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),t.push(e.id)):e.width==n.width&&e.height==n.height&&(p=f.getNormalizedCodec(n.codecs),q=f.getNormalizedCodec(e.codecs),p!=q||e.bandwidth&&n.bandwidth&&!(e.bandwidth>n.bandwidth)||(m.push(e),t.push(e.id)))}else m.push(e),t.push(e.id);g.set(l,m)}a.variants=a.variants.filter(function(u){var v=u.audio,w=u.video;return v&&!k.includes(v.id)||w&&!t.includes(w.id)?
|
|
362
|
+
(shaka.log.debug("Dropping Variant (better codec available)",u),!1):!0})};
|
|
363
|
+
shaka.util.StreamUtils.choosePreferredCodecs=function(a,b,c){b=$jscomp.makeIterator(b);for(var d=b.next(),e={};!d.done;e={videoCodec$jscomp$4:void 0},d=b.next())if(e.videoCodec$jscomp$4=d.value,d=a.filter(function(f){return function(g){return g.video&&g.video.codecs.startsWith(f.videoCodec$jscomp$4)}}(e)),d.length){a=d;break}c=$jscomp.makeIterator(c);b=c.next();for(d={};!b.done;d={audioCodec$jscomp$4:void 0},b=c.next())if(d.audioCodec$jscomp$4=b.value,b=a.filter(function(f){return function(g){return g.audio&&
|
|
364
|
+
g.audio.codecs.startsWith(f.audioCodec$jscomp$4)}}(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)})};
|
|
363
365
|
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&&
|
|
364
366
|
!d(a.audio.channelsCount,b.minChannelsCount,b.maxChannelsCount)||!d(a.bandwidth,b.minBandwidth,b.maxBandwidth)?!1:!0};shaka.util.StreamUtils.applyRestrictions=function(a,b,c){var d=!1;a=$jscomp.makeIterator(a);for(var e=a.next();!e.done;e=a.next()){e=e.value;var f=e.allowedByApplication;e.allowedByApplication=shaka.util.StreamUtils.meetsRestrictions(e,b,c);f!=e.allowedByApplication&&(d=!0)}return d};
|
|
365
|
-
shaka.util.StreamUtils.filterManifest=function(a,b,c){c=void 0===c?[]:c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(
|
|
366
|
-
shaka.util.StreamUtils.filterManifestByMediaCapabilities=function(a,b,c,d){var
|
|
367
|
-
b.variants=b.variants.filter(function(
|
|
367
|
+
shaka.util.StreamUtils.filterManifest=function(a,b,c,d){c=void 0===c?[]:c;d=void 0===d?{}:d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return e.yield(shaka.util.StreamUtils.filterManifestByMediaCapabilities(a,b,0<b.offlineSessionIds.length,c,d),2);shaka.util.StreamUtils.filterTextStreams_(b);return e.yield(shaka.util.StreamUtils.filterImageStreams_(b),0)})};
|
|
368
|
+
shaka.util.StreamUtils.filterManifestByMediaCapabilities=function(a,b,c,d,e){var f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){if(1==k.nextAddress)return goog.asserts.assert(navigator.mediaCapabilities,"MediaCapabilities should be valid."),shaka.util.Platform.isXboxOne()&&shaka.util.StreamUtils.overrideDolbyVisionCodecs(b.variants),k.yield(shaka.util.StreamUtils.getDecodingInfosForVariants(b.variants,c,!1,d),2);f=null;a&&(g=a.getDrmInfo())&&(f=g.keySystem);h=shaka.util.StreamUtils;
|
|
369
|
+
b.variants=b.variants.filter(function(l){var m=h.checkVariantSupported_(l,f,e);m||shaka.log.debug("Dropping variant - not compatible with platform",h.getVariantSummaryString_(l));return m});k.jumpToEnd()})};
|
|
368
370
|
shaka.util.StreamUtils.overrideDolbyVisionCodecs=function(a){var b={dvav:"avc3",dva1:"avc1",dvhe:"hev1",dvh1:"hvc1",dvc1:"vvc1",dvi1:"vvi1"},c=new Set;a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next())d=d.value,d.video&&c.add(d.video);c=$jscomp.makeIterator(c);for(a=c.next();!a.done;a=c.next()){a=a.value;d=$jscomp.makeIterator(Object.keys(b));for(var e=d.next();!e.done;e=d.next())if(e=e.value,a.codecs.includes(e)){a.codecs=a.codecs.replace(e,b[e]);break}}};
|
|
369
|
-
shaka.util.StreamUtils.checkVariantSupported_=function(a,b){var
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
shaka.util.StreamUtils.alphabeticalKeyOrderStringify_=function(a){var b=[];for(c in a)b.push(c);b.sort();var c=[];b=$jscomp.makeIterator(b);for(var d=b.next();!d.done;d=b.next()){var e=d.value;d=JSON.stringify(e);e=a[e];e instanceof Object?(e=shaka.util.StreamUtils.alphabeticalKeyOrderStringify_(e),c.push(d+":"+e)):(e=JSON.stringify(e),c.push(d+":"+e))}return"{"+c.join(",")+"}"};
|
|
371
|
+
shaka.util.StreamUtils.checkVariantSupported_=function(a,b,c){if(!a.decodingInfos.some(function(q){return!q.supported||b&&(q=q.keySystemAccess)&&(c[q.keySystem]||q.keySystem)!=b?!1:!0}))return!1;var d=shaka.util.ManifestParserUtils.ContentType,e=shaka.media.Capabilities,f=shaka.util.ManifestParserUtils,g=shaka.util.MimeUtils,h=shaka.util.StreamUtils,k=shaka.util.Platform.isXboxOne(),l=shaka.util.Platform.isFirefox()&&shaka.util.Platform.isAndroid(),m=a.video,n=m&&m.width||0,p=m&&m.height||0;if(k&&
|
|
372
|
+
m&&(1920<n||1080<p)&&(m.codecs.includes("avc1.")||m.codecs.includes("avc3.")))return!1;if(m){k=h.getCorrectVideoCodecs(m.codecs);if(m.codecs.includes(",")){n=m.codecs.split(",");k=f.guessCodecs(d.VIDEO,n);k=h.getCorrectVideoCodecs(k);f=f.guessCodecs(d.AUDIO,n);f=h.getCorrectAudioCodecs(f,m.mimeType);n=g.getFullOrConvertedType(m.mimeType,f,d.AUDIO);if(!e.isTypeSupported(n))return!1;k=[k,f].join()}if(m.codecs!=k){f=g.getFullOrConvertedType(m.mimeType,k,d.VIDEO);if(!e.isTypeSupported(f))return!1;m.codecs=
|
|
373
|
+
k}}a=a.audio;if(l&&a&&a.encrypted&&a.codecs.toLowerCase().includes("opus"))return!1;if(a&&(h=h.getCorrectAudioCodecs(a.codecs,a.mimeType),a.codecs!=h)){d=g.getFullOrConvertedType(a.mimeType,h,d.AUDIO);if(!e.isTypeSupported(d))return!1;a.codecs=h}return!0};
|
|
373
374
|
shaka.util.StreamUtils.getDecodingInfosForVariant_=function(a,b){var c,d,e,f,g,h,k,l;return $jscomp.asyncExecutePromiseGeneratorProgram(function(m){if(1==m.nextAddress){c=function(n,p){if(n){var q=shaka.util.ObjectUtils.shallowCloneObject(n);q.supported=n.supported&&p.supported;q.powerEfficient=n.powerEfficient&&p.powerEfficient;q.smooth=n.smooth&&p.smooth;p.keySystemAccess&&!q.keySystemAccess&&(q.keySystemAccess=p.keySystemAccess);return q}return p};d=shaka.util.StreamUtils;e=null;f=[];g=$jscomp.makeIterator(b);
|
|
374
|
-
h=g.next();for(k={};!h.done;k={cache:void 0,cacheKey:void 0},h=g.next())l=h.value,k.cacheKey=
|
|
375
|
-
q,e=c(e,q))}}(k)));return m.yield(Promise.all(f),2)}e&&a.decodingInfos.push(e);m.jumpToEnd()})};
|
|
375
|
+
h=g.next();for(k={};!h.done;k={cache:void 0,cacheKey:void 0},h=g.next())l=h.value,k.cacheKey=shaka.util.ObjectUtils.alphabeticalKeyOrderStringify(l),k.cache=d.decodingConfigCache_,k.cache[k.cacheKey]?(shaka.log.v2("Using cached results of mediaCapabilities.decodingInfo","for key",k.cacheKey),e=c(e,k.cache[k.cacheKey])):f.push(d.checkEachDecodingConfigCombination_(l).then(function(n){return function(p){var q=null;p=$jscomp.makeIterator(p||[]);for(var r=p.next();!r.done;r=p.next())q=c(q,r.value);q&&
|
|
376
|
+
(n.cache[n.cacheKey]=q,e=c(e,q))}}(k)));return m.yield(Promise.all(f),2)}e&&a.decodingInfos.push(e);m.jumpToEnd()})};
|
|
376
377
|
shaka.util.StreamUtils.checkEachDecodingConfigCombination_=function(a){var b=[""];a.video&&(b=shaka.util.MimeUtils.getCodecs(a.video.contentType).split(","));var c=[""];a.audio&&(c=shaka.util.MimeUtils.getCodecs(a.audio.contentType).split(","));var d=[];b=$jscomp.makeIterator(b);for(var e=b.next();!e.done;e=b.next()){e=e.value;for(var f=$jscomp.makeIterator(c),g=f.next(),h={};!g.done;h={copy$jscomp$1:void 0},g=f.next()){g=g.value;h.copy$jscomp$1=shaka.util.ObjectUtils.cloneObject(a);if(a.video){var k=
|
|
377
378
|
shaka.util.MimeUtils.getBasicType(h.copy$jscomp$1.video.contentType);h.copy$jscomp$1.video.contentType=shaka.util.MimeUtils.getFullType(k,e)}a.audio&&(k=shaka.util.MimeUtils.getBasicType(h.copy$jscomp$1.audio.contentType),h.copy$jscomp$1.audio.contentType=shaka.util.MimeUtils.getFullType(k,g));d.push(new Promise(function(l){return function(m,n){shaka.util.Functional.promiseWithTimeout(1,navigator.mediaCapabilities.decodingInfo(l.copy$jscomp$1)).then(function(p){m(p)}).catch(n)}}(h)))}}return Promise.all(d).catch(function(l){shaka.log.info("MediaCapabilities.decodingInfo() failed.",
|
|
378
379
|
JSON.stringify(a),l);return null})};
|
|
@@ -554,14 +555,14 @@ this.activeSessions_.size&&this.areAllSessionsLoaded_()&&(this.allSessionsLoaded
|
|
|
554
555
|
shaka.media.DrmEngine.prototype.getActiveSessionsMetadata=function(){var a=this,b=this.activeSessions_.keys();b=shaka.util.Iterables.map(b,function(c){var d=a.activeSessions_.get(c);return{sessionId:c.sessionId,sessionType:d.type,initData:d.initData,initDataType:d.initDataType}});return Array.from(b)};
|
|
555
556
|
shaka.media.DrmEngine.prototype.getExpiration=function(){var a=Infinity,b=this.activeSessions_.keys();b=$jscomp.makeIterator(b);for(var c=b.next();!c.done;c=b.next())c=c.value,isNaN(c.expiration)||(a=Math.min(a,c.expiration));return a};shaka.media.DrmEngine.prototype.getLicenseTime=function(){return this.licenseTimeSeconds_?this.licenseTimeSeconds_:NaN};shaka.media.DrmEngine.prototype.getDrmInfo=function(){return this.currentDrmInfo_};shaka.media.DrmEngine.prototype.getMediaKeys=function(){return this.mediaKeys_};
|
|
556
557
|
shaka.media.DrmEngine.prototype.getKeyStatuses=function(){return shaka.util.MapUtils.asObject(this.announcedKeyStatusByKeyId_)};shaka.media.DrmEngine.prototype.getMediaKeySessions=function(){return Array.from(this.activeSessions_.keys())};
|
|
557
|
-
shaka.media.DrmEngine.prototype.queryMediaKeys_=function(a,b){var c=this,d,e,f,g,h,k,l,m;return $jscomp.asyncExecutePromiseGeneratorProgram(function(
|
|
558
|
-
c.destroyer_.ensureNotDestroyed();
|
|
559
|
-
return
|
|
560
|
-
shaka.util.Error.Category.DRM,shaka.util.Error.Code.MIN_HDCP_VERSION_NOT_MATCH);c.destroyer_.ensureNotDestroyed();
|
|
561
|
-
case 4:
|
|
558
|
+
shaka.media.DrmEngine.prototype.queryMediaKeys_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){switch(p.nextAddress){case 1:d=new Map;if(b.length){e=c.getKeySystemAccessFromVariants_(b,d);p.jumpTo(2);break}return p.yield(c.getKeySystemAccessByConfigs_(a),3);case 3:e=p.yieldResult;case 2:f=e;if(!f)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE);
|
|
559
|
+
c.destroyer_.ensureNotDestroyed();p.setCatchFinallyBlocks(4);g=f.getConfiguration();shaka.log.v2("Got MediaKeySystemAccess with configuration",g);h=c.config_.keySystemsMapping[f.keySystem]||f.keySystem;c.currentDrmInfo_=b.length?c.createDrmInfoByInfos_(h,d.get(h)):shaka.media.DrmEngine.createDrmInfoByConfigs_(h,a.get(h));if(!c.currentDrmInfo_.licenseServerUri)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.NO_LICENSE_SERVER_GIVEN,c.currentDrmInfo_.keySystem);
|
|
560
|
+
return p.yield(f.createMediaKeys(),6);case 6:k=p.yieldResult;c.destroyer_.ensureNotDestroyed();shaka.log.info("Created MediaKeys object for key system",c.currentDrmInfo_.keySystem);c.mediaKeys_=k;if(!(""!=c.config_.minHdcpVersion&&"getStatusForPolicy"in c.mediaKeys_)){p.jumpTo(7);break}p.setCatchFinallyBlocks(8);return p.yield(c.mediaKeys_.getStatusForPolicy({minHdcpVersion:c.config_.minHdcpVersion}),10);case 10:l=p.yieldResult;if("usable"!=l)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
|
|
561
|
+
shaka.util.Error.Category.DRM,shaka.util.Error.Code.MIN_HDCP_VERSION_NOT_MATCH);c.destroyer_.ensureNotDestroyed();p.leaveTryBlock(7,4);break;case 8:m=p.enterCatchBlock(4);if(m instanceof shaka.util.Error)throw m;throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.ERROR_CHECKING_HDCP_VERSION,m.message);case 7:return c.initialized_=!0,p.yield(c.setServerCertificate(),11);case 11:c.destroyer_.ensureNotDestroyed();p.leaveTryBlock(0);break;
|
|
562
|
+
case 4:n=p.enterCatchBlock();c.destroyer_.ensureNotDestroyed(n);c.currentDrmInfo_=null;if(n instanceof shaka.util.Error)throw n;throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.FAILED_TO_CREATE_CDM,n.message);}})};
|
|
562
563
|
shaka.media.DrmEngine.prototype.getKeySystemAccessFromVariants_=function(a,b){for(var c=$jscomp.makeIterator(a),d=c.next();!d.done;d=c.next()){d=this.getVariantDrmInfos_(d.value);d=$jscomp.makeIterator(d);for(var e=d.next();!e.done;e=d.next())e=e.value,b.has(e.keySystem)||b.set(e.keySystem,[]),b.get(e.keySystem).push(e)}if(1==b.size&&b.has(""))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.NO_RECOGNIZED_KEY_SYSTEMS);c=$jscomp.makeIterator(this.config_.preferredKeySystems);
|
|
563
564
|
e=c.next();for(d={};!e.done;d={preferredKeySystem$jscomp$1:void 0},e=c.next()){d.preferredKeySystem$jscomp$1=e.value;e=$jscomp.makeIterator(a);for(var f=e.next();!f.done;f=e.next())if(f=f.value.decodingInfos.find(function(l){return function(m){return m.supported&&null!=m.keySystemAccess&&m.keySystemAccess.keySystem==l.preferredKeySystem$jscomp$1}}(d)))return f.keySystemAccess}c=$jscomp.makeIterator([!0,!1]);for(d=c.next();!d.done;d=c.next())for(d=d.value,e=$jscomp.makeIterator(a),f=e.next();!f.done;f=
|
|
564
|
-
e.next()){f=$jscomp.makeIterator(f.value.decodingInfos);for(var g=f.next();!g.done;g=f.next())if(g=g.value,g.supported&&g.keySystemAccess){var h=b.get(
|
|
565
|
+
e.next()){f=$jscomp.makeIterator(f.value.decodingInfos);for(var g=f.next();!g.done;g=f.next())if(g=g.value,g.supported&&g.keySystemAccess){var h=g.keySystemAccess.keySystem,k=b.get(h);!k&&this.config_.keySystemsMapping[h]&&(k=b.get(this.config_.keySystemsMapping[h]));h=$jscomp.makeIterator(k);for(k=h.next();!k.done;k=h.next())if(!!k.value.licenseServerUri==d)return g.keySystemAccess}}return null};
|
|
565
566
|
shaka.media.DrmEngine.prototype.getKeySystemAccessByConfigs_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x;return $jscomp.asyncExecutePromiseGeneratorProgram(function(z){switch(z.nextAddress){case 1:if(1==a.size&&a.has(""))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.NO_RECOGNIZED_KEY_SYSTEMS);d=$jscomp.makeIterator(a.values());for(e=d.next();!e.done;e=d.next())f=e.value,0==f.audioCapabilities.length&&delete f.audioCapabilities,
|
|
566
567
|
0==f.videoCapabilities.length&&delete f.videoCapabilities;g=$jscomp.makeIterator(b.config_.preferredKeySystems);h=g.next();case 2:if(h.done){z.jumpTo(4);break}k=h.value;if(!a.has(k)){z.jumpTo(3);break}l=a.get(k);z.setCatchFinallyBlocks(6);return z.yield(navigator.requestMediaKeySystemAccess(k,[l]),8);case 8:return c=z.yieldResult,z.return(c);case 6:m=z.enterCatchBlock(),shaka.log.v2("Requesting",k,"failed with config",l,m);case 7:b.destroyer_.ensureNotDestroyed();case 3:h=g.next();z.jumpTo(2);break;
|
|
567
568
|
case 4:n=$jscomp.makeIterator([!0,!1]),p=n.next();case 9:if(p.done){z.jumpTo(11);break}q=p.value;r=$jscomp.makeIterator(a.keys());t=r.next();case 12:if(t.done){p=n.next();z.jumpTo(9);break}u=t.value;v=a.get(u);w=v.drmInfos.some(function(B){return!!B.licenseServerUri});if(w!=q){z.jumpTo(13);break}z.setCatchFinallyBlocks(15);return z.yield(navigator.requestMediaKeySystemAccess(u,[v]),17);case 17:return c=z.yieldResult,z.return(c);case 15:x=z.enterCatchBlock(),shaka.log.v2("Requesting",u,"failed with config",
|
|
@@ -596,7 +597,7 @@ V)),4);case 4:return U=P.yieldResult,P.yield(l(F,U),5);case 5:P.leaveTryBlock(0)
|
|
|
596
597
|
robustness:J},audio:{encryptionScheme:M,robustness:I}}},N.yield(shaka.util.Functional.promiseWithTimeout(1,navigator.mediaCapabilities.decodingInfo(L)),4);case 4:return K=N.yieldResult,O=K.keySystemAccess,N.yield(l(F,O),5);case 5:N.leaveTryBlock(0);break;case 2:R=N.enterCatchBlock(),shaka.log.v2("Failed to probe support for",F,R),N.jumpToEnd()}})};p=$jscomp.makeIterator(a);for(q=p.next();!q.done;q=p.next())r=q.value,k.set(r,null);t=[];u=$jscomp.makeIterator(h);for(v=u.next();!v.done;v=u.next())for(w=
|
|
597
598
|
v.value,x=$jscomp.makeIterator(a),z=x.next();!z.done;z=x.next())B=z.value,"org.w3.clearkey"===B&&shaka.util.Platform.isSafari()||(t.push(m(B,w,"","")),t.push(n(B,w,"","")));D=$jscomp.makeIterator(a);for(y=D.next();!y.done;y=D.next())for(A=y.value,C=$jscomp.makeIterator(d[A]||[]),G=C.next();!G.done;G=C.next())H=G.value,t.push(m(A,null,H,"")),t.push(m(A,null,"",H)),t.push(n(A,null,H,"")),t.push(n(A,null,"",H));return E.yield(Promise.all(t),2)}return E.return(shaka.util.MapUtils.asObject(k))})};
|
|
598
599
|
shaka.media.DrmEngine.prototype.onPlay_=function(){for(var a=$jscomp.makeIterator(this.mediaKeyMessageEvents_),b=a.next();!b.done;b=a.next())this.sendLicenseRequest_(b.value);this.initialRequestsSent_=!0;this.mediaKeyMessageEvents_=[]};
|
|
599
|
-
shaka.media.DrmEngine.prototype.closeSession_=function(a){
|
|
600
|
+
shaka.media.DrmEngine.prototype.closeSession_=function(a){return $jscomp.asyncExecutePromiseGeneratorProgram(function(b){if(1==b.nextAddress)return b.setCatchFinallyBlocks(2),b.yield(shaka.util.Functional.promiseWithTimeout(shaka.media.DrmEngine.CLOSE_TIMEOUT_,Promise.all([a.close(),a.closed])),4);if(2!=b.nextAddress)return b.leaveTryBlock(0);b.enterCatchBlock();shaka.log.warning("Timeout waiting for session close");b.jumpToEnd()})};
|
|
600
601
|
shaka.media.DrmEngine.prototype.closeOpenSessions_=function(){var a=this,b;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){b=Array.from(a.activeSessions_.entries());a.activeSessions_.clear();return c.yield(Promise.all(b.map(function(d){d=$jscomp.makeIterator(d);var e=d.next().value,f=d.next().value,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress){h.setCatchFinallyBlocks(2);if(!a.initializedForStorage_&&!a.storedPersistentSessions_.has(e.sessionId)&&
|
|
601
602
|
"persistent-license"===f.type&&!a.config_.persistentSessionOnlinePlayback)return shaka.log.v1("Removing session",e.sessionId),h.yield(e.remove(),5);shaka.log.v1("Closing session",e.sessionId,f);return h.yield(a.closeSession_(e),5)}if(2!=h.nextAddress)return h.leaveTryBlock(0);g=h.enterCatchBlock();shaka.log.error("Failed to close or remove the session",g);h.jumpToEnd()})})),0)})};
|
|
602
603
|
shaka.media.DrmEngine.prototype.getVariantDrmInfos_=function(a){return(a.video?a.video.drmInfos:[]).concat(a.audio?a.audio.drmInfos:[])};shaka.media.DrmEngine.prototype.pollExpiration_=function(){var a=this;this.activeSessions_.forEach(function(b,c){var d=b.oldExpiration,e=c.expiration;isNaN(e)&&(e=Infinity);e!=d&&(a.playerInterface_.onExpirationUpdated(c.sessionId,e),b.oldExpiration=e)})};
|
|
@@ -621,8 +622,8 @@ a.next();!d.done;d=a.next())d=d.value,b.set(d,c),c+=d.length;this.newInitData("c
|
|
|
621
622
|
SPDX-License-Identifier: Apache-2.0
|
|
622
623
|
*/
|
|
623
624
|
shaka.media.ManifestFilterer=function(a,b,c){goog.asserts.assert(a,"Must have config");this.config_=a;this.maxHwRes_=b;this.drmEngine_=c};shaka.media.ManifestFilterer.prototype.setDrmEngine=function(a){this.drmEngine_=a};
|
|
624
|
-
shaka.media.ManifestFilterer.prototype.filterManifest=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){if(1==c.nextAddress)return goog.asserts.assert(a,"Manifest should exist!"),c.yield(shaka.util.StreamUtils.filterManifest(b.drmEngine_,a,b.config_.drm.preferredKeySystems),2);b.config_.streaming.dontChooseCodecs||shaka.util.StreamUtils.chooseCodecsAndFilterManifest(a,b.config_.preferredVideoCodecs,b.config_.preferredAudioCodecs,
|
|
625
|
-
b.checkPlayableVariants_(a);return c.return(b.filterManifestWithRestrictions(a))})};shaka.media.ManifestFilterer.prototype.applyRestrictions=function(a){return shaka.util.StreamUtils.applyRestrictions(a.variants,this.config_.restrictions,this.maxHwRes_)};
|
|
625
|
+
shaka.media.ManifestFilterer.prototype.filterManifest=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){if(1==c.nextAddress)return goog.asserts.assert(a,"Manifest should exist!"),c.yield(shaka.util.StreamUtils.filterManifest(b.drmEngine_,a,b.config_.drm.preferredKeySystems,b.config_.drm.keySystemsMapping),2);b.config_.streaming.dontChooseCodecs||shaka.util.StreamUtils.chooseCodecsAndFilterManifest(a,b.config_.preferredVideoCodecs,b.config_.preferredAudioCodecs,
|
|
626
|
+
b.config_.preferredDecodingAttributes);b.checkPlayableVariants_(a);return c.return(b.filterManifestWithRestrictions(a))})};shaka.media.ManifestFilterer.prototype.applyRestrictions=function(a){return shaka.util.StreamUtils.applyRestrictions(a.variants,this.config_.restrictions,this.maxHwRes_)};
|
|
626
627
|
shaka.media.ManifestFilterer.prototype.filterManifestWithRestrictions=function(a){var b=this.applyRestrictions(a);if(a){var c=this.drmEngine_?this.drmEngine_.getDrmInfo():null;if(c&&this.drmEngine_.getMediaKeys())for(var d=$jscomp.makeIterator(a.variants),e=d.next();!e.done;e=d.next())e=e.value,this.processDrmInfos(c.keySystem,e.video),this.processDrmInfos(c.keySystem,e.audio);this.checkRestrictedVariants(a)}return b};
|
|
627
628
|
shaka.media.ManifestFilterer.prototype.checkPlayableVariants_=function(a){if(!a.variants.some(shaka.util.StreamUtils.isPlayable))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.CONTENT_UNSUPPORTED_BY_BROWSER);};
|
|
628
629
|
shaka.media.ManifestFilterer.prototype.processDrmInfos=function(a,b){if(b){b=$jscomp.makeIterator(b.drmInfos);for(var c=b.next();!c.done;c=b.next())if(c=c.value,c.keySystem==a){c=$jscomp.makeIterator(c.initData||[]);for(var d=c.next();!d.done;d=c.next())d=d.value,this.drmEngine_.newInitData(d.initDataType,d.initData)}}};
|
|
@@ -1333,15 +1334,15 @@ shaka.Player.prototype.initializeSrcEqualsDrmInner_=function(a){var b=this,c,d,e
|
|
|
1333
1334
|
onError:function(k){b.onError_(k)},onKeyStatus:function(k){},onExpirationUpdated:function(k,l){k=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.ExpirationUpdated);b.dispatchEvent(k)},onEvent:function(k){b.dispatchEvent(k);k.type==shaka.util.FakeEvent.EventName.DrmSessionUpdate&&e&&(e=!1,k=Date.now()/1E3-d,b.stats_.setDrmTime(k))}}),b.drmEngine_.configure(b.config_.drm),f={id:0,language:"und",disabledUntilTime:0,primary:!1,audio:null,video:null,bandwidth:100,allowedByApplication:!0,allowedByKeySystem:!0,
|
|
1334
1335
|
decodingInfos:[]},g={id:0,originalId:null,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:null,mimeType:a?shaka.util.MimeUtils.getBasicType(a):"",codecs:a?shaka.util.MimeUtils.getCodecs(a):"",encrypted:!0,drmInfos:[],keyIds:new Set,language:"und",originalLanguage:null,label:null,type:c.VIDEO,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],forced:!1,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,accessibilityPurpose:null,
|
|
1335
1336
|
external:!1,fastSwitching:!1,fullMimeTypes:new Set},g.fullMimeTypes.add(shaka.util.MimeUtils.getFullType(g.mimeType,g.codecs)),a.startsWith("audio/")?(g.type=c.AUDIO,f.audio=g):f.video=g,b.drmEngine_.setSrcEquals(!0),h.yield(b.drmEngine_.initForPlayback([f],[]),2)):h.yield(b.drmEngine_.attach(b.video_),0)})};
|
|
1336
|
-
shaka.Player.prototype.srcEqualsInner_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p,q,r
|
|
1337
|
-
c.playRateController_=new shaka.media.PlayRateController({getRate:function(){return d.playbackRate},getDefaultRate:function(){return d.defaultPlaybackRate},setRate:function(
|
|
1338
|
-
|
|
1337
|
+
shaka.Player.prototype.srcEqualsInner_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p,q,r;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress)return c.makeStateChangeEvent_("src-equals"),goog.asserts.assert(c.video_,"We should have a media element when loading."),goog.asserts.assert(c.assetUri_,"We should have a valid uri when loading."),d=c.video_,c.playhead_=new shaka.media.SrcEqualsPlayhead(d),e=!1,c.cleanupOnUnload_.push(function(){e=!0}),null!=c.startTime_&&c.playhead_.setStartTime(c.startTime_),
|
|
1338
|
+
c.playRateController_=new shaka.media.PlayRateController({getRate:function(){return d.playbackRate},getDefaultRate:function(){return d.defaultPlaybackRate},setRate:function(u){d.playbackRate=u},movePlayhead:function(u){d.currentTime+=u}}),f=c.config_.streaming.rebufferingGoal,c.startBufferManagement_(d,f),d.textTracks&&(c.createTextDisplayer_(),g=function(){var u=c.getFilteredTextTracks_().find(function(v){return"disabled"!==v.mode});u&&(u.mode="showing")},h=function(){var u=c.getFilteredTextTracks_().find(function(v){return"disabled"!==
|
|
1339
|
+
v.mode});u&&(u.mode="hidden")},c.loadEventManager_.listen(d,"enterpictureinpicture",function(){return g()}),c.loadEventManager_.listen(d,"leavepictureinpicture",function(){return h()}),d.remote?(c.loadEventManager_.listen(d.remote,"connect",function(){return h()}),c.loadEventManager_.listen(d.remote,"connecting",function(){return h()}),c.loadEventManager_.listen(d.remote,"disconnect",function(){return h()})):"webkitCurrentPlaybackTargetIsWireless"in d&&c.loadEventManager_.listen(d,"webkitcurrentplaybacktargetiswirelesschanged",
|
|
1339
1340
|
function(){return h()}),k=d,k.webkitSupportsFullscreen&&c.loadEventManager_.listen(k,"webkitpresentationmodechanged",function(){"inline"!=k.webkitPresentationMode?g():h()})),c.addBasicMediaListeners_(d,a),l=c.cmcdManager_.appendSrcData(c.assetUri_,b),!l.includes("#t=")&&(0<c.config_.playRangeStart||isFinite(c.config_.playRangeEnd))&&(l+="#t=",0<c.config_.playRangeStart&&(l+=c.config_.playRangeStart),isFinite(c.config_.playRangeEnd)&&(l+=","+c.config_.playRangeEnd)),d.src=l,c.mediaSourceEngine_&&window.ManagedMediaSource&&
|
|
1340
1341
|
(d.disableRemotePlayback=!1),(shaka.util.Platform.isTizen()||shaka.util.Platform.isWebOS())&&d.load(),"none"!=d.preload&&!d.autoplay&&shaka.util.MimeUtils.isHlsType(b)&&shaka.util.Platform.safariVersion()&&d.load(),c.loadMode_=shaka.Player.LoadMode.SRC_EQUALS,c.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Streaming)),m=new shaka.util.PublicPromise,shaka.util.MediaReadyState.waitForReadyState(d,HTMLMediaElement.HAVE_METADATA,c.loadEventManager_,function(){c.playhead_.ready();
|
|
1341
|
-
m.resolve()}),shaka.util.MediaReadyState.waitForReadyState(d,HTMLMediaElement.HAVE_CURRENT_DATA,c.loadEventManager_,function(){var v,w,x,z
|
|
1342
|
-
|
|
1343
|
-
m.resolve()),c.loadEventManager_.listenOnce(d,"error",function(){m.reject(c.videoErrorToShakaError_())}),
|
|
1344
|
-
|
|
1342
|
+
m.resolve()}),shaka.util.MediaReadyState.waitForReadyState(d,HTMLMediaElement.HAVE_CURRENT_DATA,c.loadEventManager_,function(){var u,v,w,x,z;return $jscomp.asyncExecutePromiseGeneratorProgram(function(B){if(1==B.nextAddress)return c.setupPreferredAudioOnSrc_(),u=c.getFilteredTextTracks_(),u.find(function(D){return"disabled"!=D.mode})?(0<u.length&&(c.isTextVisible_=!0,c.textDisplayer_.setTextVisibility(!0)),B.jumpTo(2)):B.yield(new Promise(function(D){c.loadEventManager_.listenOnce(d.textTracks,"change",
|
|
1343
|
+
D);(new shaka.util.Timer(D)).tickAfter(1)}),2);if(e)return B.return();v=!1;w=$jscomp.makeIterator(u);for(x=w.next();!x.done;x=w.next())z=x.value,"disabled"!==z.mode&&(v?(z.mode="disabled",shaka.log.alwaysWarn("Found more than one enabled text track, disabling it",z)):(c.enableNativeTrack_(z),v=!0));c.setupPreferredTextOnSrc_();B.jumpToEnd()})}),d.error?m.reject(c.videoErrorToShakaError_()):"none"==d.preload&&(shaka.log.alwaysWarn('With <video preload="none">, the browser will not load anything until play() is called. We are unable to measure load latency in a meaningful way, and we cannot provide track info yet. Please do not use preload="none" with Shaka Player.'),
|
|
1344
|
+
m.resolve()),c.loadEventManager_.listenOnce(d,"error",function(){m.reject(c.videoErrorToShakaError_())}),t.yield(shaka.util.Functional.promiseWithTimeout(c.config_.streaming.loadTimeout,m),2);if((n=c.isLive())&&(c.config_.streaming.liveSync&&c.config_.streaming.liveSync.enabled||c.config_.streaming.liveSync.panicMode)||c.config_.streaming.vodDynamicPlaybackRate)p=function(){return c.onTimeUpdate_()},c.loadEventManager_.listen(d,"timeupdate",p);n||(q=function(){return c.onVideoProgress_()},c.loadEventManager_.listen(d,
|
|
1345
|
+
"timeupdate",q),c.onVideoProgress_());c.adManager_&&(c.adManager_.onManifestUpdated(n),n&&(r=c.seekRange().end,c.loadEventManager_.listen(d,"progress",function(){var u=c.seekRange().end;r!=u&&(c.adManager_.onManifestUpdated(c.isLive()),r=u)})));c.fullyLoaded_=!0;t.jumpToEnd()})};shaka.Player.prototype.setupPreferredAudioOnSrc_=function(){var a=this.config_.preferredAudioLanguage;""!=a&&this.selectAudioLanguage(a,this.config_.preferredVariantRole)};
|
|
1345
1346
|
shaka.Player.prototype.setupPreferredTextOnSrc_=function(){var a=this.config_.preferredTextLanguage;""!=a&&this.selectTextLanguage(a,this.config_.preferredTextRole,this.config_.preferForcedSubs)};
|
|
1346
1347
|
shaka.Player.prototype.processTimedMetadataSrcEqls_=function(a){var b=this;if("metadata"==a.kind){a.mode="hidden";this.loadEventManager_.listen(a,"cuechange",function(){if(a.activeCues)for(var d=$jscomp.makeIterator(a.activeCues),e=d.next();!e.done;e=d.next())if(e=e.value,b.dispatchMetadataEvent_(e.startTime,e.endTime,e.type,e.value),b.adManager_)b.adManager_.onCueMetadataChange(e.value);if(a.cues){d=[];e=$jscomp.makeIterator(a.cues);for(var f=e.next(),g={};!f.done;g={cue$jscomp$37:void 0},f=e.next())g.cue$jscomp$37=
|
|
1347
1348
|
f.value,"com.apple.quicktime.HLS"==g.cue$jscomp$37.type&&null!=g.cue$jscomp$37.startTime&&(f=d.find(function(h){return function(k){return k.startTime==h.cue$jscomp$37.startTime&&k.endTime==h.cue$jscomp$37.endTime}}(g)),f||(f={startTime:g.cue$jscomp$37.startTime,endTime:g.cue$jscomp$37.endTime,values:[]},d.push(f)),f.values.push(g.cue$jscomp$37.value));d=$jscomp.makeIterator(d);for(e=d.next();!e.done;e=d.next())e=e.value,e.values.some(function(h){return"X-ASSET-URI"==h.key||"X-ASSET-LIST"==h.key})&&
|
|
@@ -1534,7 +1535,7 @@ goog.exportProperty(shaka.Player.prototype,"getLoadMode",shaka.Player.prototype.
|
|
|
1534
1535
|
goog.exportProperty(shaka.Player.prototype,"configure",shaka.Player.prototype.configure);goog.exportProperty(shaka.Player.prototype,"releaseAllMutexes",shaka.Player.prototype.releaseAllMutexes);goog.exportProperty(shaka.Player.prototype,"destroyAllPreloads",shaka.Player.prototype.destroyAllPreloads);goog.exportProperty(shaka.Player.prototype,"preload",shaka.Player.prototype.preload);goog.exportProperty(shaka.Player.prototype,"detachAndSavePreload",shaka.Player.prototype.detachAndSavePreload);
|
|
1535
1536
|
goog.exportProperty(shaka.Player.prototype,"unloadAndSavePreload",shaka.Player.prototype.unloadAndSavePreload);goog.exportProperty(shaka.Player.prototype,"load",shaka.Player.prototype.load);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);
|
|
1536
1537
|
goog.exportProperty(shaka.Player.prototype,"attachCanvas",shaka.Player.prototype.attachCanvas);goog.exportProperty(shaka.Player.prototype,"attach",shaka.Player.prototype.attach);goog.exportProperty(shaka.Player,"probeSupport",shaka.Player.probeSupport);goog.exportProperty(shaka.Player,"isBrowserSupported",shaka.Player.isBrowserSupported);goog.exportProperty(shaka.Player,"setAdManagerFactory",shaka.Player.setAdManagerFactory);goog.exportProperty(shaka.Player,"registerSupportPlugin",shaka.Player.registerSupportPlugin);
|
|
1537
|
-
goog.exportProperty(shaka.Player.prototype,"destroy",shaka.Player.prototype.destroy);shaka.Player.LoadMode={DESTROYED:0,NOT_LOADED:1,MEDIA_SOURCE:2,SRC_EQUALS:3};goog.exportProperty(shaka.Player,"LoadMode",shaka.Player.LoadMode);shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.11.
|
|
1538
|
+
goog.exportProperty(shaka.Player.prototype,"destroy",shaka.Player.prototype.destroy);shaka.Player.LoadMode={DESTROYED:0,NOT_LOADED:1,MEDIA_SOURCE:2,SRC_EQUALS:3};goog.exportProperty(shaka.Player,"LoadMode",shaka.Player.LoadMode);shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.11.17-debug";goog.exportProperty(shaka.Player,"version",shaka.Player.version);shaka.Deprecate.init(shaka.Player.version);shaka.Player.supportPlugins_={};shaka.Player.adManagerFactory_=null;
|
|
1538
1539
|
shaka.Player.TextTrackLabel="Shaka Player TextTrack";shaka.ads={};shaka.ads.AdsStats=function(){this.loadTimes_=[];this.errors_=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_++};shaka.ads.AdsStats.prototype.incrementErrors=function(){this.errors_++};
|
|
1539
1540
|
shaka.ads.AdsStats.prototype.getAverageLoadTime_=function(){return this.loadTimes_.length?this.loadTimes_.reduce(function(a,b){return a+b},0)/this.loadTimes_.length:0};shaka.ads.AdsStats.prototype.getBlob=function(){return{loadTimes:this.loadTimes_,averageLoadTime:this.getAverageLoadTime_(),started:this.started_,playedCompletely:this.playedCompletely_,skipped:this.skipped_,errors:this.errors_}};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.needsSkipUI=function(){return!1};
|
|
1540
1541
|
shaka.ads.ClientSideAd.prototype.isClientRendering=function(){return!0};shaka.ads.ClientSideAd.prototype.getDuration=function(){return this.ad_.getDuration()};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_};
|
|
@@ -2543,9 +2544,9 @@ shaka.offline.indexeddb.BaseStorageCell.prototype.getAllManifests=function(){var
|
|
|
2543
2544
|
d.return(c)})};shaka.offline.indexeddb.BaseStorageCell.prototype.convertSegmentData=function(a){return a};shaka.offline.indexeddb.BaseStorageCell.prototype.convertManifest=function(a){return Promise.resolve(a)};shaka.offline.indexeddb.BaseStorageCell.prototype.rejectAdd=function(a){return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.NEW_KEY_OPERATION_NOT_SUPPORTED,"Cannot add new value to "+a))};
|
|
2544
2545
|
shaka.offline.indexeddb.BaseStorageCell.prototype.rejectUpdate=function(a){return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.MODIFY_OPERATION_NOT_SUPPORTED,"Cannot modify values in "+a))};
|
|
2545
2546
|
shaka.offline.indexeddb.BaseStorageCell.prototype.add=function(a,b){var c=this,d,e,f,g,h,k,l;return $jscomp.asyncExecutePromiseGeneratorProgram(function(m){if(1==m.nextAddress){d=c.connection_.startReadWriteOperation(a);e=d.store();f=[];g=$jscomp.makeIterator(b);h=g.next();for(k={};!h.done;k={request$jscomp$56:void 0},h=g.next())l=h.value,k.request$jscomp$56=e.add(l),k.request$jscomp$56.onsuccess=function(n){return function(p){f.push(n.request$jscomp$56.result)}}(k);return m.yield(d.promise(),2)}return m.return(f)})};
|
|
2546
|
-
shaka.offline.indexeddb.BaseStorageCell.prototype.remove_=function(a,b,c){a=this.connection_.startReadWriteOperation(a);var d=a.store();b=$jscomp.makeIterator(b);for(var e=b.next(),f={};!e.done;f={key$jscomp$
|
|
2547
|
-
shaka.offline.indexeddb.BaseStorageCell.prototype.get_=function(a,b){var c=this,d,e,f,g,h,k,l;return $jscomp.asyncExecutePromiseGeneratorProgram(function(m){if(1==m.nextAddress){d=c.connection_.startReadOnlyOperation(a);e=d.store();f={};g=[];h=$jscomp.makeIterator(b);k=h.next();for(l={};!k.done;l={request$jscomp$57:void 0,key$jscomp$
|
|
2548
|
-
g.push(n.key$jscomp$
|
|
2547
|
+
shaka.offline.indexeddb.BaseStorageCell.prototype.remove_=function(a,b,c){a=this.connection_.startReadWriteOperation(a);var d=a.store();b=$jscomp.makeIterator(b);for(var e=b.next(),f={};!e.done;f={key$jscomp$143:void 0},e=b.next())f.key$jscomp$143=e.value,d.delete(f.key$jscomp$143).onsuccess=function(g){return function(){return c(g.key$jscomp$143)}}(f);return a.promise()};
|
|
2548
|
+
shaka.offline.indexeddb.BaseStorageCell.prototype.get_=function(a,b){var c=this,d,e,f,g,h,k,l;return $jscomp.asyncExecutePromiseGeneratorProgram(function(m){if(1==m.nextAddress){d=c.connection_.startReadOnlyOperation(a);e=d.store();f={};g=[];h=$jscomp.makeIterator(b);k=h.next();for(l={};!k.done;l={request$jscomp$57:void 0,key$jscomp$144:void 0},k=h.next())l.key$jscomp$144=k.value,l.request$jscomp$57=e.get(l.key$jscomp$144),l.request$jscomp$57.onsuccess=function(n){return function(){void 0==n.request$jscomp$57.result&&
|
|
2549
|
+
g.push(n.key$jscomp$144);f[n.key$jscomp$144]=n.request$jscomp$57.result}}(l);return m.yield(d.promise(),2)}if(g.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.KEY_NOT_FOUND,"Could not find values for "+g);return m.return(b.map(function(n){return f[n]}))})};shaka.offline.indexeddb.EmeSessionStorageCell=function(a,b){this.connection_=new shaka.offline.indexeddb.DBConnection(a);this.store_=b};shaka.offline.indexeddb.EmeSessionStorageCell.prototype.destroy=function(){return this.connection_.destroy()};
|
|
2549
2550
|
shaka.offline.indexeddb.EmeSessionStorageCell.prototype.getAll=function(){var a=this,b,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){return 1==d.nextAddress?(b=a.connection_.startReadOnlyOperation(a.store_),c=[],d.yield(b.forEachEntry(function(e,f){c.push(f)}),2)):3!=d.nextAddress?d.yield(b.promise(),3):d.return(c)})};
|
|
2550
2551
|
shaka.offline.indexeddb.EmeSessionStorageCell.prototype.add=function(a){var b=this.connection_.startReadWriteOperation(this.store_),c=b.store();a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next())c.add(d.value);return b.promise()};
|
|
2551
2552
|
shaka.offline.indexeddb.EmeSessionStorageCell.prototype.remove=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){return 1==d.nextAddress?(c=b.connection_.startReadWriteOperation(b.store_),d.yield(c.forEachEntry(function(e,f,g){a.includes(f.sessionId)&&g.delete()}),2)):d.yield(c.promise(),0)})};shaka.offline.StorageCellHandle={};shaka.offline.StorageCellPath={};shaka.offline.StorageMuxer=function(){this.mechanisms_=new Map};shaka.offline.StorageMuxer.prototype.destroy=function(){for(var a=[],b=$jscomp.makeIterator(this.mechanisms_.values()),c=b.next();!c.done;c=b.next())a.push(c.value.destroy());this.mechanisms_.clear();return Promise.all(a)};
|
|
@@ -2639,9 +2640,9 @@ break}return x.yield(n(a,!1),8);case 8:return k.ensureNotDestroyed_(),t=l,u=m,l=
|
|
|
2639
2640
|
shaka.offline.Storage.cleanStoredManifest=function(a){var b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){switch(f.nextAddress){case 1:return b=new shaka.offline.StorageMuxer,f.yield(b.init(),2);case 2:return f.yield(b.getActive(),3);case 3:return c=f.yieldResult,d=shaka.offline.OfflineUri.manifest(c.path.mechanism,c.path.cell,a),f.yield(b.destroy(),4);case 4:return e=new shaka.offline.Storage,f.yield(e.remove(d.toString()),0)}})};
|
|
2640
2641
|
shaka.offline.Storage.assignSegmentsToManifest=function(a,b,c,d,e,f){var g,h,k,l,m,n,p,q,r,t,u;return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){switch(v.nextAddress){case 1:g=!1;v.setCatchFinallyBlocks(2);h=!0;k=$jscomp.makeIterator(c.streams);for(l=k.next();!l.done;l=k.next())for(m=l.value,n=$jscomp.makeIterator(m.segments),p=n.next();!p.done;p=n.next())q=p.value,r=q.pendingSegmentRefId?d[q.pendingSegmentRefId]:null,null!=r&&(q.dataKey=r,q.pendingSegmentRefId=void 0),r=q.pendingInitSegmentRefId?
|
|
2641
2642
|
d[q.pendingInitSegmentRefId]:null,null!=r&&(q.initSegmentKey=r,q.pendingInitSegmentRefId=void 0),q.pendingSegmentRefId&&(h=!1),q.pendingInitSegmentRefId&&(h=!1);c.size+=e;h&&(c.isIncomplete=!1);return v.yield(a.updateManifest(b,c),4);case 4:g=!0;f();v.leaveTryBlock(0);break;case 2:return t=v.enterCatchBlock(),v.yield(shaka.offline.Storage.cleanStoredManifest(b),5);case 5:if(g){v.jumpTo(6);break}u=Object.values(d);return v.yield(a.removeSegments(u,function(w){}),6);case 6:throw t;}})};
|
|
2642
|
-
shaka.offline.Storage.prototype.filterManifest_=function(a,b,c){var d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,B,D,y,A,C,G,H,E,F,M,J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){switch(I.nextAddress){case 1:return d={width:Infinity,height:Infinity},shaka.util.StreamUtils.filterByRestrictions(a,c.restrictions,d),I.yield(shaka.util.StreamUtils.filterManifestByMediaCapabilities(b,a,c.offline.usePersistentLicense,c.drm.preferredKeySystems),2);case 2:e=[];f=c.preferredDecodingAttributes;
|
|
2643
|
-
h=c.preferredAudioCodecs;shaka.util.StreamUtils.chooseCodecsAndFilterManifest(a,g,h,f);k=$jscomp.makeIterator(a.variants);for(l=k.next();!l.done;l=k.next())m=l.value,goog.asserts.assert(shaka.util.StreamUtils.isPlayable(m),'We should have already filtered by "is playable"'),e.push(shaka.util.StreamUtils.variantToTrack(m));n=$jscomp.makeIterator(a.textStreams);for(p=n.next();!p.done;p=n.next())q=p.value,e.push(shaka.util.StreamUtils.textStreamToTrack(q));r=$jscomp.makeIterator(a.imageStreams);
|
|
2644
|
-
r.next();!t.done;t=r.next())u=t.value,e.push(shaka.util.StreamUtils.imageStreamToTrack(u));return I.yield(c.offline.trackSelectionCallback(e),3);case 3:v=I.yieldResult;w=a.presentationTimeline.getDuration();x=0;z=$jscomp.makeIterator(v);for(B=z.next();!B.done;B=z.next())D=B.value,y=D.bandwidth*w/8,x+=y;I.setCatchFinallyBlocks(4);return I.yield(c.offline.downloadSizeCallback(x),6);case 6:A=I.yieldResult;if(!A)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,
|
|
2643
|
+
shaka.offline.Storage.prototype.filterManifest_=function(a,b,c){var d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,B,D,y,A,C,G,H,E,F,M,J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){switch(I.nextAddress){case 1:return d={width:Infinity,height:Infinity},shaka.util.StreamUtils.filterByRestrictions(a,c.restrictions,d),I.yield(shaka.util.StreamUtils.filterManifestByMediaCapabilities(b,a,c.offline.usePersistentLicense,c.drm.preferredKeySystems,c.drm.keySystemsMapping),2);case 2:e=[];f=c.preferredDecodingAttributes;
|
|
2644
|
+
g=c.preferredVideoCodecs;h=c.preferredAudioCodecs;shaka.util.StreamUtils.chooseCodecsAndFilterManifest(a,g,h,f);k=$jscomp.makeIterator(a.variants);for(l=k.next();!l.done;l=k.next())m=l.value,goog.asserts.assert(shaka.util.StreamUtils.isPlayable(m),'We should have already filtered by "is playable"'),e.push(shaka.util.StreamUtils.variantToTrack(m));n=$jscomp.makeIterator(a.textStreams);for(p=n.next();!p.done;p=n.next())q=p.value,e.push(shaka.util.StreamUtils.textStreamToTrack(q));r=$jscomp.makeIterator(a.imageStreams);
|
|
2645
|
+
for(t=r.next();!t.done;t=r.next())u=t.value,e.push(shaka.util.StreamUtils.imageStreamToTrack(u));return I.yield(c.offline.trackSelectionCallback(e),3);case 3:v=I.yieldResult;w=a.presentationTimeline.getDuration();x=0;z=$jscomp.makeIterator(v);for(B=z.next();!B.done;B=z.next())D=B.value,y=D.bandwidth*w/8,x+=y;I.setCatchFinallyBlocks(4);return I.yield(c.offline.downloadSizeCallback(x),6);case 6:A=I.yieldResult;if(!A)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,
|
|
2645
2646
|
shaka.util.Error.Code.STORAGE_LIMIT_REACHED);I.leaveTryBlock(5);break;case 4:C=I.enterCatchBlock();if(C instanceof shaka.util.Error)throw C;shaka.log.warning("downloadSizeCallback has produced an unexpected error",C);throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.DOWNLOAD_SIZE_CALLBACK_ERROR);case 5:G=new Set;H=new Set;E=new Set;F=$jscomp.makeIterator(v);for(M=F.next();!M.done;M=F.next())J=M.value,"variant"==J.type&&G.add(J.id),
|
|
2646
2647
|
"text"==J.type&&H.add(J.id),"image"==J.type&&E.add(J.id);a.variants=a.variants.filter(function(L){return G.has(L.id)});a.textStreams=a.textStreams.filter(function(L){return H.has(L.id)});a.imageStreams=a.imageStreams.filter(function(L){return E.has(L.id)});shaka.offline.Storage.validateManifest_(a);I.jumpToEnd()}})};
|
|
2647
2648
|
shaka.offline.Storage.prototype.makeManifestDB_=function(a,b,c,d,e,f){var g=shaka.offline.StoredContentUtils.fromManifest(c,b,0,d),h=e.offline.progressCallback;f.setCallbacks(function(q,r){g.size=r;h(g,q)},function(q,r){k&&e.offline.usePersistentLicense&&l==r&&a.newInitData("cenc",q)});var k=this.getManifestIsEncrypted_(b)&&!this.getManifestIncludesInitData_(b),l=null;if(k){var m=a.getDrmInfo();l=shaka.offline.Storage.defaultSystemIds_.get(m.keySystem)}m=new shaka.offline.StreamBandwidthEstimator;
|