shaka-player 3.2.13 → 3.2.14
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/.github/workflows/build-and-test.yaml +11 -6
- package/.github/workflows/compute-incremental-coverage.py +14 -3
- package/.github/workflows/demo-version-index.yaml +9 -1
- package/.github/workflows/nightly-demo.yaml +1 -1
- package/.github/workflows/release-please.yaml +4 -4
- package/.github/workflows/report-incremental-coverage.yaml +1 -1
- package/.github/workflows/selenium-lab-tests.yaml +8 -6
- package/CHANGELOG.md +12 -0
- package/dist/deps.js +3 -3
- package/dist/locales.js +31 -31
- package/dist/shaka-player.compiled.d.ts +1 -0
- package/dist/shaka-player.compiled.debug.d.ts +1 -0
- package/dist/shaka-player.compiled.debug.externs.js +1 -0
- package/dist/shaka-player.compiled.debug.js +29 -28
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +1 -0
- package/dist/shaka-player.compiled.js +648 -648
- package/dist/shaka-player.compiled.map +3 -3
- package/dist/shaka-player.ui.d.ts +1 -0
- package/dist/shaka-player.ui.debug.d.ts +1 -0
- package/dist/shaka-player.ui.debug.externs.js +1 -0
- package/dist/shaka-player.ui.debug.js +142 -141
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +1 -0
- package/dist/shaka-player.ui.js +748 -748
- package/dist/shaka-player.ui.map +3 -3
- package/docs/tutorials/welcome.md +2 -2
- package/lib/ads/client_side_ad_manager.js +5 -2
- package/lib/media/drm_engine.js +4 -2
- package/lib/offline/indexeddb/storage_mechanism.js +24 -0
- package/lib/player.js +1 -1
- package/lib/polyfill/media_capabilities.js +1 -0
- package/lib/text/ttml_text_parser.js +69 -93
- package/lib/util/error.js +7 -0
- package/lib/util/periods.js +9 -9
- package/lib/util/xml_utils.js +45 -6
- package/package.json +1 -1
- package/test/offline/storage_integration.js +30 -0
- package/test/util/periods_unit.js +149 -11
- package/test/util/xml_utils_unit.js +64 -0
|
@@ -175,8 +175,8 @@ WEBM_CUE_TIME_ELEMENT_MISSING:3013,MEDIA_SOURCE_OPERATION_FAILED:3014,MEDIA_SOUR
|
|
|
175
175
|
DASH_CONFLICTING_KEY_IDS:4010,RESTRICTIONS_CANNOT_BE_MET:4012,HLS_PLAYLIST_HEADER_MISSING:4015,INVALID_HLS_TAG:4016,HLS_INVALID_PLAYLIST_HIERARCHY:4017,DASH_DUPLICATE_REPRESENTATION_ID:4018,HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND:4020,HLS_MASTER_PLAYLIST_NOT_PROVIDED:4022,HLS_REQUIRED_ATTRIBUTE_MISSING:4023,HLS_REQUIRED_TAG_MISSING:4024,HLS_COULD_NOT_GUESS_CODECS:4025,HLS_KEYFORMATS_NOT_SUPPORTED:4026,DASH_UNSUPPORTED_XLINK_ACTUATE:4027,DASH_XLINK_DEPTH_LIMIT:4028,HLS_COULD_NOT_PARSE_SEGMENT_START_TIME:4030,
|
|
176
176
|
CONTENT_UNSUPPORTED_BY_BROWSER:4032,CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM:4033,HLS_AES_128_ENCRYPTION_NOT_SUPPORTED:4034,HLS_INTERNAL_SKIP_STREAM:4035,NO_VARIANTS:4036,PERIOD_FLATTENING_FAILED:4037,INCONSISTENT_DRM_ACROSS_PERIODS:4038,HLS_VARIABLE_NOT_FOUND:4039,STREAMING_ENGINE_STARTUP_INVALID_STATE:5006,NO_RECOGNIZED_KEY_SYSTEMS:6E3,REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE:6001,FAILED_TO_CREATE_CDM:6002,FAILED_TO_ATTACH_TO_VIDEO:6003,INVALID_SERVER_CERTIFICATE:6004,FAILED_TO_CREATE_SESSION:6005,
|
|
177
177
|
FAILED_TO_GENERATE_LICENSE_REQUEST:6006,LICENSE_REQUEST_FAILED:6007,LICENSE_RESPONSE_REJECTED:6008,ENCRYPTED_CONTENT_WITHOUT_DRM_INFO:6010,NO_LICENSE_SERVER_GIVEN:6012,OFFLINE_SESSION_REMOVED:6013,EXPIRED:6014,SERVER_CERTIFICATE_REQUIRED:6015,INIT_DATA_TRANSFORM_ERROR:6016,SERVER_CERTIFICATE_REQUEST_FAILED:6017,LOAD_INTERRUPTED:7E3,OPERATION_ABORTED:7001,NO_VIDEO_ELEMENT:7002,OBJECT_DESTROYED:7003,CONTENT_NOT_LOADED:7004,CAST_API_UNAVAILABLE:8E3,NO_CAST_RECEIVERS:8001,ALREADY_CASTING:8002,UNEXPECTED_CAST_ERROR:8003,
|
|
178
|
-
CAST_CANCELED_BY_USER:8004,CAST_CONNECTION_TIMED_OUT:8005,CAST_RECEIVER_APP_UNAVAILABLE:8006,STORAGE_NOT_SUPPORTED:9E3,INDEXED_DB_ERROR:9001,DEPRECATED_OPERATION_ABORTED:9002,REQUESTED_ITEM_NOT_FOUND:9003,MALFORMED_OFFLINE_URI:9004,CANNOT_STORE_LIVE_OFFLINE:9005,NO_INIT_DATA_FOR_OFFLINE:9007,LOCAL_PLAYER_INSTANCE_REQUIRED:9008,NEW_KEY_OPERATION_NOT_SUPPORTED:9011,KEY_NOT_FOUND:9012,MISSING_STORAGE_CELL:9013,STORAGE_LIMIT_REACHED:9014,DOWNLOAD_SIZE_CALLBACK_ERROR:9015,
|
|
179
|
-
SS_IMA_SDK_MISSING:10002,SS_AD_MANAGER_NOT_INITIALIZED:10003,CURRENT_DAI_REQUEST_NOT_FINISHED:10004};goog.exportProperty(shaka.util.Error,"Code",shaka.util.Error.Code);/*
|
|
178
|
+
CAST_CANCELED_BY_USER:8004,CAST_CONNECTION_TIMED_OUT:8005,CAST_RECEIVER_APP_UNAVAILABLE:8006,STORAGE_NOT_SUPPORTED:9E3,INDEXED_DB_ERROR:9001,DEPRECATED_OPERATION_ABORTED:9002,REQUESTED_ITEM_NOT_FOUND:9003,MALFORMED_OFFLINE_URI:9004,CANNOT_STORE_LIVE_OFFLINE:9005,NO_INIT_DATA_FOR_OFFLINE:9007,LOCAL_PLAYER_INSTANCE_REQUIRED:9008,NEW_KEY_OPERATION_NOT_SUPPORTED:9011,KEY_NOT_FOUND:9012,MISSING_STORAGE_CELL:9013,STORAGE_LIMIT_REACHED:9014,DOWNLOAD_SIZE_CALLBACK_ERROR:9015,INDEXED_DB_INIT_TIMED_OUT:9017,
|
|
179
|
+
CS_IMA_SDK_MISSING:1E4,CS_AD_MANAGER_NOT_INITIALIZED:10001,SS_IMA_SDK_MISSING:10002,SS_AD_MANAGER_NOT_INITIALIZED:10003,CURRENT_DAI_REQUEST_NOT_FINISHED:10004};goog.exportProperty(shaka.util.Error,"Code",shaka.util.Error.Code);/*
|
|
180
180
|
@license
|
|
181
181
|
Copyright 2008 The Closure Library Authors
|
|
182
182
|
SPDX-License-Identifier: Apache-2.0
|
|
@@ -382,7 +382,16 @@ shaka.util.EventManager.Binding_.doesSupportObject_=function(a){var b=shaka.util
|
|
|
382
382
|
shaka.util.FairPlayUtils.initDataTransform=function(a,b,c){if(!c||!c.byteLength)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.SERVER_CERTIFICATE_REQUIRED);b="string"==typeof b?shaka.util.StringUtils.toUTF16(b,!0):b;a=shaka.util.StringUtils.fromBytesAutoDetect(a);a=shaka.util.StringUtils.toUTF16(a,!0);var d=new Uint8Array(12+a.byteLength+b.byteLength+c.byteLength),e=0,f=function(g){shaka.util.BufferUtils.toDataView(d).setUint32(e,
|
|
383
383
|
g.byteLength,!0);e+=4;d.set(shaka.util.BufferUtils.toUint8(g),e);e+=g.byteLength};f(a);f(b);f(c);goog.asserts.assert(e==d.length,"Inconsistent init data length");return d};goog.exportSymbol("shaka.util.FairPlayUtils",shaka.util.FairPlayUtils);goog.exportProperty(shaka.util.FairPlayUtils,"initDataTransform",shaka.util.FairPlayUtils.initDataTransform);goog.exportProperty(shaka.util.FairPlayUtils,"defaultGetContentId",shaka.util.FairPlayUtils.defaultGetContentId);shaka.util.Iterables=function(){};shaka.util.Iterables.map=function(a,b){for(var c=[],d=$jscomp.makeIterator(a),e=d.next();!e.done;e=d.next())c.push(b(e.value));return c};shaka.util.Iterables.every=function(a,b){for(var c=$jscomp.makeIterator(a),d=c.next();!d.done;d=c.next())if(!b(d.value))return!1;return!0};shaka.util.Iterables.some=function(a,b){for(var c=$jscomp.makeIterator(a),d=c.next();!d.done;d=c.next())if(b(d.value))return!0;return!1};
|
|
384
384
|
shaka.util.Iterables.filter=function(a,b){for(var c=[],d=$jscomp.makeIterator(a),e=d.next();!e.done;e=d.next())e=e.value,b(e)&&c.push(e);return c};shaka.util.MapUtils=function(){};shaka.util.MapUtils.asMap=function(a){for(var b=new Map,c=$jscomp.makeIterator(Object.keys(a)),d=c.next();!d.done;d=c.next())d=d.value,b.set(d,a[d]);return b};shaka.util.MapUtils.asObject=function(a){var b={};a.forEach(function(c,d){b[d]=c});return b};
|
|
385
|
-
shaka.util.MapUtils.hasSameElements=function(a,b){if(a||b){if(a&&!b||b&&!a)return!1}else return!0;if(a.size!=b.size)return!1;for(var c=$jscomp.makeIterator(a),d=c.next();!d.done;d=c.next()){var e=$jscomp.makeIterator(d.value);d=e.next().value;e=e.next().value;if(!b.has(d))return!1;d=b.get(d);if(d!=e||void 0==d)return!1}return!0};shaka.
|
|
385
|
+
shaka.util.MapUtils.hasSameElements=function(a,b){if(a||b){if(a&&!b||b&&!a)return!1}else return!0;if(a.size!=b.size)return!1;for(var c=$jscomp.makeIterator(a),d=c.next();!d.done;d=c.next()){var e=$jscomp.makeIterator(d.value);d=e.next().value;e=e.next().value;if(!b.has(d))return!1;d=b.get(d);if(d!=e||void 0==d)return!1}return!0};shaka.util.XmlUtils=function(){};shaka.util.XmlUtils.findChild=function(a,b){var c=shaka.util.XmlUtils.findChildren(a,b);return 1!=c.length?null:c[0]};shaka.util.XmlUtils.findChildNS=function(a,b,c){a=shaka.util.XmlUtils.findChildrenNS(a,b,c);return 1!=a.length?null:a[0]};shaka.util.XmlUtils.findChildren=function(a,b){for(var c=[],d=$jscomp.makeIterator(a.childNodes),e=d.next();!e.done;e=d.next())e=e.value,e instanceof Element&&e.tagName==b&&c.push(e);return c};
|
|
386
|
+
shaka.util.XmlUtils.getChildren=function(a){return Array.from(a.childNodes).filter(function(b){return b instanceof Element})};shaka.util.XmlUtils.findChildrenNS=function(a,b,c){var d=[];a=$jscomp.makeIterator(a.childNodes);for(var e=a.next();!e.done;e=a.next())e=e.value,e instanceof Element&&e.localName==c&&e.namespaceURI==b&&d.push(e);return d};shaka.util.XmlUtils.getAttributeNS=function(a,b,c){return a.hasAttributeNS(b,c)?a.getAttributeNS(b,c):null};
|
|
387
|
+
shaka.util.XmlUtils.getAttributeNSList=function(a,b,c){b=$jscomp.makeIterator(b);for(var d=b.next();!d.done;d=b.next())if(d=d.value,a.hasAttributeNS(d,c))return a.getAttributeNS(d,c);return null};shaka.util.XmlUtils.getContents=function(a){var b=shaka.util.XmlUtils;return Array.from(a.childNodes).every(b.isText)?a.textContent.trim():null};shaka.util.XmlUtils.isText=function(a){return a.nodeType==Node.TEXT_NODE||a.nodeType==Node.CDATA_SECTION_NODE};
|
|
388
|
+
shaka.util.XmlUtils.parseAttr=function(a,b,c,d){d=void 0===d?null:d;var e=null;a=a.getAttribute(b);null!=a&&(e=c(a));return null==e?d:e};shaka.util.XmlUtils.parseDate=function(a){if(!a)return null;/^\d+-\d+-\d+T\d+:\d+:\d+(\.\d+)?$/.test(a)&&(a+="Z");a=Date.parse(a);return isNaN(a)?null:Math.floor(a/1E3)};
|
|
389
|
+
shaka.util.XmlUtils.parseDuration=function(a){if(!a)return null;var b=RegExp("^P(?:([0-9]*)Y)?(?:([0-9]*)M)?(?:([0-9]*)D)?(?:T(?:([0-9]*)H)?(?:([0-9]*)M)?(?:([0-9.]*)S)?)?$").exec(a);if(!b)return shaka.log.warning("Invalid duration string:",a),null;a=31536E3*Number(b[1]||null)+2592E3*Number(b[2]||null)+86400*Number(b[3]||null)+3600*Number(b[4]||null)+60*Number(b[5]||null)+Number(b[6]||null);return isFinite(a)?a:null};
|
|
390
|
+
shaka.util.XmlUtils.parseRange=function(a){var b=/([0-9]+)-([0-9]+)/.exec(a);if(!b)return null;a=Number(b[1]);if(!isFinite(a))return null;b=Number(b[2]);return isFinite(b)?{start:a,end:b}:null};shaka.util.XmlUtils.parseInt=function(a){a=Number(a);return 0===a%1?a:null};shaka.util.XmlUtils.parsePositiveInt=function(a){a=Number(a);return 0===a%1&&0<a?a:null};shaka.util.XmlUtils.parseNonNegativeInt=function(a){a=Number(a);return 0===a%1&&0<=a?a:null};
|
|
391
|
+
shaka.util.XmlUtils.parseFloat=function(a){a=Number(a);return isNaN(a)?null:a};shaka.util.XmlUtils.evalDivision=function(a){var b;var c=(b=a.match(/^(\d+)\/(\d+)$/))?Number(b[1])/Number(b[2]):Number(a);return isNaN(c)?null:c};
|
|
392
|
+
shaka.util.XmlUtils.parseXmlString=function(a,b){var c=new DOMParser,d=shaka.util.XmlUtils.trustedHTMLFromString_.value()(a),e=null;try{e=c.parseFromString(d,"text/xml")}catch(f){return shaka.log.error("XML parsing exception:",f),null}goog.asserts.assert(e,"Parsed XML document cannot be null!");c=e.documentElement;if(!c)return shaka.log.error("XML document was empty!"),null;d=c.getElementsByTagName("parsererror");if(d.length)return shaka.log.error("XML parser error found:",d[0]),null;if(c.tagName!=
|
|
393
|
+
b)return shaka.log.error('XML tag name does not match expected "'+b+'":',c.tagName),null;for(e=document.createNodeIterator(e,NodeFilter.SHOW_ALL);d=e.nextNode();)if(d instanceof HTMLElement||d instanceof SVGElement)return shaka.log.error("XML document embeds unsafe content!"),null;return c};shaka.util.XmlUtils.parseXml=function(a,b){try{var c=shaka.util.StringUtils.fromUTF8(a);return shaka.util.XmlUtils.parseXmlString(c,b)}catch(d){return shaka.log.error("parseXmlString threw!",d),null}};
|
|
394
|
+
shaka.util.XmlUtils.trustedHTMLFromString_=new shaka.util.Lazy(function(){if("undefined"!==typeof trustedTypes){var a=trustedTypes.createPolicy("shaka-player#xml",{createHTML:function(b){return b}});return function(b){return a.createHTML(b)}}return function(b){return b}});shaka.media.DrmEngine=function(a,b){var c=this;b=void 0===b?1:b;this.playerInterface_=a;this.supportedTypes_=new Set;this.video_=this.mediaKeys_=null;this.initializedForStorage_=this.initialized_=!1;this.licenseTimeSeconds_=0;this.currentDrmInfo_=null;this.eventManager_=new shaka.util.EventManager;this.activeSessions_=new Map;this.offlineSessionIds_=[];this.allSessionsLoaded_=new shaka.util.PublicPromise;this.config_=null;this.onError_=function(d){c.allSessionsLoaded_.reject(d);a.onError(d)};this.keyStatusByKeyId_=
|
|
386
395
|
new Map;this.announcedKeyStatusByKeyId_=new Map;this.keyStatusTimer_=new shaka.util.Timer(function(){return c.processKeyStatusChanges_()});this.usePersistentLicenses_=!1;this.mediaKeyMessageEvents_=[];this.initialRequestsSent_=!1;this.expirationTimer_=(new shaka.util.Timer(function(){c.pollExpiration_()})).tickEvery(b);this.allSessionsLoaded_["catch"](function(){});this.destroyer_=new shaka.util.Destroyer(function(){return c.destroyNow_()});this.srcEquals_=!1};
|
|
387
396
|
shaka.media.DrmEngine.prototype.destroy=function(){return this.destroyer_.destroy()};
|
|
388
397
|
shaka.media.DrmEngine.prototype.destroyNow_=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(b){switch(b.nextAddress){case 1:return a.eventManager_.release(),a.eventManager_=null,a.allSessionsLoaded_.reject(),a.expirationTimer_.stop(),a.expirationTimer_=null,a.keyStatusTimer_.stop(),a.keyStatusTimer_=null,b.yield(a.closeOpenSessions_(),2);case 2:if(!a.video_){b.jumpTo(3);break}goog.asserts.assert(!a.video_.src,"video src must be removed first!");b.setCatchFinallyBlocks(4);
|
|
@@ -434,10 +443,10 @@ shaka.media.DrmEngine.prototype.sendLicenseRequest_=function(a){var b=this,c,d,e
|
|
|
434
443
|
w.yield(n.promise,4);case 4:m=w.yieldResult;w.leaveTryBlock(3);break;case 2:return p=w.enterCatchBlock(),goog.asserts.assert(p instanceof shaka.util.Error,"Wrong NetworkingEngine error type!"),q=new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.LICENSE_REQUEST_FAILED,p),b.onError_(q),e&&e.updatePromise&&e.updatePromise.reject(q),w["return"]();case 3:if(b.destroyer_.destroyed())return w["return"]();b.licenseTimeSeconds_+=(Date.now()-l)/1E3;
|
|
435
444
|
b.config_.logLicenseExchange&&(r=shaka.util.Uint8ArrayUtils.toBase64(m.data),shaka.log.info("EME license response",r));w.setCatchFinallyBlocks(5);shaka.log.v1("Updating session",c.sessionId);return w.yield(c.update(m.data),7);case 7:w.leaveTryBlock(6);break;case 5:return v=w.enterCatchBlock(),t=new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.LICENSE_RESPONSE_REJECTED,v.message),b.onError_(t),e&&e.updatePromise&&e.updatePromise.reject(t),
|
|
436
445
|
w["return"]();case 6:if(b.destroyer_.destroyed())return w["return"]();u=new shaka.util.FakeEvent("drmsessionupdate");b.playerInterface_.onEvent(u);e&&(e.updatePromise&&e.updatePromise.resolve(),y=new shaka.util.Timer(function(){e.loaded=!0;b.areAllSessionsLoaded_()&&b.allSessionsLoaded_.resolve()}),y.tickAfter(shaka.media.DrmEngine.SESSION_LOAD_TIMEOUT_));w.jumpToEnd()}})};
|
|
437
|
-
shaka.media.DrmEngine.prototype.unpackPlayReadyRequest_=function(a){var b=shaka.util.StringUtils.fromUTF16(a.body,!0,!0);if(b.includes("PlayReadyKeyMessage")){shaka.log.debug("Unwrapping PlayReady request.");b=(
|
|
438
|
-
a.headers[d.textContent]=e.textContent}b=b.getElementsByTagName("Challenge")[0];goog.asserts.assert(b,"Malformed PlayReady challenge!");goog.asserts.assert("base64encoded"==b.getAttribute("encoding"),"Unexpected PlayReady challenge encoding!");a.body=shaka.util.Uint8ArrayUtils.fromBase64(b.textContent)}else shaka.log.debug("PlayReady request is already unwrapped."),a.headers["Content-Type"]="text/xml; charset=utf-8"};
|
|
446
|
+
shaka.media.DrmEngine.prototype.unpackPlayReadyRequest_=function(a){var b=shaka.util.StringUtils.fromUTF16(a.body,!0,!0);if(b.includes("PlayReadyKeyMessage")){shaka.log.debug("Unwrapping PlayReady request.");b=shaka.util.XmlUtils.parseXmlString(b,"PlayReadyKeyMessage");goog.asserts.assert(b,"Failed to parse PlayReady XML!");var c=b.getElementsByTagName("HttpHeader");c=$jscomp.makeIterator(c);for(var d=c.next();!d.done;d=c.next()){var e=d.value;d=e.getElementsByTagName("name")[0];e=e.getElementsByTagName("value")[0];
|
|
447
|
+
goog.asserts.assert(d&&e,"Malformed PlayReady headers!");a.headers[d.textContent]=e.textContent}b=b.getElementsByTagName("Challenge")[0];goog.asserts.assert(b,"Malformed PlayReady challenge!");goog.asserts.assert("base64encoded"==b.getAttribute("encoding"),"Unexpected PlayReady challenge encoding!");a.body=shaka.util.Uint8ArrayUtils.fromBase64(b.textContent)}else shaka.log.debug("PlayReady request is already unwrapped."),a.headers["Content-Type"]="text/xml; charset=utf-8"};
|
|
439
448
|
shaka.media.DrmEngine.prototype.onKeyStatusesChange_=function(a){var b=this;a=a.target;shaka.log.v2("Key status changed for session",a.sessionId);var c=this.activeSessions_.get(a),d=!1;a.keyStatuses.forEach(function(f,g){if("string"==typeof g){var h=g;g=f;f=h}if(shaka.media.DrmEngine.isPlayReadyKeySystem(b.currentDrmInfo_.keySystem)&&16==g.byteLength&&(shaka.util.Platform.isEdge()||shaka.util.Platform.isPS4())){h=shaka.util.BufferUtils.toDataView(g);var k=h.getUint32(0,!0),l=h.getUint16(4,!0),m=h.getUint16(6,
|
|
440
|
-
!0);h.setUint32(0,k,!1);h.setUint16(4,l,!1);h.setUint16(6,m,!1)}"status-pending"!=f&&(c.loaded=!0);c||goog.asserts.assert("usable"!=f,"Usable keys found in closed session");"expired"==f&&(d=!0);h=shaka.util.Uint8ArrayUtils.toHex(g);b.keyStatusByKeyId_.set(h,f)});var e=a.expiration-Date.now();(0>e||d&&1E3>e)&&c&&!c.updatePromise&&(shaka.log.debug("Session has expired",a.sessionId),this.activeSessions_["delete"](a),a.close()["catch"](function(){}));this.areAllSessionsLoaded_()&&(this.allSessionsLoaded_.resolve(),
|
|
449
|
+
!0);h.setUint32(0,k,!1);h.setUint16(4,l,!1);h.setUint16(6,m,!1)}"status-pending"!=f&&(c.loaded=!0);c||goog.asserts.assert("usable"!=f,"Usable keys found in closed session");"expired"==f&&(d=!0);h=shaka.util.Uint8ArrayUtils.toHex(g).slice(0,32);b.keyStatusByKeyId_.set(h,f)});var e=a.expiration-Date.now();(0>e||d&&1E3>e)&&c&&!c.updatePromise&&(shaka.log.debug("Session has expired",a.sessionId),this.activeSessions_["delete"](a),a.close()["catch"](function(){}));this.areAllSessionsLoaded_()&&(this.allSessionsLoaded_.resolve(),
|
|
441
450
|
this.keyStatusTimer_.tickAfter(shaka.media.DrmEngine.KEY_STATUS_BATCH_TIME))};shaka.media.DrmEngine.prototype.processKeyStatusChanges_=function(){var a=this.keyStatusByKeyId_,b=this.announcedKeyStatusByKeyId_;b.clear();a.forEach(function(c,d){return b.set(d,c)});a=Array.from(b.values());if(a.length&&a.every(function(c){return"expired"==c}))this.onError_(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.EXPIRED));this.playerInterface_.onKeyStatus(shaka.util.MapUtils.asObject(b))};
|
|
442
451
|
shaka.media.DrmEngine.isBrowserSupported=function(){return!!window.MediaKeys&&!!window.navigator&&!!window.navigator.requestMediaKeySystemAccess&&!!window.MediaKeySystemAccess&&!!window.MediaKeySystemAccess.prototype.getConfiguration};
|
|
443
452
|
shaka.media.DrmEngine.probeSupport=function(){var a,b,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){return 1==k.nextAddress?(goog.asserts.assert(shaka.media.DrmEngine.isBrowserSupported(),"Must have basic EME support"),a="org.w3.clearkey com.widevine.alpha com.microsoft.playready com.microsoft.playready.recommendation com.apple.fps.3_0 com.apple.fps.2_0 com.apple.fps.1_0 com.apple.fps com.adobe.primetime".split(" "),b=[{contentType:'video/mp4; codecs="avc1.42E01E"'},{contentType:'video/webm; codecs="vp8"'}],
|
|
@@ -1056,7 +1065,7 @@ goog.exportProperty(shaka.Player.prototype,"getMediaElement",shaka.Player.protot
|
|
|
1056
1065
|
goog.exportProperty(shaka.Player.prototype,"configure",shaka.Player.prototype.configure);goog.exportProperty(shaka.Player.prototype,"load",shaka.Player.prototype.load);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,"attach",shaka.Player.prototype.attach);goog.exportProperty(shaka.Player,"probeSupport",shaka.Player.probeSupport);
|
|
1057
1066
|
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);
|
|
1058
1067
|
shaka.Player.EventName={AbrStatusChanged:"abrstatuschanged",Adaptation:"adaptation",Buffering:"buffering",DrmSessionUpdate:"drmsessionupdate",Emsg:"emsg",Error:"error",ExpirationUpdated:"expirationupdated",LargeGap:"largegap",Loaded:"loaded",Loading:"loading",ManifestParsed:"manifestparsed",Metadata:"metadata",OnStateChange:"onstatechange",OnStateIdle:"onstateidle",RateChange:"ratechange",SessionDataEvent:"sessiondata",Streaming:"streaming",TextChanged:"textchanged",TextTrackVisibility:"texttrackvisibility",
|
|
1059
|
-
TimelineRegionAdded:"timelineregionadded",TimelineRegionEnter:"timelineregionenter",TimelineRegionExit:"timelineregionexit",TracksChanged:"trackschanged",Unloading:"unloading",VariantChanged:"variantchanged"};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="v3.2.
|
|
1068
|
+
TimelineRegionAdded:"timelineregionadded",TimelineRegionEnter:"timelineregionenter",TimelineRegionExit:"timelineregionexit",TracksChanged:"trackschanged",Unloading:"unloading",VariantChanged:"variantchanged"};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="v3.2.14-debug";goog.exportProperty(shaka.Player,"version",shaka.Player.version);shaka.Deprecate.init(shaka.Player.version);
|
|
1060
1069
|
shaka.Player.restrictedStatuses_=["output-restricted","internal-error"];shaka.Player.supportPlugins_={};shaka.Player.adManagerFactory_=null;shaka.Player.SRC_EQUAL_EXTENSIONS_TO_MIME_TYPES_={mp4:"video/mp4",m4v:"video/mp4",m4a:"audio/mp4",webm:"video/webm",weba:"audio/webm",mkv:"video/webm",ts:"video/mp2t",ogv:"video/ogg",ogg:"audio/ogg",mpg:"video/mpeg",mpeg:"video/mpeg",m3u8:"application/x-mpegurl",mpd:"application/dash+xml",mp3:"audio/mpeg",aac:"audio/aac",flac:"audio/flac",wav:"audio/wav"};
|
|
1061
1070
|
shaka.Player.TEXT_EXTENSIONS_TO_MIME_TYPES_={sbv:"text/x-subviewer",srt:"text/srt",vtt:"text/vtt",webvtt:"text/vtt",ttml:"application/ttml+xml",lrc:"application/x-subtitle-lrc",ssa:"text/x-ssa",ass:"text/x-ssa"};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_++};
|
|
1062
1071
|
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){var c=this;this.ad_=a;this.manager_=b;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(){c.isPaused_=!0});this.eventManager_.listen(this.manager_,google.ima.AdEvent.Type.RESUMED,function(){c.isPaused_=!1})};shaka.ads.ClientSideAd.prototype.getDuration=function(){return this.ad_.getDuration()};
|
|
@@ -1075,7 +1084,7 @@ shaka.ads.ClientSideAdManager.prototype.release=function(){this.stop();this.resi
|
|
|
1075
1084
|
shaka.ads.ClientSideAdManager.prototype.onAdError_=function(a){shaka.log.warning("There was an ad error from the IMA SDK: "+a.getError());shaka.log.warning("Resuming playback.");this.onAdComplete_(null);this.onEvent_(new shaka.util.FakeEvent(shaka.ads.AdManager.CUEPOINTS_CHANGED,(new Map).set("cuepoints",[])))};
|
|
1076
1085
|
shaka.ads.ClientSideAdManager.prototype.onAdsManagerLoaded_=function(a){var b=this;goog.asserts.assert(null!=this.video_,"Video should not be null!");var c=Date.now()/1E3-this.requestAdsStartTime_;this.onEvent_(new shaka.util.FakeEvent(shaka.ads.AdManager.ADS_LOADED,(new Map).set("loadTime",c)));this.imaAdsManager_=a.getAdsManager(this.video_);this.onEvent_(new shaka.util.FakeEvent(shaka.ads.AdManager.IMA_AD_MANAGER_LOADED,(new Map).set("imaAdManager",this.imaAdsManager_)));c=this.imaAdsManager_.getCuePoints();
|
|
1077
1086
|
if(c.length){a=[];c=$jscomp.makeIterator(c);for(var d=c.next();!d.done;d=c.next())a.push({start:d.value,end:null});this.onEvent_(new shaka.util.FakeEvent(shaka.ads.AdManager.CUEPOINTS_CHANGED,(new Map).set("cuepoints",a)))}this.addImaEventListeners_();try{this.imaAdsManager_.init(this.video_.offsetWidth,this.video_.offsetHeight,document.fullscreenElement?google.ima.ViewMode.FULLSCREEN:google.ima.ViewMode.NORMAL),this.eventManager_.listen(this.video_,"loadeddata",function(){b.imaAdsManager_.resize(b.video_.offsetWidth,
|
|
1078
|
-
b.video_.offsetHeight,document.fullscreenElement?google.ima.ViewMode.FULLSCREEN:google.ima.ViewMode.NORMAL)}),"ResizeObserver"in window&&(this.resizeObserver_=new ResizeObserver(function(){b.imaAdsManager_.resize(b.video_.offsetWidth,b.video_.offsetHeight,document.fullscreenElement?google.ima.ViewMode.FULLSCREEN:google.ima.ViewMode.NORMAL)}),this.resizeObserver_.observe(this.video_)),this.imaAdsManager_.start()}catch(e){this.onAdComplete_(null)}};
|
|
1087
|
+
b.video_.offsetHeight,document.fullscreenElement?google.ima.ViewMode.FULLSCREEN:google.ima.ViewMode.NORMAL)}),"ResizeObserver"in window&&(this.resizeObserver_=new ResizeObserver(function(){b.imaAdsManager_.resize(b.video_.offsetWidth,b.video_.offsetHeight,document.fullscreenElement?google.ima.ViewMode.FULLSCREEN:google.ima.ViewMode.NORMAL)}),this.resizeObserver_.observe(this.video_)),this.video_.addEventListener("play",function(){b.imaAdsManager_.start()},{once:!0})}catch(e){this.onAdComplete_(null)}};
|
|
1079
1088
|
shaka.ads.ClientSideAdManager.prototype.addImaEventListeners_=function(){var a=this,b=function(c,d){var e=(new Map).set("originalEvent",c);a.onEvent_(new shaka.util.FakeEvent(d,e))};this.eventManager_.listen(this.imaAdsManager_,google.ima.AdErrorEvent.Type.AD_ERROR,function(c){a.onAdError_(c)});this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,function(c){a.onAdStart_(c)});this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.STARTED,function(c){a.onAdStart_(c)});
|
|
1080
1089
|
this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.FIRST_QUARTILE,function(c){b(c,shaka.ads.AdManager.AD_FIRST_QUARTILE)});this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.MIDPOINT,function(c){b(c,shaka.ads.AdManager.AD_MIDPOINT)});this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.THIRD_QUARTILE,function(c){b(c,shaka.ads.AdManager.AD_THIRD_QUARTILE)});this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.COMPLETE,function(c){b(c,
|
|
1081
1090
|
shaka.ads.AdManager.AD_COMPLETE)});this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,function(c){a.onAdComplete_(c)});this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.ALL_ADS_COMPLETED,function(c){a.onAdComplete_(c)});this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.SKIPPED,function(c){b(c,shaka.ads.AdManager.AD_SKIPPED)});this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.VOLUME_CHANGED,function(c){b(c,
|
|
@@ -1227,15 +1236,7 @@ shaka.util.Pssh.prototype.parsePsshBox_=function(a){goog.asserts.assert(null!=a.
|
|
|
1227
1236
|
if(0<a.version){b=a.reader.readUint32();for(var c=0;c<b;c++){var d=shaka.util.Uint8ArrayUtils.toHex(a.reader.readBytes(16));this.cencKeyIds.push(d)}}}};
|
|
1228
1237
|
shaka.util.Pssh.createPssh=function(a,b){goog.asserts.assert(16==b.byteLength,"Invalid system ID length");var c=a.length,d=12+b.length+4+c,e=new Uint8Array(d),f=shaka.util.BufferUtils.toDataView(e),g=0;f.setUint32(g,d);g+=4;f.setUint32(g,1886614376);g+=4;f.setUint32(g,0);g+=4;e.set(b,g);g+=b.length;f.setUint32(g,c);g+=4;e.set(a,g);goog.asserts.assert(g+c===d,"PSSH invalid length.");return e};
|
|
1229
1238
|
shaka.util.Pssh.normaliseInitData=function(a){if(!a)return a;var b=new shaka.util.Pssh(a);if(1>=b.data.length)return a;a=[];var c={};b=$jscomp.makeIterator(b.data);for(var d=b.next();!d.done;c={$jscomp$loop$prop$initData$484$594:c.$jscomp$loop$prop$initData$484$594},d=b.next())c.$jscomp$loop$prop$initData$484$594=d.value,a.some(function(e){return function(f){return shaka.util.BufferUtils.equal(f,e.$jscomp$loop$prop$initData$484$594)}}(c))||a.push(c.$jscomp$loop$prop$initData$484$594);return shaka.util.Uint8ArrayUtils.concat.apply(shaka.util.Uint8ArrayUtils,
|
|
1230
|
-
$jscomp.arrayFromIterable(a))};shaka.
|
|
1231
|
-
shaka.util.XmlUtils.getChildren=function(a){return Array.from(a.childNodes).filter(function(b){return b instanceof Element})};shaka.util.XmlUtils.findChildrenNS=function(a,b,c){var d=[];a=$jscomp.makeIterator(a.childNodes);for(var e=a.next();!e.done;e=a.next())e=e.value,e instanceof Element&&e.localName==c&&e.namespaceURI==b&&d.push(e);return d};shaka.util.XmlUtils.getAttributeNS=function(a,b,c){return a.hasAttributeNS(b,c)?a.getAttributeNS(b,c):null};
|
|
1232
|
-
shaka.util.XmlUtils.getAttributeNSList=function(a,b,c){b=$jscomp.makeIterator(b);for(var d=b.next();!d.done;d=b.next())if(d=d.value,a.hasAttributeNS(d,c))return a.getAttributeNS(d,c);return null};shaka.util.XmlUtils.getContents=function(a){var b=shaka.util.XmlUtils;return Array.from(a.childNodes).every(b.isText)?a.textContent.trim():null};shaka.util.XmlUtils.isText=function(a){return a.nodeType==Node.TEXT_NODE||a.nodeType==Node.CDATA_SECTION_NODE};
|
|
1233
|
-
shaka.util.XmlUtils.parseAttr=function(a,b,c,d){d=void 0===d?null:d;var e=null;a=a.getAttribute(b);null!=a&&(e=c(a));return null==e?d:e};shaka.util.XmlUtils.parseDate=function(a){if(!a)return null;/^\d+-\d+-\d+T\d+:\d+:\d+(\.\d+)?$/.test(a)&&(a+="Z");a=Date.parse(a);return isNaN(a)?null:Math.floor(a/1E3)};
|
|
1234
|
-
shaka.util.XmlUtils.parseDuration=function(a){if(!a)return null;var b=RegExp("^P(?:([0-9]*)Y)?(?:([0-9]*)M)?(?:([0-9]*)D)?(?:T(?:([0-9]*)H)?(?:([0-9]*)M)?(?:([0-9.]*)S)?)?$").exec(a);if(!b)return shaka.log.warning("Invalid duration string:",a),null;a=31536E3*Number(b[1]||null)+2592E3*Number(b[2]||null)+86400*Number(b[3]||null)+3600*Number(b[4]||null)+60*Number(b[5]||null)+Number(b[6]||null);return isFinite(a)?a:null};
|
|
1235
|
-
shaka.util.XmlUtils.parseRange=function(a){var b=/([0-9]+)-([0-9]+)/.exec(a);if(!b)return null;a=Number(b[1]);if(!isFinite(a))return null;b=Number(b[2]);return isFinite(b)?{start:a,end:b}:null};shaka.util.XmlUtils.parseInt=function(a){a=Number(a);return 0===a%1?a:null};shaka.util.XmlUtils.parsePositiveInt=function(a){a=Number(a);return 0===a%1&&0<a?a:null};shaka.util.XmlUtils.parseNonNegativeInt=function(a){a=Number(a);return 0===a%1&&0<=a?a:null};
|
|
1236
|
-
shaka.util.XmlUtils.parseFloat=function(a){a=Number(a);return isNaN(a)?null:a};shaka.util.XmlUtils.evalDivision=function(a){var b;var c=(b=a.match(/^(\d+)\/(\d+)$/))?Number(b[1])/Number(b[2]):Number(a);return isNaN(c)?null:c};
|
|
1237
|
-
shaka.util.XmlUtils.parseXmlString=function(a,b){var c=new DOMParser,d=null;try{d=c.parseFromString(a,"text/xml")}catch(f){return shaka.log.error("XML parsing exception:",f),null}goog.asserts.assert(d,"Parsed XML document cannot be null!");c=d.documentElement;if(!c)return shaka.log.error("XML document was empty!"),null;var e=c.getElementsByTagName("parsererror");return e.length?(shaka.log.error("XML parser error found:",e[0]),null):d.documentElement.tagName!=b?(shaka.log.error('XML tag name does not match expected "'+
|
|
1238
|
-
b+'":',d.documentElement.tagName),null):c};shaka.util.XmlUtils.parseXml=function(a,b){try{var c=shaka.util.StringUtils.fromUTF8(a);return shaka.util.XmlUtils.parseXmlString(c,b)}catch(d){return shaka.log.error("parseXmlString threw!",d),null}};shaka.dash={};shaka.dash.ContentProtection=function(){};
|
|
1239
|
+
$jscomp.arrayFromIterable(a))};shaka.dash={};shaka.dash.ContentProtection=function(){};
|
|
1239
1240
|
shaka.dash.ContentProtection.parseFromAdaptationSet=function(a,b,c){var d=shaka.dash.ContentProtection,e=shaka.util.ManifestParserUtils,f=d.parseElements_(a),g=null;a=[];var h=[],k=new Set(f.map(function(l){return l.keyId}));k["delete"](null);if(1<k.size)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_CONFLICTING_KEY_IDS);b||(h=f.filter(function(l){return l.schemeUri==d.MP4Protection_?(goog.asserts.assert(!l.init||l.init.length,
|
|
1240
1241
|
"Init data must be null or non-empty."),g=l.init||g,!1):!0}),h.length&&(a=d.convertElements_(g,h,c),0==a.length&&(a=[e.createDrmInfo("",g)])));if(f.length&&(b||!h.length))for(a=[],b=$jscomp.makeIterator(Object.values(c)),c=b.next();!c.done;c=b.next())c=c.value,"org.w3.clearkey"!=c&&(c=e.createDrmInfo(c,g),a.push(c));if(e=Array.from(k)[0]||null)for(k=$jscomp.makeIterator(a),b=k.next();!b.done;b=k.next())for(b=$jscomp.makeIterator(b.value.initData),c=b.next();!c.done;c=b.next())c.value.keyId=e;return{defaultKeyId:e,
|
|
1241
1242
|
defaultInit:g,drmInfos:a,firstRepresentation:!0}};
|
|
@@ -1367,8 +1368,8 @@ e.next().value;e=e.next().value;a.closedCaptions.set(d,e)}}};shaka.util.PeriodCo
|
|
|
1367
1368
|
shaka.util.PeriodCombiner.findBestMatchInPeriod_=function(a,b){for(var c={audio:shaka.util.PeriodCombiner.areAVStreamsCompatible_,video:shaka.util.PeriodCombiner.areAVStreamsCompatible_,text:shaka.util.PeriodCombiner.areTextStreamsCompatible_,image:shaka.util.PeriodCombiner.areImageStreamsCompatible_}[b.type],d={audio:shaka.util.PeriodCombiner.isAudioStreamBetterMatch_,video:shaka.util.PeriodCombiner.isVideoStreamBetterMatch_,text:shaka.util.PeriodCombiner.isTextStreamBetterMatch_,image:shaka.util.PeriodCombiner.isImageStreamBetterMatch_}[b.type],
|
|
1368
1369
|
e=null,f=$jscomp.makeIterator(a),g=f.next();!g.done;g=f.next())g=g.value,!c(b,g)||e&&!d(b,e,g)||(e=g);return e};shaka.util.PeriodCombiner.areAVStreamsCompatible_=function(a,b){return b.mimeType!=a.mimeType||shaka.util.MimeUtils.getNormalizedCodec(b.codecs)!=shaka.util.MimeUtils.getNormalizedCodec(a.codecs)||a.drmInfos&&!shaka.media.DrmEngine.areDrmCompatible(a.drmInfos,b.drmInfos)?!1:!0};
|
|
1369
1370
|
shaka.util.PeriodCombiner.areTextStreamsCompatible_=function(a,b){return a.language?b.language?0==shaka.util.LanguageUtils.relatedness(a.language,b.language)||b.kind!=a.kind?!1:!0:!0:!1};shaka.util.PeriodCombiner.areImageStreamsCompatible_=function(a,b){return a.tilesLayout?!0:!1};
|
|
1370
|
-
shaka.util.PeriodCombiner.isAudioStreamBetterMatch_=function(a,b,c){var d=shaka.util.LanguageUtils,e=shaka.util.PeriodCombiner.BetterOrWorse,f=e.BETTER;e=e.WORSE;if(a.id==c.id)return!0;var g=d.relatedness(a.language,b.language);d=d.relatedness(a.language,c.language);if(d>g)return!0;if(d<g)return!1;if(
|
|
1371
|
-
|
|
1371
|
+
shaka.util.PeriodCombiner.isAudioStreamBetterMatch_=function(a,b,c){var d=shaka.util.LanguageUtils,e=shaka.util.PeriodCombiner.BetterOrWorse,f=e.BETTER;e=e.WORSE;if(a.id==c.id)return!0;var g=d.relatedness(a.language,b.language);d=d.relatedness(a.language,c.language);if(d>g)return!0;if(d<g)return!1;if(a.roles.length)return f=b.roles.filter(function(h){return a.roles.includes(h)}),e=c.roles.filter(function(h){return a.roles.includes(h)}),e.length>f.length?!0:e.length<f.length?!1:c.roles.length<b.roles.length;
|
|
1372
|
+
if(!c.roles.length&&b.roles.length)return!0;if(c.roles.length&&!b.roles.length)return!1;if(!b.primary&&c.primary)return!0;if(b.primary&&!c.primary)return!1;d=shaka.util.PeriodCombiner.compareClosestPreferLower(a.channelsCount,b.channelsCount,c.channelsCount);if(d==f)return!0;if(d==e)return!1;d=shaka.util.PeriodCombiner.compareClosestPreferLower(a.audioSamplingRate,b.audioSamplingRate,c.audioSamplingRate);return d==f?!0:d==e?!1:a.bandwidth&&shaka.util.PeriodCombiner.compareClosestPreferMinimalAbsDiff_(a.bandwidth,
|
|
1372
1373
|
b.bandwidth,c.bandwidth)==f?!0:!1};
|
|
1373
1374
|
shaka.util.PeriodCombiner.isVideoStreamBetterMatch_=function(a,b,c){var d=shaka.util.PeriodCombiner.BetterOrWorse,e=d.BETTER;d=d.WORSE;if(a.id==c.id)return!0;var f=shaka.util.PeriodCombiner.compareClosestPreferLower(a.width*a.height,b.width*b.height,c.width*c.height);if(f==e)return!0;if(f==d)return!1;if(a.frameRate){f=shaka.util.PeriodCombiner.compareClosestPreferLower(a.frameRate,b.frameRate,c.frameRate);if(f==e)return!0;if(f==d)return!1}return a.bandwidth&&shaka.util.PeriodCombiner.compareClosestPreferMinimalAbsDiff_(a.bandwidth,b.bandwidth,
|
|
1374
1375
|
c.bandwidth)==e?!0:!1};
|
|
@@ -1620,8 +1621,9 @@ duration:a.duration,expiration:null==a.expiration?Infinity:a.expiration,original
|
|
|
1620
1621
|
shaka.offline.indexeddb.V2StorageCell.prototype.convertStream_=function(a,b,c){var d=this;return{id:a.id,originalId:a.originalId,primary:a.primary,type:a.contentType,mimeType:a.mimeType,codecs:a.codecs,frameRate:a.frameRate,pixelAspectRatio:a.pixelAspectRatio,hdr:void 0,kind:a.kind,language:a.language,label:a.label,width:a.width,height:a.height,encrypted:a.encrypted,keyIds:new Set([a.keyId]),segments:a.segments.map(function(e){return d.convertSegment_(e,a.initSegmentKey,b,c,a.presentationTimeOffset)}),
|
|
1621
1622
|
variantIds:a.variantIds,roles:[],forced:!1,audioSamplingRate:null,channelsCount:null,spatialAudio:!1,closedCaptions:null,tilesLayout:void 0}};shaka.offline.indexeddb.V2StorageCell.prototype.convertSegment_=function(a,b,c,d,e){return{startTime:c+a.startTime,endTime:c+a.endTime,initSegmentKey:b,appendWindowStart:c,appendWindowEnd:d,timestampOffset:c-e,dataKey:a.dataKey,tilesLayout:""}};shaka.offline.indexeddb.V5StorageCell=function(){shaka.offline.indexeddb.BaseStorageCell.apply(this,arguments)};$jscomp.inherits(shaka.offline.indexeddb.V5StorageCell,shaka.offline.indexeddb.BaseStorageCell);shaka.offline.indexeddb.V5StorageCell.prototype.hasFixedKeySpace=function(){return!1};shaka.offline.indexeddb.V5StorageCell.prototype.addSegments=function(a){return this.add(this.segmentStore_,a)};
|
|
1622
1623
|
shaka.offline.indexeddb.V5StorageCell.prototype.addManifests=function(a){return this.add(this.manifestStore_,a)};shaka.offline.indexeddb.V5StorageCell.prototype.convertManifest=function(a){null==a.expiration&&(a.expiration=Infinity);return Promise.resolve(a)};shaka.offline.indexeddb.StorageMechanism=function(){this.sessions_=this.v5_=this.v3_=this.v2_=this.v1_=this.db_=null};
|
|
1623
|
-
shaka.offline.indexeddb.StorageMechanism.prototype.init=function(){var a=this,b=shaka.offline.indexeddb.StorageMechanism.DB_NAME,c=shaka.offline.indexeddb.StorageMechanism.VERSION,d=new shaka.util.PublicPromise,e=
|
|
1624
|
-
a.sessions_=shaka.offline.indexeddb.StorageMechanism.createEmeSessionCell_(f)
|
|
1624
|
+
shaka.offline.indexeddb.StorageMechanism.prototype.init=function(){var a=this,b=shaka.offline.indexeddb.StorageMechanism.DB_NAME,c=shaka.offline.indexeddb.StorageMechanism.VERSION,d=new shaka.util.PublicPromise,e=!1,f=new shaka.util.Timer(function(){e=!0;d.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.INDEXED_DB_INIT_TIMED_OUT))});f.tickAfter(2);var g=window.indexedDB.open(b,c);g.onsuccess=function(h){e||(h=g.result,a.db_=h,
|
|
1625
|
+
a.v1_=shaka.offline.indexeddb.StorageMechanism.createV1_(h),a.v2_=shaka.offline.indexeddb.StorageMechanism.createV2_(h),a.v3_=shaka.offline.indexeddb.StorageMechanism.createV3_(h),a.v5_=shaka.offline.indexeddb.StorageMechanism.createV5_(h),a.sessions_=shaka.offline.indexeddb.StorageMechanism.createEmeSessionCell_(h),f.stop(),d.resolve())};g.onupgradeneeded=function(h){a.createStores_(g.result)};g.onerror=function(h){e||(d.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,
|
|
1626
|
+
shaka.util.Error.Code.INDEXED_DB_ERROR,g.error)),f.stop(),h.preventDefault())};return d};
|
|
1625
1627
|
shaka.offline.indexeddb.StorageMechanism.prototype.destroy=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(b){switch(b.nextAddress){case 1:if(!a.v1_){b.jumpTo(2);break}return b.yield(a.v1_.destroy(),2);case 2:if(!a.v2_){b.jumpTo(4);break}return b.yield(a.v2_.destroy(),4);case 4:if(!a.v3_){b.jumpTo(6);break}return b.yield(a.v3_.destroy(),6);case 6:if(!a.v5_){b.jumpTo(8);break}return b.yield(a.v5_.destroy(),8);case 8:if(!a.sessions_){b.jumpTo(10);break}return b.yield(a.sessions_.destroy(),
|
|
1626
1628
|
10);case 10:a.db_&&a.db_.close(),b.jumpToEnd()}})};shaka.offline.indexeddb.StorageMechanism.prototype.getCells=function(){var a=new Map;this.v1_&&a.set("v1",this.v1_);this.v2_&&a.set("v2",this.v2_);this.v3_&&a.set("v3",this.v3_);this.v5_&&a.set("v5",this.v5_);return a};shaka.offline.indexeddb.StorageMechanism.prototype.getEmeSessionCell=function(){goog.asserts.assert(this.sessions_,"Cannot be destroyed.");return this.sessions_};
|
|
1627
1629
|
shaka.offline.indexeddb.StorageMechanism.prototype.erase=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(b){switch(b.nextAddress){case 1:if(!a.v1_){b.jumpTo(2);break}return b.yield(a.v1_.destroy(),2);case 2:if(!a.v2_){b.jumpTo(4);break}return b.yield(a.v2_.destroy(),4);case 4:if(!a.v3_){b.jumpTo(6);break}return b.yield(a.v3_.destroy(),6);case 6:if(!a.v5_){b.jumpTo(8);break}return b.yield(a.v5_.destroy(),8);case 8:return a.db_&&a.db_.close(),b.yield(shaka.offline.indexeddb.StorageMechanism.deleteAll_(),
|
|
@@ -1728,8 +1730,8 @@ shaka.polyfill.Fullscreen.install=function(){if(window.Document){var a=Element.p
|
|
|
1728
1730
|
document.webkitFullscreenElement}}),Object.defineProperty(document,"fullscreenEnabled",{get:function(){return document.mozFullScreenEnabled||document.msFullscreenEnabled||document.webkitFullscreenEnabled}}));a=shaka.polyfill.Fullscreen.proxyEvent_;document.addEventListener("webkitfullscreenchange",a);document.addEventListener("webkitfullscreenerror",a);document.addEventListener("mozfullscreenchange",a);document.addEventListener("mozfullscreenerror",a);document.addEventListener("MSFullscreenChange",
|
|
1729
1731
|
a);document.addEventListener("MSFullscreenError",a)}};shaka.polyfill.Fullscreen.proxyEvent_=function(a){var b=a.type.replace(/^(webkit|moz|MS)/,"").toLowerCase(),c=document.createEvent("Event");c.initEvent(b,a.bubbles,a.cancelable);a.target.dispatchEvent(c)};goog.exportProperty(shaka.polyfill,"Fullscreen",shaka.polyfill.Fullscreen);goog.exportProperty(shaka.polyfill.Fullscreen,"install",shaka.polyfill.Fullscreen.install);shaka.polyfill.register(shaka.polyfill.Fullscreen.install);shaka.polyfill.MathRound=function(){};shaka.polyfill.MathRound.install=function(){shaka.log.debug("mathRound.install");var a=shaka.polyfill.MathRound.MAX_ACCURATE_INPUT_+1;if(Math.round(a)!=a){shaka.log.debug("polyfill Math.round");var b=Math.round;Math.round=function(c){var d=c;c<=shaka.polyfill.MathRound.MAX_ACCURATE_INPUT_&&(d=b(c));return d}}};goog.exportProperty(shaka.polyfill,"MathRound",shaka.polyfill.MathRound);goog.exportProperty(shaka.polyfill.MathRound,"install",shaka.polyfill.MathRound.install);
|
|
1730
1732
|
shaka.polyfill.MathRound.MAX_ACCURATE_INPUT_=4503599627370496;shaka.polyfill.register(shaka.polyfill.MathRound.install);shaka.polyfill.MediaCapabilities=function(){};
|
|
1731
|
-
shaka.polyfill.MediaCapabilities.install=function(){shaka.util.Platform.isChromecast()||shaka.util.Platform.isApple()||shaka.util.Platform.isPS4()||shaka.util.Platform.isPS5()||shaka.util.Platform.isWebOS()||shaka.util.Platform.isTizen()||!navigator.mediaCapabilities?(shaka.log.info("MediaCapabilities: install"),navigator.mediaCapabilities||(navigator.mediaCapabilities={}),shaka.polyfill.MediaCapabilities.originalMcap=navigator.mediaCapabilities,navigator.mediaCapabilities.decodingInfo=
|
|
1732
|
-
shaka.log.info("MediaCapabilities: Native mediaCapabilities support found.")};
|
|
1733
|
+
shaka.polyfill.MediaCapabilities.install=function(){shaka.util.Platform.isChromecast()||shaka.util.Platform.isApple()||shaka.util.Platform.isPS4()||shaka.util.Platform.isPS5()||shaka.util.Platform.isWebOS()||shaka.util.Platform.isTizen()||shaka.util.Platform.isEOS()||!navigator.mediaCapabilities?(shaka.log.info("MediaCapabilities: install"),navigator.mediaCapabilities||(navigator.mediaCapabilities={}),shaka.polyfill.MediaCapabilities.originalMcap=navigator.mediaCapabilities,navigator.mediaCapabilities.decodingInfo=
|
|
1734
|
+
shaka.polyfill.MediaCapabilities.decodingInfo_):shaka.log.info("MediaCapabilities: Native mediaCapabilities support found.")};
|
|
1733
1735
|
shaka.polyfill.MediaCapabilities.decodingInfo_=function(a){var b,c,d,e,f,g,h,k,l,m,n,p,q,r,v,t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){switch(u.nextAddress){case 1:b={supported:!1,powerEfficient:!0,smooth:!0,keySystemAccess:null,configuration:a};if(!a)return u["return"](b);if("media-source"==a.type){if(!shaka.util.Platform.supportsMediaSource()||a.video&&(c=a.video.contentType,d=MediaSource.isTypeSupported(c),!d)||a.audio&&(e=a.audio.contentType,f=MediaSource.isTypeSupported(e),
|
|
1734
1736
|
!f))return u["return"](b)}else if("file"==a.type){if(a.video&&(g=a.video.contentType,h=shaka.util.Platform.supportsMediaType(g),!h)||a.audio&&(k=a.audio.contentType,l=shaka.util.Platform.supportsMediaType(k),!l))return u["return"](b)}else return u["return"](b);if(!a.keySystemConfiguration)return b.supported=!0,u["return"](Promise.resolve(b));m=a.keySystemConfiguration;n=[];p=[];m.audio&&(q={robustness:m.audio.robustness||"",contentType:a.audio.contentType},n.push(q));m.video&&(r={robustness:m.video.robustness||
|
|
1735
1737
|
"",contentType:a.video.contentType},p.push(r));v={initDataTypes:[m.initDataType],distinctiveIdentifier:m.distinctiveIdentifier,persistentState:m.persistentState,sessionTypes:m.sessionTypes};n.length&&(v.audioCapabilities=n);p.length&&(v.videoCapabilities=p);u.setCatchFinallyBlocks(3);return u.yield(navigator.requestMediaKeySystemAccess(m.keySystem,[v]),5);case 5:t=u.yieldResult;u.leaveTryBlock(4);break;case 3:u.enterCatchBlock(),shaka.log.info("navigator.requestMediaKeySystemAccess failed.");case 4:t&&
|
|
@@ -1853,11 +1855,10 @@ shaka.polyfill.VTTCue.canUse3ArgsTextTrackCue_=function(){try{return!!shaka.poly
|
|
|
1853
1855
|
shaka.text.LrcTextParser.prototype.parseMedia=function(a,b){var c=shaka.text.LrcTextParser,d=null,e=[],f=shaka.util.StringUtils.fromUTF8(a).split(/\r?\n/);f=$jscomp.makeIterator(f);for(var g=f.next();!g.done;g=f.next()){var h=g.value;h&&!/^\s+$/.test(h)&&((g=c.lyricLine_.exec(h))?(h=c.parseTime_(g[1]),g=new shaka.text.Cue(h,b.segmentEnd?b.segmentEnd:h+2,g[2]),d&&(d.endTime=h,e.push(d)),d=g):shaka.log.warning("LrcTextParser encountered an unknown line.",h))}d&&e.push(d);return e};
|
|
1854
1856
|
shaka.text.LrcTextParser.parseTime_=function(a){var b=shaka.text.LrcTextParser.timeFormat_.exec(a);a=parseInt(b[1],10);b=parseFloat(b[2].replace(",","."));return 60*a+b};goog.exportSymbol("shaka.text.LrcTextParser",shaka.text.LrcTextParser);goog.exportProperty(shaka.text.LrcTextParser.prototype,"parseMedia",shaka.text.LrcTextParser.prototype.parseMedia);goog.exportProperty(shaka.text.LrcTextParser.prototype,"parseInit",shaka.text.LrcTextParser.prototype.parseInit);
|
|
1855
1857
|
shaka.text.LrcTextParser.lyricLine_=/^\[(\d{1,2}:\d{1,2}(?:[.,]\d{1,3})?)\](.*)/;shaka.text.LrcTextParser.timeFormat_=/^(\d+):(\d{1,2}(?:[.,]\d{1,3})?)$/;shaka.text.TextEngine.registerParser("application/x-subtitle-lrc",function(){return new shaka.text.LrcTextParser});shaka.text.TtmlTextParser=function(){};shaka.text.TtmlTextParser.prototype.parseInit=function(a){goog.asserts.assert(!1,"TTML does not have init segments")};
|
|
1856
|
-
shaka.text.TtmlTextParser.prototype.parseMedia=function(a,b){var c=shaka.text.TtmlTextParser,d=shaka.util.XmlUtils,e=c.parameterNs_,f=c.styleNs_,g=shaka.util.StringUtils.fromUTF8(a),h=[]
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_TEXT_CUE,"<span> can only be inside <p> in TTML");if(c=c.parseCue_(l,b.periodStart,k,n,p,g,q,f,m,null,!1))c.backgroundColor||(c.backgroundColor="transparent"),h.push(c)}return h};
|
|
1858
|
+
shaka.text.TtmlTextParser.prototype.parseMedia=function(a,b){var c=shaka.text.TtmlTextParser,d=shaka.util.XmlUtils,e=c.parameterNs_,f=c.styleNs_,g=shaka.util.StringUtils.fromUTF8(a),h=[];if(""==g)return h;var k=d.parseXmlString(g,"tt");if(!k)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_XML,"Failed to parse TTML.");g=k.getElementsByTagName("body")[0];if(!g)return[];var l=d.getAttributeNSList(k,e,"frameRate"),m=d.getAttributeNSList(k,
|
|
1859
|
+
e,"subFrameRate"),n=d.getAttributeNSList(k,e,"frameRateMultiplier"),p=d.getAttributeNSList(k,e,"tickRate"),q=d.getAttributeNSList(k,e,"cellResolution"),r=k.getAttribute("xml:space")||"default";e=d.getAttributeNSList(k,f,"extent");if("default"!=r&&"preserve"!=r)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_XML,"Invalid xml:space value: "+r);f="default"==r;l=new c.RateInfo_(l,m,n,p);m=c.getCellResolution_(q);n=(n=k.getElementsByTagName("metadata")[0])?
|
|
1860
|
+
d.getChildren(n):[];p=Array.from(k.getElementsByTagName("style"));k=Array.from(k.getElementsByTagName("region"));q=[];r=$jscomp.makeIterator(k);for(var v=r.next();!v.done;v=r.next())(v=c.parseCueRegion_(v.value,p,e))&&q.push(v);if(d.findChildren(g,"p").length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_TEXT_CUE,"<p> can only be inside <div> in TTML");e=$jscomp.makeIterator(d.findChildren(g,"div"));for(r=e.next();!r.done;r=
|
|
1861
|
+
e.next())if(d.findChildren(r.value,"span").length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_TEXT_CUE,"<span> can only be inside <p> in TTML");if(c=c.parseCue_(g,b.periodStart,l,n,p,k,q,f,m,null,!1))c.backgroundColor||(c.backgroundColor="transparent"),h.push(c);return h};
|
|
1861
1862
|
shaka.text.TtmlTextParser.parseCue_=function(a,b,c,d,e,f,g,h,k,l,m){var n=a.parentNode;if(a.nodeType==Node.COMMENT_NODE)return null;if(a.nodeType==Node.TEXT_NODE){if(!m)return null;var p=document.createElement("span");p.textContent=a.textContent}else goog.asserts.assert(a.nodeType==Node.ELEMENT_NODE,"nodeType should be ELEMENT_NODE!"),p=a;goog.asserts.assert(p,"cueElement should be non-null!");for(var q=null,r=$jscomp.makeIterator(shaka.text.TtmlTextParser.smpteNsList_),v=r.next();!v.done&&!(q=shaka.text.TtmlTextParser.getElementsFromCollection_(p,
|
|
1862
1863
|
"backgroundImage",d,"#",v.value)[0]);v=r.next());r=m;if("p"==a.nodeName||q)m=!0;h="default"==(p.getAttribute("xml:space")||(h?"default":"preserve"));v=Array.from(p.childNodes).every(function(x){return x.nodeType==Node.TEXT_NODE});a=[];if(!v)for(var t=$jscomp.makeIterator(p.childNodes),u=t.next();!u.done;u=t.next())(u=shaka.text.TtmlTextParser.parseCue_(u.value,b,c,d,e,f,g,h,k,p,m))&&a.push(u);d=null!=l;t=/\S/.test(p.textContent);var y=p.hasAttribute("begin")||p.hasAttribute("end")||p.hasAttribute("dur");
|
|
1863
1864
|
if(!(y||t||"br"==p.tagName||0!=a.length||d&&!h))return null;u=shaka.text.TtmlTextParser.parseTime_(p,c);t=u.start;for(u=u.end;n&&n.nodeType==Node.ELEMENT_NODE&&"tt"!=n.tagName;)u=shaka.text.TtmlTextParser.resolveTime_(n,c,t,u),t=u.start,u=u.end,n=n.parentNode;null==t&&(t=0);t+=b;u=null==u?Infinity:u+b;if(!y&&0<a.length)for(t=Infinity,u=0,b=$jscomp.makeIterator(a),c=b.next();!c.done;c=b.next())c=c.value,t=Math.min(t,c.startTime),u=Math.max(u,c.endTime);if("br"==p.tagName)return e=new shaka.text.Cue(t,
|