shaka-player 2.5.4 → 2.5.5
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/.csslintrc +13 -0
- package/CHANGELOG.md +56 -0
- package/build/build.py +4 -1
- package/build/check.py +17 -0
- package/build/compiler.py +40 -0
- package/build/types/core +1 -0
- package/build/types/ui +4 -1
- package/demo/asset_card.js +41 -11
- package/demo/cast_receiver/receiver_app.css +19 -13
- package/demo/close_button.js +0 -6
- package/demo/common/asset.js +6 -1
- package/demo/common/assets.js +72 -14
- package/demo/demo.less +105 -16
- package/demo/index.html +8 -5
- package/demo/load.js +5 -7
- package/demo/main.js +81 -16
- package/dist/.csslintstamp +0 -0
- package/dist/controls.css +1 -1
- package/dist/controls.css.map +1 -1
- package/dist/demo.compiled.debug.js +46 -39
- package/dist/demo.compiled.debug.map +3 -3
- package/dist/demo.compiled.js +46 -39
- package/dist/demo.compiled.map +3 -3
- package/dist/demo.css +1 -1
- package/dist/demo.css.map +1 -1
- package/dist/deps.js +11 -7
- package/dist/receiver.compiled.debug.js +10 -6
- package/dist/receiver.compiled.debug.map +3 -3
- package/dist/receiver.compiled.js +10 -6
- package/dist/receiver.compiled.map +3 -3
- package/dist/shaka-player.compiled.debug.externs.js +123 -92
- package/dist/shaka-player.compiled.debug.js +113 -105
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +123 -92
- package/dist/shaka-player.compiled.js +551 -548
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.debug.externs.js +170 -101
- package/dist/shaka-player.ui.debug.js +187 -188
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +170 -101
- package/dist/shaka-player.ui.js +651 -651
- package/dist/shaka-player.ui.map +3 -3
- package/docs/tutorials/drm-config.md +1 -0
- package/docs/tutorials/fairplay.md +77 -0
- package/docs/tutorials/index.json +1 -0
- package/docs/tutorials/ui-customization.md +3 -0
- package/docs/tutorials/ui.md +3 -1
- package/externs/mediasession.js +16 -1
- package/externs/shaka/net.js +5 -1
- package/externs/shaka/player.js +136 -90
- package/externs/webkitmediakeys.js +4 -0
- package/lib/dash/content_protection.js +33 -1
- package/lib/dash/dash_parser.js +12 -4
- package/lib/hls/hls_parser.js +20 -4
- package/lib/media/drm_engine.js +29 -2
- package/lib/media/media_source_engine.js +7 -3
- package/lib/media/playhead.js +8 -3
- package/lib/media/streaming_engine.js +24 -8
- package/lib/media/video_wrapper.js +8 -3
- package/lib/net/networking_engine.js +1 -0
- package/lib/player.js +3 -2
- package/lib/polyfill/patchedmediakeys_apple.js +2 -72
- package/lib/util/error.js +12 -0
- package/lib/util/fairplay_utils.js +122 -0
- package/lib/util/player_configuration.js +5 -0
- package/lib/util/pssh.js +41 -0
- package/package.json +4 -3
- package/shaka-player.uncompiled.js +5 -1
- package/test/dash/dash_parser_content_protection_unit.js +35 -1
- package/test/dash/dash_parser_manifest_unit.js +31 -0
- package/test/hls/hls_live_unit.js +7 -1
- package/test/hls/hls_parser_unit.js +50 -0
- package/test/media/media_source_engine_integration.js +12 -0
- package/test/media/playhead_unit.js +2 -0
- package/test/player_external.js +3 -2
- package/test/player_integration.js +75 -0
- package/test/test/externs/jasmine.js +6 -0
- package/test/test/util/test_scheme.js +32 -1
- package/test/test/util/ui_utils.js +41 -0
- package/test/ui/ui_unit.js +129 -3
- package/ui/audio_language_selection.js +17 -96
- package/ui/big_play_button.js +61 -0
- package/ui/controls.js +111 -86
- package/ui/controls.less +3 -5
- package/ui/externs/ui.js +14 -2
- package/ui/fullscreen_button.js +2 -52
- package/ui/less/buttons.less +8 -8
- package/ui/less/containers.less +21 -21
- package/ui/less/general.less +11 -0
- package/ui/less/other_elements.less +2 -1
- package/ui/less/overflow_menu.less +11 -10
- package/ui/less/range_elements.less +6 -0
- package/ui/less/spinner.less +2 -0
- package/ui/pip_button.js +1 -1
- package/ui/{play_pause_button.js → play_button.js} +17 -47
- package/ui/resolution_selection.js +41 -104
- package/ui/seek_bar.js +15 -17
- package/ui/settings_menu.js +113 -0
- package/ui/small_play_button.js +73 -0
- package/ui/text_displayer.js +2 -2
- package/ui/text_selection.js +39 -105
- package/ui/ui.js +12 -0
package/dist/demo.compiled.js
CHANGED
|
@@ -7,9 +7,9 @@ $jscomp.polyfill("Promise",function(a){function b(){this.batch_=null}function c(
|
|
|
7
7
|
0)};b.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var a=this.batch_;this.batch_=[];for(var b=0;b<a.length;++b){var c=a[b];a[b]=null;try{c()}catch(k){this.asyncThrow_(k)}}}this.batch_=null};b.prototype.asyncThrow_=function(a){this.asyncExecuteFunction(function(){throw a;})};var e=function(a){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];var b=this.createResolveAndReject_();try{a(b.resolve,b.reject)}catch(l){b.reject(l)}};e.prototype.createResolveAndReject_=
|
|
8
8
|
function(){function a(a){return function(d){c||(c=!0,a.call(b,d))}}var b=this,c=!1;return{resolve:a(this.resolveTo_),reject:a(this.reject_)}};e.prototype.resolveTo_=function(a){if(a===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(a instanceof e)this.settleSameAsPromise_(a);else{a:switch(typeof a){case "object":var b=null!=a;break a;case "function":b=!0;break a;default:b=!1}b?this.resolveToNonPromiseObj_(a):this.fulfill_(a)}};e.prototype.resolveToNonPromiseObj_=function(a){var b=
|
|
9
9
|
void 0;try{b=a.then}catch(l){this.reject_(l);return}"function"==typeof b?this.settleSameAsThenable_(b,a):this.fulfill_(a)};e.prototype.reject_=function(a){this.settle_(2,a)};e.prototype.fulfill_=function(a){this.settle_(1,a)};e.prototype.settle_=function(a,b){if(0!=this.state_)throw Error("Cannot settle("+a+", "+b+"): Promise already settled in state"+this.state_);this.state_=a;this.result_=b;this.executeOnSettledCallbacks_()};e.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var a=
|
|
10
|
-
0;a<this.onSettledCallbacks_.length;++a)f.asyncExecute(this.onSettledCallbacks_[a]);this.onSettledCallbacks_=null}};var f=new b;e.prototype.settleSameAsPromise_=function(a){var b=this.createResolveAndReject_();a.callWhenSettled_(b.resolve,b.reject)};e.prototype.settleSameAsThenable_=function(a,b){var c=this.createResolveAndReject_();try{a.call(b,c.resolve,c.reject)}catch(k){c.reject(k)}};e.prototype.then=function(a,b){function c(a,b){return"function"==typeof a?function(b){try{d(a(b))}catch(r){
|
|
11
|
-
b}var d,
|
|
12
|
-
d){for(var e=$jscomp.makeIterator(a),
|
|
10
|
+
0;a<this.onSettledCallbacks_.length;++a)f.asyncExecute(this.onSettledCallbacks_[a]);this.onSettledCallbacks_=null}};var f=new b;e.prototype.settleSameAsPromise_=function(a){var b=this.createResolveAndReject_();a.callWhenSettled_(b.resolve,b.reject)};e.prototype.settleSameAsThenable_=function(a,b){var c=this.createResolveAndReject_();try{a.call(b,c.resolve,c.reject)}catch(k){c.reject(k)}};e.prototype.then=function(a,b){function c(a,b){return"function"==typeof a?function(b){try{d(a(b))}catch(r){g(r)}}:
|
|
11
|
+
b}var d,g,f=new e(function(a,b){d=a;g=b});this.callWhenSettled_(c(a,d),c(b,g));return f};e.prototype["catch"]=function(a){return this.then(void 0,a)};e.prototype.callWhenSettled_=function(a,b){function c(){switch(d.state_){case 1:a(d.result_);break;case 2:b(d.result_);break;default:throw Error("Unexpected state: "+d.state_);}}var d=this;null==this.onSettledCallbacks_?f.asyncExecute(c):this.onSettledCallbacks_.push(c)};e.resolve=c;e.reject=function(a){return new e(function(b,c){c(a)})};e.race=function(a){return new e(function(b,
|
|
12
|
+
d){for(var e=$jscomp.makeIterator(a),f=e.next();!f.done;f=e.next())c(f.value).callWhenSettled_(b,d)})};e.all=function(a){var b=$jscomp.makeIterator(a),d=b.next();return d.done?c([]):new e(function(a,e){function f(b){return function(c){g[b]=c;h--;0==h&&a(g)}}var g=[],h=0;do g.push(void 0),h++,c(d.value).callWhenSettled_(f(g.length-1),e),d=b.next();while(!d.done)})};return e},"es6","es3");
|
|
13
13
|
$jscomp.asyncExecutePromiseGenerator=function(a){function b(b){return a.next(b)}function c(b){return a["throw"](b)}return new Promise(function(d,e){function f(a){a.done?d(a.value):Promise.resolve(a.value).then(b,c).then(f,e)}f(a.next())})};$jscomp.asyncExecutePromiseGeneratorFunction=function(a){return $jscomp.asyncExecutePromiseGenerator(a())};$jscomp.objectCreate=$jscomp.ASSUME_ES5||"function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b};
|
|
14
14
|
$jscomp.underscoreProtoCanBeSet=function(){var a={a:!0},b={};try{return b.__proto__=a,b.a}catch(c){}return!1};$jscomp.setPrototypeOf="function"==typeof Object.setPrototypeOf?Object.setPrototypeOf:$jscomp.underscoreProtoCanBeSet()?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null;
|
|
15
15
|
$jscomp.inherits=function(a,b){a.prototype=$jscomp.objectCreate(b.prototype);a.prototype.constructor=a;if($jscomp.setPrototypeOf){var c=$jscomp.setPrototypeOf;c(a,b)}else for(c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.superClass_=b.prototype};$jscomp.generator={};
|
|
@@ -28,7 +28,7 @@ $jscomp.generator.Engine_.prototype.yieldAllStep_=function(a,b,c){try{var d=a.ca
|
|
|
28
28
|
$jscomp.generator.Engine_.prototype.nextStep_=function(){for(;this.context_.nextAddress;)try{var a=this.program_(this.context_);if(a)return this.context_.stop_(),{value:a.value,done:!1}}catch(b){this.context_.yieldResult=void 0,this.context_.throw_(b)}this.context_.stop_();if(this.context_.abruptCompletion_){a=this.context_.abruptCompletion_;this.context_.abruptCompletion_=null;if(a.isException)throw a.exception;return{value:a["return"],done:!0}}return{value:void 0,done:!0}};
|
|
29
29
|
$jscomp.generator.Generator_=function(a){this.next=function(b){return a.next_(b)};this["throw"]=function(b){return a.throw_(b)};this["return"]=function(b){return a.return_(b)};$jscomp.initSymbolIterator();this[Symbol.iterator]=function(){return this}};$jscomp.generator.createGenerator=function(a,b){$jscomp.generator.Generator_.prototype=a.prototype;return new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(b))};
|
|
30
30
|
$jscomp.checkEs6ConformanceViaProxy=function(){try{var a={},b=Object.create(new $jscomp.global.Proxy(a,{get:function(c,d,e){return c==a&&"q"==d&&e==b}}));return!0===b.q}catch(c){return!1}};$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS=!1;$jscomp.ES6_CONFORMANCE=$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS&&$jscomp.checkEs6ConformanceViaProxy();$jscomp.owns=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};
|
|
31
|
-
$jscomp.polyfill("WeakMap",function(a){function b(){if(!a||!Object.seal)return!1;try{var b=Object.seal({}),c=Object.seal({}),d=new a([[b,2],[c,3]]);if(2!=d.get(b)||3!=d.get(c))return!1;d["delete"](b);d.set(c,4);return!d.has(b)&&4==d.get(c)}catch(
|
|
31
|
+
$jscomp.polyfill("WeakMap",function(a){function b(){if(!a||!Object.seal)return!1;try{var b=Object.seal({}),c=Object.seal({}),d=new a([[b,2],[c,3]]);if(2!=d.get(b)||3!=d.get(c))return!1;d["delete"](b);d.set(c,4);return!d.has(b)&&4==d.get(c)}catch(p){return!1}}function c(a){$jscomp.owns(a,e)||$jscomp.defineProperty(a,e,{value:{}})}function d(a){var b=Object[a];b&&(Object[a]=function(a){c(a);return b(a)})}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;
|
|
32
32
|
var e="$jscomp_hidden_"+Math.random();d("freeze");d("preventExtensions");d("seal");var f=0,g=function(a){this.id_=(f+=Math.random()+1).toString();if(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};g.prototype.set=function(a,b){c(a);if(!$jscomp.owns(a,e))throw Error("WeakMap key fail: "+a);a[e][this.id_]=b;return this};g.prototype.get=function(a){return $jscomp.owns(a,e)?a[e][this.id_]:void 0};g.prototype.has=
|
|
33
33
|
function(a){return $jscomp.owns(a,e)&&$jscomp.owns(a[e],this.id_)};g.prototype["delete"]=function(a){return $jscomp.owns(a,e)&&$jscomp.owns(a[e],this.id_)?delete a[e][this.id_]:!1};return g},"es6","es3");$jscomp.MapEntry=function(){};
|
|
34
34
|
$jscomp.polyfill("Map",function(a){function b(){if($jscomp.ASSUME_NO_NATIVE_MAP||!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var b=Object.seal({x:4}),c=new a($jscomp.makeIterator([[b,"s"]]));if("s"!=c.get(b)||1!=c.size||c.get({x:4})||c.set({x:4},"t")!=c||2!=c.size)return!1;var d=c.entries(),e=d.next();if(e.done||e.value[0]!=b||"s"!=e.value[1])return!1;e=d.next();return e.done||4!=e.value[0].x||"t"!=e.value[1]||!d.next().done?!1:!0}catch(t){return!1}}
|
|
@@ -69,10 +69,12 @@ goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=
|
|
|
69
69
|
See the License for the specific language governing permissions and
|
|
70
70
|
limitations under the License.
|
|
71
71
|
*/
|
|
72
|
-
var shakaDemo={AssetCard:function(a,b,c,d){this.card_=document.createElement("div");this.asset_=b;this.actions_=document.createElement("div");this.featureIconsContainer_=document.createElement("div");this.
|
|
73
|
-
this.
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
var shakaDemo={AssetCard:function(a,b,c,d){this.card_=document.createElement("div");this.asset_=b;this.actions_=document.createElement("div");this.featureIconsContainer_=document.createElement("div");this.progressCircle_=document.createElement("div");this.progressCircleSvg_=document.createElementNS("http://www.w3.org/2000/svg","svg");this.progressCircleBack_=document.createElementNS("http://www.w3.org/2000/svg","circle");this.progressCircleBar_=document.createElementNS("http://www.w3.org/2000/svg",
|
|
73
|
+
"circle");this.remakeButtonsFn_=d;this.card_.classList.add("mdl-card-wide");this.card_.classList.add("mdl-card");this.card_.classList.add("mdl-shadow--2dp");this.card_.classList.add("asset-card");d=document.createElement("div");d.classList.add("mdl-card__title");this.card_.appendChild(d);var e=document.createElement("h2");e.classList.add("mdl-card__title-text");e.textContent=c?b.shortName||b.name:b.name;d.appendChild(e);if(b.iconUri){d=document.createElement("picture");e=document.createElement("source");
|
|
74
|
+
e.srcset=b.iconUri.replace(/.png$/,".webp");e.type="image/webp";var f=document.createElement("source");f.srcset=b.iconUri;f.type="image/png";var g=document.createElement("img");g.src=b.iconUri;g.alt="";d.appendChild(e);d.appendChild(f);d.appendChild(g);this.card_.appendChild(d)}b.description&&c&&(c=document.createElement("div"),c.classList.add("mdl-card__supporting-text"),c.textContent=b.description,this.card_.appendChild(c));this.card_.appendChild(this.featureIconsContainer_);this.addFeatureIcons_(b);
|
|
75
|
+
this.actions_.classList.add("mdl-card__actions");this.actions_.classList.add("mdl-card--border");this.card_.appendChild(this.actions_);this.progressCircle_.classList.add("hidden");this.progressCircle_.classList.add("progress-circle");this.card_.appendChild(this.progressCircle_);this.progressCircleSvg_.appendChild(this.progressCircleBack_);this.progressCircleSvg_.appendChild(this.progressCircleBar_);this.progressCircle_.appendChild(this.progressCircleSvg_);this.progressCircleSvg_.setAttribute("class",
|
|
76
|
+
"progress-circle-svg");this.progressCircleBack_.setAttribute("class","progress-circle-back");this.progressCircleBar_.setAttribute("class","progress-circle-bar");a.appendChild(this.card_);this.remakeButtons()}};shakaDemo.AssetCard.prototype.styleProgressCircle_=function(a){var b=this.progressCircleBar_,c=40*Math.PI;this.progressCircleSvg_.setAttribute("viewBox","0 0 45 45");b.setAttribute("stroke-dasharray",c);b.setAttribute("stroke-dashoffset",c*(1-a))};
|
|
77
|
+
shakaDemo.AssetCard.prototype.addFeatureIcon_=function(a,b){var c=document.createElement("div");c.classList.add("feature-icon");c.setAttribute("icon",a);this.featureIconsContainer_.appendChild(c);shakaDemo.Tooltips.make(c,b)};
|
|
76
78
|
shakaDemo.AssetCard.prototype.addFeatureIcons_=function(a){var b=shakaAssets.Feature,c=shakaAssets.KeySystem;b=(new Map).set(b.SUBTITLES,"subtitles").set(b.CAPTIONS,"closed_caption").set(b.LIVE,"live").set(b.TRICK_MODE,"trick_mode").set(b.HIGH_DEFINITION,"high_definition").set(b.ULTRA_HIGH_DEFINITION,"ultra_high_definition").set(b.SURROUND,"surround_sound").set(b.MULTIPLE_LANGUAGES,"multiple_languages").set(b.AUDIO_ONLY,"audio_only");for(var d=$jscomp.makeIterator(a.features),e=d.next();!e.done;e=
|
|
77
79
|
d.next()){e=e.value;var f=b.get(e);f&&this.addFeatureIcon_(f,e)}a=$jscomp.makeIterator(a.drm);for(b=a.next();!b.done;b=a.next())switch(b.value){case c.WIDEVINE:this.addFeatureIcon_("widevine","Widevine DRM");break;case c.CLEAR_KEY:this.addFeatureIcon_("clear_key","Clear Key DRM");break;case c.PLAYREADY:this.addFeatureIcon_("playready","PlayReady DRM")}};
|
|
78
80
|
shakaDemo.AssetCard.prototype.markAsUnsupported=function(a){this.card_.classList.add("asset-card-unsupported");this.makeUnsupportedButton_("Not Available",a)};shakaDemo.AssetCard.prototype.makeUnsupportedButton_=function(a,b){var c=this.addButton(a,function(){});c.setAttribute("disabled","");var d=document.createElement("div");c.parentElement&&c.parentElement.removeChild(c);d.classList.add("tooltip-attach-point");d.appendChild(c);this.actions_.appendChild(d);shakaDemo.Tooltips.make(d,b);return c};
|
|
@@ -81,17 +83,17 @@ shakaDemo.AssetCard.prototype.addStoreButton=function(){var a=this,b=function(a,
|
|
|
81
83
|
this.addButton("",function(){a.makeDeleteDialog_(d)});b(d,d,"offline_pin")}else{var e=this.addButton("",function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function g(){return $jscomp.generator.createGenerator(g,function(b){switch(b.nextAddress){case 1:return e.disabled=!0,b.yield(a.asset_.storeCallback(),2);case 2:a.remakeButtons(),b.jumpToEnd()}})})});b(e,e,"get_app")}};
|
|
82
84
|
shakaDemo.AssetCard.prototype.makeDeleteDialog_=function(a){var b=this,c=this.card_.parentElement;if(c){var d=document.createElement("dialog");d.classList.add("mdl-dialog");c.appendChild(d);d.showModal||dialogPolyfill.registerDialog(d);c=document.createElement("h2");c.classList.add("mdl-typography--title");c.textContent="Delete the offline copy?";d.appendChild(c);var e=document.createElement("div");d.appendChild(e);c=function(a,b){var c=document.createElement("button");c.textContent=a;c.classList.add("mdl-button");
|
|
83
85
|
c.classList.add("mdl-button--colored");c.classList.add("mdl-js-button");c.classList.add("mdl-js-ripple-effect");c.addEventListener("click",function(){b()});e.appendChild(c);c.blur()};c("Yes",function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function g(){return $jscomp.generator.createGenerator(g,function(c){switch(c.nextAddress){case 1:return d.close(),a.disabled=!0,c.yield(b.asset_.unstoreCallback(),2);case 2:b.remakeButtons(),c.jumpToEnd()}})})});c("No",function(){d.close()});d.showModal()}};
|
|
84
|
-
shakaDemo.AssetCard.prototype.updateProgress=function(){if(1>this.asset_.storedProgress){this.
|
|
85
|
-
shakaDemo.AssetCard.prototype.addButton=function(a,b){var c=document.createElement("button");c.classList.add("mdl-button");c.classList.add("mdl-button--colored");c.classList.add("mdl-js-button");c.classList.add("mdl-js-ripple-effect");c.textContent=a;c.addEventListener("click",function(){c.hasAttribute("disabled")||b()});this.actions_.appendChild(c);return c};shakaDemo.CloseButton=function(a,b){var c=shaka.ui.Element.call(this,a,b)||this;c.button_=document.createElement("button");c.button_.classList.add("material-icons");c.button_.classList.add("close-button");c.button_.textContent="close";c.parent.appendChild(c.button_);c.button_.addEventListener("click",function(){
|
|
86
|
-
|
|
86
|
+
shakaDemo.AssetCard.prototype.updateProgress=function(){if(1>this.asset_.storedProgress){this.progressCircle_.classList.remove("hidden");for(var a=$jscomp.makeIterator(this.actions_.childNodes),b=a.next();!b.done;b=a.next())b.value.disabled=!0}else for(this.progressCircle_.classList.add("hidden"),a=$jscomp.makeIterator(this.actions_.childNodes),b=a.next();!b.done;b=a.next())b.value.disabled=!1;this.styleProgressCircle_(this.asset_.storedProgress)};
|
|
87
|
+
shakaDemo.AssetCard.prototype.addButton=function(a,b){var c=document.createElement("button");c.classList.add("mdl-button");c.classList.add("mdl-button--colored");c.classList.add("mdl-js-button");c.classList.add("mdl-js-ripple-effect");c.textContent=a;c.addEventListener("click",function(){c.hasAttribute("disabled")||b()});this.actions_.appendChild(c);return c};shakaDemo.CloseButton=function(a,b){var c=shaka.ui.Element.call(this,a,b)||this;c.button_=document.createElement("button");c.button_.classList.add("material-icons");c.button_.classList.add("close-button");c.button_.textContent="close";c.parent.appendChild(c.button_);c.button_.addEventListener("click",function(){shakaDemoMain.unload()});return c};$jscomp.inherits(shakaDemo.CloseButton,shaka.ui.Element);shakaDemo.CloseButton.prototype.destroy=function(){return Promise.resolve()};
|
|
88
|
+
shakaDemo.CloseButton.Factory=function(){};shakaDemo.CloseButton.Factory.prototype.create=function(a,b){return new shakaDemo.CloseButton(a,b)};var ShakaDemoAssetInfo=function(a,b,c,d){this.name=a;this.shortName="";this.iconUri=b;this.manifestUri=c;this.source=d;this.disabled=this.focus=!1;this.extraText=[];this.certificateUri=null;this.description="";this.isFeatured=!1;this.drm=[shakaAssets.KeySystem.CLEAR];this.features=[];this.licenseServers=new Map;this.licenseRequestHeaders=new Map;this.drmCallback=this.responseFilter=this.requestFilter=null;this.clearKeys=new Map;this.extraConfig=null;this.storedProgress=1};
|
|
87
89
|
ShakaDemoAssetInfo.prototype.addDescription=function(a){this.description=a;return this};ShakaDemoAssetInfo.prototype.addCertificateUri=function(a){this.certificateUri=a;return this};ShakaDemoAssetInfo.caseLessAlphaComparator_=function(a,b){return a.toLowerCase()<b.toLowerCase()?-1:a.toLowerCase()>b.toLowerCase()?1:0};ShakaDemoAssetInfo.prototype.addFeature=function(a){this.features.push(a);this.features.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);return this};
|
|
88
|
-
ShakaDemoAssetInfo.prototype.addKeySystem=function(a){
|
|
89
|
-
ShakaDemoAssetInfo.prototype.addLicenseServer=function(a,b){this.licenseServers.set(a,b);return this};ShakaDemoAssetInfo.prototype.addLicenseRequestHeader=function(a,b){this.licenseRequestHeaders.set(a,b);return this};ShakaDemoAssetInfo.prototype.addExtraText=function(a){this.extraText.push(a);return this};ShakaDemoAssetInfo.prototype.markAsFocused=function(){this.focus=!0;return this};
|
|
90
|
-
ShakaDemoAssetInfo.prototype.markAsDisabled=function(){this.disabled=!0;return this};ShakaDemoAssetInfo.prototype.toJSON=function(){var a={},b;for(b in this){var c=this[b];if(c instanceof Map){var d={__type__:"map"};c=$jscomp.makeIterator(c.entries());for(var e=c.next();!e.done;e=c.next())e=e.value,d[e[0]]=e[1];a[b]=d}else a[b]=c}return a};
|
|
90
|
+
ShakaDemoAssetInfo.prototype.addKeySystem=function(a){this.isClear()&&(this.drm=[]);this.drm.push(a);this.drm.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);return this};ShakaDemoAssetInfo.prototype.isClear=function(){return 1==this.drm.length&&this.drm[0]==shakaAssets.KeySystem.CLEAR};ShakaDemoAssetInfo.prototype.setExtraConfig=function(a){this.extraConfig=a;return this};ShakaDemoAssetInfo.prototype.setRequestFilter=function(a){this.requestFilter=a;return this};
|
|
91
|
+
ShakaDemoAssetInfo.prototype.setResponseFilter=function(a){this.responseFilter=a;return this};ShakaDemoAssetInfo.prototype.addLicenseServer=function(a,b){this.licenseServers.set(a,b);return this};ShakaDemoAssetInfo.prototype.addLicenseRequestHeader=function(a,b){this.licenseRequestHeaders.set(a,b);return this};ShakaDemoAssetInfo.prototype.addExtraText=function(a){this.extraText.push(a);return this};ShakaDemoAssetInfo.prototype.markAsFocused=function(){this.focus=!0;return this};
|
|
92
|
+
ShakaDemoAssetInfo.prototype.markAsFeatured=function(a){this.isFeatured=!0;this.shortName=a||this.shortName;return this};ShakaDemoAssetInfo.prototype.markAsDisabled=function(){this.disabled=!0;return this};ShakaDemoAssetInfo.prototype.toJSON=function(){var a={},b;for(b in this){var c=this[b];if(c instanceof Map){var d={__type__:"map"};c=$jscomp.makeIterator(c.entries());for(var e=c.next();!e.done;e=c.next())e=e.value,d[e[0]]=e[1];a[b]=d}else a[b]=c}return a};
|
|
91
93
|
ShakaDemoAssetInfo.prototype.applyFilters=function(a){var b=this;a.clearAllRequestFilters();a.clearAllResponseFilters();this.licenseRequestHeaders.size&&a.registerRequestFilter(function(a,d){return b.addLicenseRequestHeaders_(b.licenseRequestHeaders,a,d)});this.requestFilter&&a.registerRequestFilter(this.requestFilter);this.responseFilter&&a.registerResponseFilter(this.responseFilter)};
|
|
92
94
|
ShakaDemoAssetInfo.prototype.getConfiguration=function(){var a={drm:{},manifest:{dash:{}}};this.licenseServers.size&&(a.drm.servers={},this.licenseServers.forEach(function(b,d){a.drm.servers[d]=b}));this.drmCallback&&(a.manifest.dash.customScheme=this.drmCallback);this.clearKeys.size&&(a.drm.clearKeys={},this.clearKeys.forEach(function(b,d){a.drm.clearKeys[d]=b}));if(this.extraConfig)for(var b in this.extraConfig)a[b]=this.extraConfig[b];return a};
|
|
93
95
|
ShakaDemoAssetInfo.prototype.addLicenseRequestHeaders_=function(a,b,c){b==shaka.net.NetworkingEngine.RequestType.LICENSE&&a.forEach(function(a,b){c.headers[b]=a})};ShakaDemoAssetInfo.prototype.isStored=function(){return null!=this.storedContent};ShakaDemoAssetInfo.makeBlankAsset=function(){return new ShakaDemoAssetInfo("","","",shakaAssets.Source.CUSTOM)};
|
|
94
|
-
ShakaDemoAssetInfo.fromJSON=function(a){var b={},c;for(c in a){var d=a[c];if(d&&"object"==typeof d&&"map"==d.__type__){var e=new Map,f;for(f in d)"__type__"!=f&&e.set(f,d[f]);b[c]=e}else b[c]=d}a=ShakaDemoAssetInfo.makeBlankAsset();Object.assign(a,b);return a};var shakaAssets={Source:{UNKNOWN:"Unknown",CUSTOM:"Custom",SHAKA:"Shaka",AXINOM:"Axinom",UNIFIED_STREAMING:"Unified Streaming",DASH_IF:"DASH-IF",WOWZA:"Wowza",BITCODIN:"Bitcodin",NIMBLE_STREAMER:"Nimble Streamer",AZURE_MEDIA_SERVICES:"Azure Media Services",GPAC:"GPAC",UPLYNK:"Verizon Digital Media Services"},KeySystem:{CLEAR_KEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps.1_0",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha",CLEAR:"no drm protection"},Feature:{MULTIKEY:"multiple keys",
|
|
96
|
+
ShakaDemoAssetInfo.fromJSON=function(a){var b={},c;for(c in a){var d=a[c];if(d&&"object"==typeof d&&"map"==d.__type__){var e=new Map,f;for(f in d)"__type__"!=f&&e.set(f,d[f]);b[c]=e}else b[c]=d}a=ShakaDemoAssetInfo.makeBlankAsset();Object.assign(a,b);return a};var shakaAssets={Source:{UNKNOWN:"Unknown",CUSTOM:"Custom",SHAKA:"Shaka",AXINOM:"Axinom",UNIFIED_STREAMING:"Unified Streaming",DASH_IF:"DASH-IF",WOWZA:"Wowza",BITCODIN:"Bitcodin",NIMBLE_STREAMER:"Nimble Streamer",AZURE_MEDIA_SERVICES:"Azure Media Services",GPAC:"GPAC",UPLYNK:"Verizon Digital Media Services",APPLE:"Apple",IRT:"IRT"},KeySystem:{CLEAR_KEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps.1_0",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha",CLEAR:"no drm protection"},Feature:{MULTIKEY:"multiple keys",
|
|
95
97
|
MULTIPERIOD:"multiple Periods",ENCRYPTED_WITH_CLEAR:"mixing encrypted and unencrypted periods",AESCTR_16_BYTE_IV:"encrypted with AES CTR Mode using a 16 byte IV",AESCTR_8_BYTE_IV:"encrypted with AES CTR Mode using a 8 byte IV",TRICK_MODE:"Special trick mode track",XLINK:"XLink",SUBTITLES:"Subtitles",CAPTIONS:"Captions",EMBEDDED_TEXT:"embedded text",MULTIPLE_LANGUAGES:"multiple languages",AUDIO_ONLY:"audio only",OFFLINE:"Downloadable",STORED:"Downloaded",LIVE:"Live",WEBM:"WebM",MP4:"MP4",MP2TS:"MPEG-2 TS",
|
|
96
98
|
TTML:"TTML",WEBVTT:"WebVTT",HIGH_DEFINITION:"High definition",ULTRA_HIGH_DEFINITION:"Ultra-high definition",SURROUND:"Surround sound",DASH:"DASH",HLS:"HLS"},UplynkResponseFilter:function(a,b){a==shaka.net.NetworkingEngine.RequestType.MANIFEST&&(shakaAssets.uplynk_prefix=b.headers["x-uplynk-prefix"]?b.headers["x-uplynk-prefix"]:"")},UplynkRequestFilter:function(a,b){a==shaka.net.NetworkingEngine.RequestType.LICENSE&&(b.uris[0].includes("wv")&&shakaAssets.uplynk_prefix?b.uris[0]=shakaAssets.uplynk_prefix.concat("/wv"):
|
|
97
99
|
b.uris[0].includes("ck")&&shakaAssets.uplynk_prefix?b.uris[0]=shakaAssets.uplynk_prefix.concat("/ck"):b.uris[0].includes("pr")&&shakaAssets.uplynk_prefix&&(b.uris[0]=shakaAssets.uplynk_prefix.concat("/pr")))}};
|
|
@@ -126,7 +128,8 @@ shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shaka
|
|
|
126
128
|
(new ShakaDemoAssetInfo("Clear, multi-Period","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://media.axprod.net/TestVectors/v7-Clear/Manifest_MultiPeriod.mpd",shakaAssets.Source.AXINOM)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.MULTIPERIOD).addFeature(shakaAssets.Feature.TTML).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION).addFeature(shakaAssets.Feature.WEBVTT).addFeature(shakaAssets.Feature.OFFLINE),
|
|
127
129
|
(new ShakaDemoAssetInfo("Clear, Live DASH","https://storage.googleapis.com/shaka-asset-icons/axinom_test.png","https://akamai-axtest.akamaized.net/routes/lapd-v1-acceptance/www_c4/Manifest.mpd",shakaAssets.Source.AXINOM)).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MULTIPERIOD).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.WEBVTT),(new ShakaDemoAssetInfo("Clear, Live HLS",
|
|
128
130
|
"https://storage.googleapis.com/shaka-asset-icons/axinom_test.png","https://akamai-axtest.akamaized.net/routes/lapd-v1-acceptance/www_c4/Manifest.m3u8",shakaAssets.Source.AXINOM)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION),(new ShakaDemoAssetInfo("Tears of Steel","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://demo.unified-streaming.com/video/tears-of-steel/tears-of-steel.ism/.mpd",
|
|
129
|
-
shakaAssets.Source.UNIFIED_STREAMING)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Tears of Steel (
|
|
131
|
+
shakaAssets.Source.UNIFIED_STREAMING)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Tears of Steel (HLS, Subtitles)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://demo.unified-streaming.com/video/tears-of-steel/tears-of-steel-multiple-subtitles.ism/.m3u8",shakaAssets.Source.UNIFIED_STREAMING)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.WEBVTT).addFeature(shakaAssets.Feature.OFFLINE),
|
|
132
|
+
(new ShakaDemoAssetInfo("Tears of Steel (Widevine)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://demo.unified-streaming.com/video/tears-of-steel/tears-of-steel-dash-widevine.ism/.mpd",shakaAssets.Source.UNIFIED_STREAMING)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.TTML).addLicenseServer("com.widevine.alpha",
|
|
130
133
|
"https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Tears of Steel (PlayReady)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://demo.unified-streaming.com/video/tears-of-steel/tears-of-steel-dash-playready.ism/.mpd",shakaAssets.Source.UNIFIED_STREAMING)).addKeySystem(shakaAssets.KeySystem.PLAYREADY).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.TTML).addLicenseServer("com.microsoft.playready",
|
|
131
134
|
"https://test.playready.microsoft.com/service/rightsmanager.asmx?PlayRight=1&UseSimpleNonPersistentLicense=1"),(new ShakaDemoAssetInfo("Tears of Steel (subtitles)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://demo.unified-streaming.com/video/tears-of-steel/tears-of-steel-en.ism/.mpd",shakaAssets.Source.UNIFIED_STREAMING)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.TTML).addFeature(shakaAssets.Feature.OFFLINE),
|
|
132
135
|
(new ShakaDemoAssetInfo("Big Buck Bunny (DASH-IF)","https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png","https://dash.akamaized.net/dash264/TestCases/1c/qualcomm/2/MultiRate.mpd",shakaAssets.Source.DASH_IF)).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Live sim (2s segments)","https://storage.googleapis.com/shaka-asset-icons/dash_if_test_pattern.png",
|
|
@@ -150,7 +153,10 @@ language:"es",kind:"subtitle",mime:"text/vtt"}).addExtraText({uri:"https://ams-s
|
|
|
150
153
|
"https://content.uplynk.com/pr").addLicenseServer("com.widevine.alpha","https://content.uplynk.com/wv").setRequestFilter(shakaAssets.UplynkRequestFilter).setResponseFilter(shakaAssets.UplynkResponseFilter),(new ShakaDemoAssetInfo("Multi DRM - MultiPeriod - 8 Byte IV","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://content.uplynk.com/054225d59be2454fabdca3e96912d847.mpd?ad=cleardash&pr.version=2&pr.playenabler=B621D91F-EDCC-4035-8D4B-DC71760D43E9&pr.securitylevel=150",shakaAssets.Source.UPLYNK)).addKeySystem(shakaAssets.KeySystem.PLAYREADY).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.MULTIKEY).addFeature(shakaAssets.Feature.MULTIPERIOD).addFeature(shakaAssets.Feature.WEBVTT).addFeature(shakaAssets.Feature.AESCTR_8_BYTE_IV).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addLicenseServer("com.microsoft.playready",
|
|
151
154
|
"https://content.uplynk.com/pr").addLicenseServer("com.widevine.alpha","https://content.uplynk.com/wv").setRequestFilter(shakaAssets.UplynkRequestFilter).setResponseFilter(shakaAssets.UplynkResponseFilter),(new ShakaDemoAssetInfo("Widevine - 16 Byte IV","https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png","https://content.uplynk.com/224ac8717e714b68831997ab6cea4015.mpd",shakaAssets.Source.UPLYNK)).markAsDisabled().addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIKEY).addFeature(shakaAssets.Feature.AESCTR_16_BYTE_IV).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addLicenseServer("com.widevine.alpha",
|
|
152
155
|
"https://content.uplynk.com/wv").setRequestFilter(shakaAssets.UplynkRequestFilter).setResponseFilter(shakaAssets.UplynkResponseFilter),(new ShakaDemoAssetInfo("Widevine - 16 Byte IV - (mix of encrypted and unencrypted periods)","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://content.uplynk.com/1eb40d8e64234f5c9879db7045c3d48c.mpd?ad=cleardash&rays=cdefg",shakaAssets.Source.UPLYNK)).markAsDisabled().addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.MULTIPERIOD).addFeature(shakaAssets.Feature.MULTIKEY).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.AESCTR_16_BYTE_IV).addFeature(shakaAssets.Feature.ENCRYPTED_WITH_CLEAR).addLicenseServer("com.widevine.alpha",
|
|
153
|
-
"https://content.uplynk.com/wv").setRequestFilter(shakaAssets.UplynkRequestFilter).setResponseFilter(shakaAssets.UplynkResponseFilter)
|
|
156
|
+
"https://content.uplynk.com/wv").setRequestFilter(shakaAssets.UplynkRequestFilter).setResponseFilter(shakaAssets.UplynkResponseFilter),(new ShakaDemoAssetInfo("Apple Advanced HLS Stream (fMP4)","https://storage.googleapis.com/shaka-asset-icons/apple_test_pattern.png","https://storage.googleapis.com/shaka-demo-assets/apple-advanced-stream-fmp4/master.m3u8",shakaAssets.Source.APPLE)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.CAPTIONS).addFeature(shakaAssets.Feature.WEBVTT).addFeature(shakaAssets.Feature.OFFLINE),
|
|
157
|
+
(new ShakaDemoAssetInfo("Apple Advanced HLS Stream (TS)","https://storage.googleapis.com/shaka-asset-icons/apple_test_pattern.png","https://storage.googleapis.com/shaka-demo-assets/apple-advanced-stream-ts/master.m3u8",shakaAssets.Source.APPLE)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.CAPTIONS).addFeature(shakaAssets.Feature.WEBVTT).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Bayerischer Rundfunk Recorded Loop (DASH)",
|
|
158
|
+
"https://storage.googleapis.com/shaka-asset-icons/bayerischer_rundfunk.png","https://irtdashreference-i.akamaihd.net/dash/live/901161/keepixo1/manifestBR2.mpd",shakaAssets.Source.IRT)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.LIVE),(new ShakaDemoAssetInfo("Bayerischer Rundfunk Recorded Loop (HLS)","https://storage.googleapis.com/shaka-asset-icons/bayerischer_rundfunk.png","https://irtdashreference-i.akamaihd.net/dash/live/901161/keepixo1/playlistBR2.m3u8",
|
|
159
|
+
shakaAssets.Source.IRT)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.LIVE)];var shakaDemoConfig;shakaDemo.Config=function(a){var b=this;this.container_=a;this.sections_=[];this.latestInput_=null;this.addedFields_=new Set;this.reload_();document.addEventListener("shaka-main-config-change",function(){b.reloadAndSaveState_()});document.addEventListener("shaka-main-drawer-state-change",function(){b.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())});this.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())};
|
|
154
160
|
shakaDemo.Config.init=function(){var a=shakaDemoMain.getHamburgerMenu();shakaDemoConfig=new shakaDemo.Config(a)};shakaDemo.Config.prototype.setContentAvailability_=function(a){a?this.container_.classList.remove("hidden"):this.container_.classList.add("hidden")};
|
|
155
161
|
shakaDemo.Config.prototype.reload_=function(){shaka.ui.Utils.removeAllChildren(this.container_);this.sections_=[];this.addMetaSection_();this.addLanguageSection_();this.addAbrSection_();this.addOfflineSection_();this.addDrmSection_();this.addStreamingSection_();this.addManifestSection_();this.addRetrictionsSection_("","");this.checkSectionCompleteness_();this.checkSectionValidity_()};
|
|
156
162
|
shakaDemo.Config.prototype.reloadAndSaveState_=function(){var a=this.sections_.map(function(a){return a.getIsOpen()});this.reload_();for(var b=0;b<a.length;b++){var c=this.sections_[b];a[b]&&c.open()}componentHandler.upgradeDom()};
|
|
@@ -215,26 +221,27 @@ shakaDemo.InputContainer.prototype.close=function(){var a=this;this.style_==shak
|
|
|
215
221
|
shakaDemo.InputContainer.prototype.createHeader_=function(a,b){var c=this;this.style_==shakaDemo.InputContainer.Style.ACCORDION?(this.header_=document.createElement("button"),this.header_.classList.add("mdl-button--raised"),this.header_.classList.add("mdl-button"),this.header_.classList.add("mdl-js-button"),this.header_.classList.add("mdl-js-ripple-effect"),this.header_.addEventListener("click",function(){c.getIsOpen()?c.close():c.open()})):this.header_=document.createElement("h3");this.header_.textContent=
|
|
216
222
|
b;a.appendChild(this.header_)};shakaDemo.InputContainer.prototype.addDocLink_=function(a,b){var c=document.createElement("a");c.href=b;c.target="_blank";c.classList.add("mdl-button");c.classList.add("mdl-js-button");c.classList.add("mdl-js-ripple-effect");c.classList.add("mdl-button--colored");var d=document.createElement("i");d.classList.add("material-icons");d.textContent="help";c.appendChild(d);a.appendChild(c)};
|
|
217
223
|
shakaDemo.InputContainer.prototype.addRow=function(a,b,c){this.latestRow_=document.createElement("div");c&&this.latestRow_.classList.add(c);this.table_.appendChild(this.latestRow_);c="input-container-row-"+this.numRows_;this.numRows_+=1;if(a){var d=document.createElement("label");d.setAttribute("for",c);d.classList.add("input-container-label");var e=document.createElement("b");e.textContent=a;d.appendChild(e);this.latestRow_.appendChild(d)}this.latestElementContainer=document.createElement("div");
|
|
218
|
-
this.latestRow_.appendChild(this.latestElementContainer);this.latestElementContainer.classList.add("input-container-row");this.latestElementContainer.id=c;if(this.latestTooltip=b)shakaDemo.Tooltips.make(this.latestRow_,b),this.latestRow_.setAttribute("tabindex",-1),this.latestRow_.classList.add("borderless")};shakaDemo.InputContainer.Style={VERTICAL:"input-container-style-vertical",ACCORDION:"input-container-style-accordion",FLEX:"input-container-style-flex"};shakaDemo.Main=function(){this.selectedAsset=this.player_=this.container_=this.video_=null;this.fullyLoaded_=!1;this.controls_=null;this.nativeControlsEnabled_=!1;this.uiLocale_=""};shakaDemo.Main.prototype.initCommon_=function(){var a=this;window.addEventListener("error",function(b){if(!b.message.includes("cvox.Api"))a.onError_(b.error)});document.getElementById("error-display-close-button").addEventListener("click",function(b){return a.closeError_()});this.
|
|
224
|
+
this.latestRow_.appendChild(this.latestElementContainer);this.latestElementContainer.classList.add("input-container-row");this.latestElementContainer.id=c;if(this.latestTooltip=b)shakaDemo.Tooltips.make(this.latestRow_,b),this.latestRow_.setAttribute("tabindex",-1),this.latestRow_.classList.add("borderless")};shakaDemo.InputContainer.Style={VERTICAL:"input-container-style-vertical",ACCORDION:"input-container-style-accordion",FLEX:"input-container-style-flex"};shakaDemo.Main=function(){this.selectedAsset=this.player_=this.container_=this.video_=null;this.fullyLoaded_=!1;this.controls_=null;this.nativeControlsEnabled_=!1;this.uiLocale_="";this.noInput_=!1};shakaDemo.Main.prototype.initCommon_=function(){var a=this;window.addEventListener("error",function(b){if(!b.message.includes("cvox.Api"))a.onError_(b.error)});document.getElementById("error-display-close-button").addEventListener("click",function(b){return a.closeError_()});this.setUpVersionStrings_()};
|
|
219
225
|
shakaDemo.Main.prototype.initFailed=function(){this.initCommon_();this.handleError_(shaka.util.Error.Severity.CRITICAL,"Your browser is not supported!","https://github.com/google/shaka-player#platform-and-browser-support-matrix");componentHandler.upgradeDom();for(var a=[],b=$jscomp.makeIterator(document.getElementsByClassName("should-disable-on-fail")),c=b.next();!c.done;c=b.next())a.push(c.value);a.push(document.getElementsByClassName("mdl-layout__drawer-button"));a=$jscomp.makeIterator(a);for(c=
|
|
220
226
|
a.next();!c.done;c=a.next())c=c.value,c.tabIndex=-1,c.classList.add("disabled-by-fail")};
|
|
221
|
-
shakaDemo.Main.prototype.init=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function c(){var d,e,f,g;return $jscomp.generator.createGenerator(c,function(c){switch(c.nextAddress){case 1:return a.initCommon_(),d=a,c.yield(shaka.Player.probeSupport(),2);case 2:d.support_=c.yieldResult;a.video_=document.getElementById("video");a.video_.poster=shakaDemo.Main.mainPoster_;a.container_=document.getElementsByClassName("video-container")[0];if(!navigator.serviceWorker){c.jumpTo(3);
|
|
222
|
-
break}console.debug("Registering service worker.");c.setCatchFinallyBlocks(4);return c.yield(navigator.serviceWorker.register("service_worker.js"),6);case 6:e=c.yieldResult;console.debug("Service worker registered!",e.scope);c.leaveTryBlock(3);break;case 4:f=c.enterCatchBlock(),console.error("Service worker registration failed!",f);case 3:return a.setupPlayer_(),a.readHash_(),window.addEventListener("hashchange",function(){return a.hashChanged_()}),c.yield(a.setupStorage_(),
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
227
|
+
shakaDemo.Main.prototype.init=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function c(){var d,e,f,g,h,l;return $jscomp.generator.createGenerator(c,function(c){switch(c.nextAddress){case 1:return a.initCommon_(),d=a,c.yield(shaka.Player.probeSupport(),2);case 2:d.support_=c.yieldResult;a.video_=document.getElementById("video");a.video_.poster=shakaDemo.Main.mainPoster_;a.container_=document.getElementsByClassName("video-container")[0];if(!navigator.serviceWorker){c.jumpTo(3);
|
|
228
|
+
break}console.debug("Registering service worker.");c.setCatchFinallyBlocks(4);return c.yield(navigator.serviceWorker.register("service_worker.js"),6);case 6:e=c.yieldResult;console.debug("Service worker registered!",e.scope);c.leaveTryBlock(3);break;case 4:f=c.enterCatchBlock(),console.error("Service worker registration failed!",f);case 3:return a.noInput_="noinput"in a.getParams_(),a.setupPlayer_(),a.readHash_(),window.addEventListener("hashchange",function(){return a.hashChanged_()}),c.yield(a.setupStorage_(),
|
|
229
|
+
7);case 7:if(a.noInput_){for(var k=$jscomp.makeIterator(document.getElementsByClassName("should-hide-in-no-input-mode")),m=k.next();!m.done;m=k.next())g=m.value,a.hideNode_(g);k=$jscomp.makeIterator(document.getElementsByClassName("should-show-in-no-input-mode"));for(m=k.next();!m.done;m=k.next())h=m.value,a.showNode_(h);a.container_.classList.add("no-input-sized");document.getElementById("video-bar").classList.add("no-input-sized")}a.dispatchEventWithName_("shaka-main-loaded");return c.yield(Promise.resolve(),
|
|
230
|
+
8);case 8:componentHandler.upgradeDom(),l=a.getLastAssetFromHash_(),a.fullyLoaded_=!0,a.remakeHash(),l&&!a.selectedAsset&&a.loadAsset(l),c.jumpToEnd()}})})};
|
|
231
|
+
shakaDemo.Main.prototype.setupPlayer_=function(){var a=this,b=this.video_.ui;this.player_=b.getControls().getPlayer();if(!this.noInput_){var c=new shakaDemo.CloseButton.Factory;shaka.ui.Controls.registerElement("close",c);c=b.getConfiguration();c.controlPanelElements.push("close");b.configure(c)}this.player_.configure("manifest.dash.clockSyncUri","https://shaka-player-demo.appspot.com/time.txt");this.defaultConfig_=this.player_.getConfiguration();this.desiredConfig_=this.player_.getConfiguration();
|
|
232
|
+
c=navigator.languages||["en-us"];this.configure("preferredAudioLanguage",c[0]);this.configure("preferredTextLanguage",c[0]);this.uiLocale_=c[0];c=function(b){return a.onErrorEvent_(b)};this.player_.addEventListener("error",c);this.controls_=b.getControls();this.controls_.addEventListener("error",c);this.controls_.addEventListener("caststatuschanged",function(b){a.onCastStatusChange_(b.newStatus)});this.controls_.getLocalization().addEventListener(shaka.ui.Localization.UNKNOWN_LOCALES,function(b){b=
|
|
233
|
+
$jscomp.makeIterator(b.locales);for(var c=b.next();!c.done;c=b.next())a.loadUILocale_(c.value)});this.loadUILocale_(this.uiLocale_);var d=document.getElementById("drawer-close-button");d.addEventListener("click",function(){document.getElementById("main-layout").MaterialLayout.toggleDrawer();a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideNode_(d)});b=document.querySelector(".mdl-layout__drawer-button");goog.asserts.assert(b,"There should be a drawer button.");b.addEventListener("click",
|
|
234
|
+
function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.showNode_(d)});b=document.querySelector(".mdl-layout__obfuscator");goog.asserts.assert(b,"There should be an obfuscator.");b.addEventListener("click",function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideNode_(d)});this.hideNode_(d)};shakaDemo.Main.prototype.getIsDrawerOpen=function(){var a=document.querySelector(".mdl-layout__drawer");goog.asserts.assert(a,"There should be a drawer.");return a.classList.contains("is-visible")};
|
|
228
235
|
shakaDemo.Main.prototype.getIdentifierFromAsset_=function(a){return a.name+(a.source==shakaAssets.Source.CUSTOM?" [CUSTOM]":"")};
|
|
229
236
|
shakaDemo.Main.prototype.makeStorageInstance_=function(){var a=this;if(!shaka.offline.Storage.support())return null;var b=new shaka.offline.Storage;b.configure("offline.progressCallback",function(b,d){var c=b.appMetadata.identifier;a:{for(var f=$jscomp.makeIterator(shakaAssets.testAssets),g=f.next();!g.done;g=f.next())if(g=g.value,a.getIdentifierFromAsset_(g)==c){c=g;break a}if(shakaDemoCustom)for(f=$jscomp.makeIterator(shakaDemoCustom.assets()),g=f.next();!g.done;g=f.next())if(g=g.value,a.getIdentifierFromAsset_(g)==
|
|
230
237
|
c){c=g;break a}c=null}c&&(c.storedProgress=d,a.dispatchEventWithName_("shaka-main-offline-progress"))});return b};
|
|
231
|
-
shakaDemo.Main.prototype.setupOfflineSupport=function(a){var b=this;if(this.initialStoredList_){for(var c=$jscomp.makeIterator(this.initialStoredList_),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.appMetadata.identifier;this.getIdentifierFromAsset_(a)==e&&(a.storedContent=d)}a.storeCallback=function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function g(){var c,d,e,
|
|
232
|
-
g.setCatchFinallyBlocks(2);return g.yield(b.drmConfiguration_(a,c),4);case 4:return d={identifier:b.getIdentifierFromAsset_(a),downloaded:new Date},a.storedProgress=0,b.dispatchEventWithName_("shaka-main-offline-progress"),g.yield(c.store(a.manifestUri,d),5);case 5:e=g.yieldResult;a.storedContent=e;g.leaveTryBlock(3);break;case 2:
|
|
238
|
+
shakaDemo.Main.prototype.setupOfflineSupport=function(a){var b=this;if(this.initialStoredList_){for(var c=$jscomp.makeIterator(this.initialStoredList_),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.appMetadata.identifier;this.getIdentifierFromAsset_(a)==e&&(a.storedContent=d)}a.storeCallback=function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function g(){var c,d,e,p;return $jscomp.generator.createGenerator(g,function(g){switch(g.nextAddress){case 1:c=b.makeStorageInstance_();if(!c)return g["return"]();
|
|
239
|
+
g.setCatchFinallyBlocks(2);return g.yield(b.drmConfiguration_(a,c),4);case 4:return d={identifier:b.getIdentifierFromAsset_(a),downloaded:new Date},a.storedProgress=0,b.dispatchEventWithName_("shaka-main-offline-progress"),g.yield(c.store(a.manifestUri,d),5);case 5:e=g.yieldResult;a.storedContent=e;g.leaveTryBlock(3);break;case 2:p=g.enterCatchBlock(),b.onError_(p),a.storedContent=null;case 3:c.destroy(),a.storedProgress=1,b.dispatchEventWithName_("shaka-main-offline-progress"),g.jumpToEnd()}})})};
|
|
233
240
|
a.unstoreCallback=function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function g(){var c,d;return $jscomp.generator.createGenerator(g,function(e){switch(e.nextAddress){case 1:a==b.selectedAsset&&b.unload();if(!a.storedContent||!a.storedContent.offlineUri){e.jumpTo(0);break}c=b.makeStorageInstance_();if(!c)return e["return"]();e.setCatchFinallyBlocks(3);a.storedProgress=0;b.dispatchEventWithName_("shaka-main-offline-progress");return e.yield(c.remove(a.storedContent.offlineUri),5);case 5:a.storedContent=
|
|
234
241
|
null;e.leaveTryBlock(4);break;case 3:d=e.enterCatchBlock(),b.onError_(d);case 4:c.destroy(),a.storedProgress=1,b.dispatchEventWithName_("shaka-main-offline-progress"),e.jumpToEnd()}})})}}};
|
|
235
242
|
shakaDemo.Main.prototype.setupStorage_=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function c(){var d,e,f,g;return $jscomp.generator.createGenerator(c,function(c){switch(c.nextAddress){case 1:d=a.makeStorageInstance_();if(!d)return c["return"]();c.setCatchFinallyBlocks(2,3);e=a;return c.yield(d.list(),5);case 5:e.initialStoredList_=c.yieldResult;case 3:c.enterFinallyBlock();d.destroy();c.leaveFinallyBlock(4);break;case 2:f=c.enterCatchBlock();console.error(f);a.initialStoredList_=
|
|
236
243
|
null;c.jumpTo(3);break;case 4:for(var h=$jscomp.makeIterator(shakaAssets.testAssets),k=h.next();!k.done;k=h.next())g=k.value,a.getAssetUnsupportedReason(g,!0)||a.setupOfflineSupport(g);c.jumpToEnd()}})})};shakaDemo.Main.prototype.hashChanged_=function(){this.readHash_();this.dispatchEventWithName_("shaka-main-config-change")};
|
|
237
|
-
shakaDemo.Main.prototype.getAssetUnsupportedReason=function(a,b){var c=this;if(b&&(!shaka.offline.Storage.support()||!this.initialStoredList_))return"Your browser does not support offline storage.";if(a.source==shakaAssets.Source.CUSTOM)return null;if(a.disabled)return"This asset is disabled.";if(b&&!a.features.includes(shakaAssets.Feature.OFFLINE))return"This asset cannot be downloaded.";if(!a.
|
|
244
|
+
shakaDemo.Main.prototype.getAssetUnsupportedReason=function(a,b){var c=this;if(b&&(!shaka.offline.Storage.support()||!this.initialStoredList_))return"Your browser does not support offline storage.";if(a.source==shakaAssets.Source.CUSTOM)return null;if(a.disabled)return"This asset is disabled.";if(b&&!a.features.includes(shakaAssets.Feature.OFFLINE))return"This asset cannot be downloaded.";if(!a.isClear()){if(!a.drm.some(function(a){return c.support_.drm[a]}))return"Your browser does not support the required key systems.";
|
|
238
245
|
if(b&&!a.drm.some(function(a){return c.support_.drm[a]&&c.support_.drm[a].persistentState}))return"Your browser does not support offline licenses for the required key systems."}if(a.features.includes(shakaAssets.Feature.DASH)&&!this.support_.manifest.mpd)return"Your browser does not support MPEG-DASH manifests.";if(a.features.includes(shakaAssets.Feature.HLS)&&!this.support_.manifest.m3u8)return"Your browser does not support HLS manifests.";var d=[];a.features.includes(shakaAssets.Feature.WEBM)&&
|
|
239
246
|
d.push("video/webm");a.features.includes(shakaAssets.Feature.MP4)&&d.push("video/mp4");a.features.includes(shakaAssets.Feature.MP2TS)&&d.push("video/mp2t");return d.some(function(a){return c.support_.media[a]})?null:"Your browser does not support the required video format."};shakaDemo.Main.prototype.setNativeControlsEnabled=function(a){this.nativeControlsEnabled_=a;this.remakeHash()};shakaDemo.Main.prototype.getNativeControlsEnabled=function(){return this.nativeControlsEnabled_};
|
|
240
247
|
shakaDemo.Main.prototype.loadUILocale_=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function d(){var e,f,g,h,l;return $jscomp.generator.createGenerator(d,function(d){switch(d.nextAddress){case 1:if(!a)return d["return"]();e="../ui/locales/"+a+".json";return d.yield(fetch(e),2);case 2:return f=d.yieldResult,f.ok?d.yield(f.json(),3):(console.warn("Unable to load locale",a),d["return"]());case 3:g=d.yieldResult;h=new Map;for(var k in g)h.set(k,g[k]);l=b.controls_.getLocalization();
|
|
@@ -248,23 +255,23 @@ f.addEventListener("click",function(b){return function(){var c=location.hash.sub
|
|
|
248
255
|
shakaDemo.Main.prototype.getValueFromGivenConfig_=function(a,b){for(var c=b,d=a;d;){var e=d.split(/\.(.+)/);if(3==e.length)d=e[1],c=c[e[0]];else return c[e[0]]}};shakaDemo.Main.prototype.getCurrentConfigValue=function(a){return this.getValueFromGivenConfig_(a,this.desiredConfig_)};shakaDemo.Main.prototype.resetConfiguration=function(a){this.configure(a,void 0)};
|
|
249
256
|
shakaDemo.Main.prototype.configure=function(a,b){2==arguments.length&&"string"==typeof a&&(a=shaka.util.ConfigUtils.convertToConfigObject(a,b));shaka.util.PlayerConfiguration.mergeConfigObjects(this.desiredConfig_,a,this.defaultConfig_);this.player_.configure(a,b)};shakaDemo.Main.prototype.getConfiguration=function(){return this.desiredConfig_};
|
|
250
257
|
shakaDemo.Main.prototype.requestCertificate_=function(a,b){return $jscomp.asyncExecutePromiseGeneratorFunction(function d(){var e,f,g;return $jscomp.generator.createGenerator(d,function(d){switch(d.nextAddress){case 1:return e=shaka.net.NetworkingEngine.RequestType.APP,f={uris:[a]},d.yield(b.request(e,f).promise,2);case 2:return g=d.yieldResult,d["return"](g.data)}})})};
|
|
251
|
-
shakaDemo.Main.prototype.unload=function(){this.selectedAsset=null;var a=document.getElementById("video-bar");this.hideNode_(a);this.video_.poster=shakaDemo.Main.mainPoster_;this.player_.unload();this.dispatchEventWithName_("shaka-main-selected-asset-changed");this.remakeHash()};
|
|
252
|
-
shakaDemo.Main.prototype.drmConfiguration_=function(a,b){var c=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function e(){var f,g,h,l,k,
|
|
253
|
-
if(!a.certificateUri){for(var
|
|
258
|
+
shakaDemo.Main.prototype.unload=function(){this.selectedAsset=null;var a=document.getElementById("video-bar");this.hideNode_(a);this.video_.poster=shakaDemo.Main.mainPoster_;document.fullscreenElement&&document.exitFullscreen();document.pictureInPictureElement&&document.exitPictureInPicture();this.player_.unload();this.dispatchEventWithName_("shaka-main-selected-asset-changed");navigator.mediaSession&&(navigator.mediaSession.metadata=null);this.remakeHash()};
|
|
259
|
+
shakaDemo.Main.prototype.drmConfiguration_=function(a,b){var c=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function e(){var f,g,h,l,k,p,m;return $jscomp.generator.createGenerator(e,function(e){switch(e.nextAddress){case 1:f=b?b.getNetworkingEngine():c.player_.getNetworkingEngine();goog.asserts.assert(f,"There should be a net engine.");a.applyFilters(f);g=a.getConfiguration();b?b.configure(g):(c.player_.configure(c.desiredConfig_),c.player_.configure(g));h=b?b.getConfiguration():c.player_.getConfiguration();
|
|
260
|
+
if(!a.certificateUri){for(var q=$jscomp.makeIterator(a.licenseServers.keys()),n=q.next();!n.done;n=q.next())l=n.value,h.drm.advanced[l]&&delete h.drm.advanced[l].serverCertificate;e.jumpTo(2);break}return e.yield(c.requestCertificate_(a.certificateUri,f),3);case 3:for(k=e.yieldResult,p=new Uint8Array(k),q=$jscomp.makeIterator(a.licenseServers.keys()),n=q.next();!n.done;n=q.next())m=n.value,h.drm.advanced[m]=h.drm.advanced[m]||{},h.drm.advanced[m].serverCertificate=p;case 2:b?b.configure(h):c.player_.configure("drm.advanced",
|
|
254
261
|
h.drm.advanced),c.remakeHash(),e.jumpToEnd()}})})};shakaDemo.Main.prototype.showPlayer_=function(){var a=document.getElementById("video-bar");this.showNode_(a);this.closeError_();this.video_.poster=shakaDemo.Main.mainPoster_;a.scrollIntoView({behavior:"smooth",block:"start"})};
|
|
255
|
-
shakaDemo.Main.prototype.loadAsset=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function d(){var e,f,g,h,l;return $jscomp.generator.createGenerator(d,function(d){switch(d.nextAddress){case 1:return d.setCatchFinallyBlocks(2),b.selectedAsset=a,b.showPlayer_(),b.dispatchEventWithName_("shaka-main-selected-asset-changed"),d.yield(b.drmConfiguration_(a),4);case 4:return b.controls_.getCastProxy().setAppData({asset:a}),b.nativeControlsEnabled_?(b.controls_.setEnabledShakaControls(!1),
|
|
256
|
-
b.controls_.setEnabledNativeControls(!0)):(b.controls_.setEnabledShakaControls(!0),b.controls_.setEnabledNativeControls(!1)),e=b,f=function(){return e.nativeControlsEnabled_?new shaka.text.SimpleTextDisplayer(e.video_):new shaka.ui.TextDisplayer(e.video_,e.container_)},b.player_.configure("textDisplayFactory",f),g=(a.storedContent?a.storedContent.offlineUri:null)||a.manifestUri,d.yield(b.player_.load(g),5);case 5:b.player_.isAudioOnly()&&(b.video_.poster=shakaDemo.Main.audioOnlyPoster_);
|
|
257
|
-
break;case 2:if(l=
|
|
262
|
+
shakaDemo.Main.prototype.loadAsset=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function d(){var e,f,g,h,l,k;return $jscomp.generator.createGenerator(d,function(d){switch(d.nextAddress){case 1:return d.setCatchFinallyBlocks(2),b.selectedAsset=a,b.showPlayer_(),b.dispatchEventWithName_("shaka-main-selected-asset-changed"),d.yield(b.drmConfiguration_(a),4);case 4:return b.controls_.getCastProxy().setAppData({asset:a}),b.nativeControlsEnabled_?(b.controls_.setEnabledShakaControls(!1),
|
|
263
|
+
b.controls_.setEnabledNativeControls(!0)):(b.controls_.setEnabledShakaControls(!0),b.controls_.setEnabledNativeControls(!1)),e=b,f=function(){return e.nativeControlsEnabled_?new shaka.text.SimpleTextDisplayer(e.video_):new shaka.ui.TextDisplayer(e.video_,e.container_)},b.player_.configure("textDisplayFactory",f),g=(a.storedContent?a.storedContent.offlineUri:null)||a.manifestUri,d.yield(b.player_.load(g),5);case 5:b.player_.isAudioOnly()&&(b.video_.poster=shakaDemo.Main.audioOnlyPoster_);navigator.mediaSession&&
|
|
264
|
+
(h={title:a.name,artwork:[{src:a.iconUri}]},a.source!=shakaAssets.Source.UNKNOWN&&(h.artist=a.source),navigator.mediaSession.metadata=new MediaMetadata(h));d.leaveTryBlock(3);break;case 2:if(k=l=d.enterCatchBlock(),k.code==shaka.util.Error.Code.LOAD_INTERRUPTED)console.debug("load() interrupted");else b.onError_(k);case 3:b.remakeHash(),d.jumpToEnd()}})})};
|
|
258
265
|
shakaDemo.Main.prototype.remakeHash=function(){var a=this;if(this.fullyLoaded_){var b=[];if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(c,d){var e=a.getCurrentConfigValue(d),f=a.getValueFromGivenConfig_(d,a.defaultConfig_),g=isNaN(e)&&isNaN(f);e==f||g||b.push(c+"="+e)},c)}this.getCurrentConfigValue("abr.enabled")||b.push("noadaptation");this.getCurrentConfigValue("streaming.jumpLargeGaps")&&b.push("jumpLargeGaps");b.push("uilang="+this.getUILocale());
|
|
259
266
|
if(this.selectedAsset){c=shakaAssets.testAssets.includes(this.selectedAsset);b.push("asset="+this.selectedAsset.manifestUri);if(!c&&this.selectedAsset.licenseServers.size){var d=this.selectedAsset.licenseServers.values().next().value;b.push("license="+d);d=$jscomp.makeIterator(this.selectedAsset.licenseServers.keys());for(var e=d.next();!e.done;e=d.next())if(e=e.value,!shakaDemo.Main.commonDrmSystems.includes(e)){b.push("drmSystem="+e);break}}!c&&this.selectedAsset.certificateUri&&b.push("certificate="+
|
|
260
|
-
this.selectedAsset.certificateUri)}c=document.getElementById("nav-button-container");c=$jscomp.makeIterator(c.childNodes);for(d=c.next();!d.done;d=c.next())if(d=d.value,d.nodeType==Node.ELEMENT_NODE&&d.classList.contains("mdl-button--accent")){b.push("panel="+d.textContent);break}c=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]);for(d=c.next();!d.done;d=c.next())d=d.value,document.getElementById(d.split("_").join("-")+"-link").hasAttribute("disabled")&&b.push("build="+d);this.
|
|
261
|
-
b.push("nativecontrols");if(shaka.log&&shaka.log.currentLevel!=shaka.log.MAX_LOG_LEVEL)switch(shaka.log.currentLevel){case shaka.log.Level.INFO:b.push("info");break;case shaka.log.Level.DEBUG:b.push("debug");break;case shaka.log.Level.V2:b.push("vv");break;case shaka.log.Level.V1:b.push("v")}this.setNewHashSilent_(b.join(";"))}};shakaDemo.Main.prototype.setNewHashSilent_=function(a){history.replaceState(null,"",document.location.pathname+"#"+a)};
|
|
262
|
-
shakaDemo.Main.prototype.hideNode_=function(a){a.classList.add("hidden")};shakaDemo.Main.prototype.showNode_=function(a){a.classList.remove("hidden")};
|
|
267
|
+
this.selectedAsset.certificateUri)}c=document.getElementById("nav-button-container");c=$jscomp.makeIterator(c.childNodes);for(d=c.next();!d.done;d=c.next())if(d=d.value,d.nodeType==Node.ELEMENT_NODE&&d.classList.contains("mdl-button--accent")){b.push("panel="+d.textContent);break}c=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]);for(d=c.next();!d.done;d=c.next())d=d.value,document.getElementById(d.split("_").join("-")+"-link").hasAttribute("disabled")&&b.push("build="+d);this.noInput_&&
|
|
268
|
+
b.push("noinput");this.nativeControlsEnabled_&&b.push("nativecontrols");if(shaka.log&&shaka.log.currentLevel!=shaka.log.MAX_LOG_LEVEL)switch(shaka.log.currentLevel){case shaka.log.Level.INFO:b.push("info");break;case shaka.log.Level.DEBUG:b.push("debug");break;case shaka.log.Level.V2:b.push("vv");break;case shaka.log.Level.V1:b.push("v")}this.setNewHashSilent_(b.join(";"))}};shakaDemo.Main.prototype.setNewHashSilent_=function(a){history.replaceState(null,"",document.location.pathname+"#"+a)};
|
|
269
|
+
shakaDemo.Main.prototype.getHamburgerMenu=function(){return document.getElementById("hamburger-menu-contents")};shakaDemo.Main.prototype.hideNode_=function(a){a.classList.add("hidden")};shakaDemo.Main.prototype.showNode_=function(a){a.classList.remove("hidden")};
|
|
263
270
|
shakaDemo.Main.prototype.addNavButton=function(a){var b=this,c=document.getElementById("nav-button-container"),d=document.getElementById("contents"),e=document.getElementById("nav-button-"+a),f=this.getParams_();(a=f.panel==encodeURI(e.textContent))||f.panel||(a=null!=e.getAttribute("defaultselected"));var g=document.createElement("div");this.hideNode_(g);d.appendChild(g);f=function(){for(var a=$jscomp.makeIterator(c.childNodes),f=a.next();!f.done;f=a.next())f=f.value,f.nodeType==Node.ELEMENT_NODE&&
|
|
264
271
|
f.classList.remove("mdl-button--accent");a=$jscomp.makeIterator(d.childNodes);for(f=a.next();!f.done;f=a.next())f=f.value,f.nodeType==Node.ELEMENT_NODE&&b.hideNode_(f);e.classList.add("mdl-button--accent");b.showNode_(g);b.remakeHash();b.dispatchEventWithName_("shaka-main-page-changed");g.scrollIntoView({behavior:"smooth",block:"start"})};e.addEventListener("click",f);a&&Promise.resolve().then(f);return g};
|
|
265
272
|
shakaDemo.Main.prototype.dispatchEventWithName_=function(a){var b=document.createEvent("CustomEvent");b.initCustomEvent(a,!1,!1,null);document.dispatchEvent(b)};
|
|
266
|
-
shakaDemo.Main.prototype.
|
|
267
|
-
shakaDemo.Main.prototype.closeError_=function(){document.getElementById("error-display").classList.add("hidden");var a=document.getElementById("error-display-link");a.href="";a.textContent="";a.severity=null};shakaDemo.Main.prototype.onErrorEvent_=function(a){this.onError_(a.detail)};
|
|
273
|
+
shakaDemo.Main.prototype.setUpVersionStrings_=function(){for(var a=shaka.Player.version.split("-"),b=[],c={},d=$jscomp.makeIterator(["debug","uncompiled"]),e=d.next();!e.done;c={whitelisted:c.whitelisted},e=d.next())c.whitelisted=e.value,a.includes(c.whitelisted)&&(b.push(c.whitelisted),a=a.filter(function(a){return function(b){return b!=a.whitelisted}}(c)));c=document.getElementsByClassName("version-string");c=$jscomp.makeIterator(c);for(d=c.next();!d.done;d=c.next())d=d.value,d.textContent=a.join("-"),
|
|
274
|
+
0<b.length&&(d.textContent+=" ("+b.join(", ")+")")};shakaDemo.Main.prototype.closeError_=function(){document.getElementById("error-display").classList.add("hidden");var a=document.getElementById("error-display-link");a.href="";a.textContent="";a.severity=null};shakaDemo.Main.prototype.onErrorEvent_=function(a){this.onError_(a.detail)};
|
|
268
275
|
shakaDemo.Main.prototype.onError_=function(a){var b=a.severity;if(null==b||void 0==a.severity)b=shaka.util.Error.Severity.CRITICAL;var c=a.message||"Error code "+a.code,d="";a.code&&(d="../docs/api/shaka.util.Error.html#value:"+a.code);console.error(a);this.handleError_(b,c,d)};
|
|
269
276
|
shakaDemo.Main.prototype.handleError_=function(a,b,c){var d=document.getElementById("error-display-link");if(null==d.severity||a>d.severity)d.href=c,void 0===d.textContent?d.innerText=b:d.textContent=b,d.severity=a,d.href?d.classList.remove("input-disabled"):d.classList.add("input-disabled"),document.getElementById("error-display").classList.remove("hidden")};shakaDemo.Main.prototype.onCastStatusChange_=function(a){a&&!this.selectedAsset&&(this.selectedAsset=ShakaDemoAssetInfo.makeBlankAsset(),this.showPlayer_())};
|
|
270
277
|
shakaDemo.Main.commonDrmSystems=["com.widevine.alpha","com.microsoft.playready","com.apple.fps.1_0","com.adobe.primetime","org.w3.clearkey"];var shakaDemoMain=new shakaDemo.Main;shakaDemo.Main.mainPoster_="https://shaka-player-demo.appspot.com/assets/poster.jpg";shakaDemo.Main.audioOnlyPoster_="https://shaka-player-demo.appspot.com/assets/audioOnly.gif";
|