shaka-player 4.3.5 → 4.3.6

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.
Files changed (88) hide show
  1. package/.github/workflows/selenium-lab-tests.yaml +23 -1
  2. package/AUTHORS +2 -1
  3. package/CHANGELOG.md +32 -0
  4. package/CONTRIBUTORS +4 -1
  5. package/dist/controls.css +2 -2
  6. package/dist/controls.css.map +1 -1
  7. package/dist/demo.compiled.debug.js +167 -296
  8. package/dist/demo.compiled.debug.map +4 -4
  9. package/dist/demo.compiled.js +167 -296
  10. package/dist/demo.compiled.map +4 -4
  11. package/dist/deps.js +1 -1
  12. package/dist/locales.js +32 -32
  13. package/dist/receiver.compiled.debug.js +34 -63
  14. package/dist/receiver.compiled.debug.map +4 -4
  15. package/dist/receiver.compiled.js +34 -63
  16. package/dist/receiver.compiled.map +4 -4
  17. package/dist/shaka-player.compiled.d.ts +12 -3
  18. package/dist/shaka-player.compiled.debug.d.ts +12 -3
  19. package/dist/shaka-player.compiled.debug.externs.js +20 -14
  20. package/dist/shaka-player.compiled.debug.js +261 -255
  21. package/dist/shaka-player.compiled.debug.map +4 -4
  22. package/dist/shaka-player.compiled.externs.js +20 -14
  23. package/dist/shaka-player.compiled.js +862 -858
  24. package/dist/shaka-player.compiled.map +3 -3
  25. package/dist/shaka-player.ui.d.ts +12 -3
  26. package/dist/shaka-player.ui.debug.d.ts +12 -3
  27. package/dist/shaka-player.ui.debug.externs.js +8 -2
  28. package/dist/shaka-player.ui.debug.js +271 -264
  29. package/dist/shaka-player.ui.debug.map +3 -3
  30. package/dist/shaka-player.ui.externs.js +8 -2
  31. package/dist/shaka-player.ui.js +1005 -1002
  32. package/dist/shaka-player.ui.map +3 -3
  33. package/docs/tutorials/a11y.md +0 -4
  34. package/docs/tutorials/ad_monetization.md +0 -4
  35. package/docs/tutorials/basic-usage.md +0 -5
  36. package/docs/tutorials/config.md +0 -5
  37. package/docs/tutorials/debugging.md +0 -5
  38. package/docs/tutorials/drm-config.md +0 -5
  39. package/docs/tutorials/fairplay.md +2 -2
  40. package/docs/tutorials/license-server-auth.md +0 -5
  41. package/docs/tutorials/license-wrapping.md +0 -5
  42. package/docs/tutorials/network-and-buffering-config.md +0 -5
  43. package/docs/tutorials/ui-customization.md +0 -5
  44. package/docs/tutorials/ui.md +0 -7
  45. package/docs/tutorials/welcome.md +0 -5
  46. package/externs/network_information.js +7 -2
  47. package/externs/shaka/abr_manager.js +6 -0
  48. package/externs/shaka/net.js +1 -0
  49. package/externs/shaka/player.js +13 -7
  50. package/lib/abr/simple_abr_manager.js +27 -3
  51. package/lib/ads/client_side_ad_manager.js +6 -3
  52. package/lib/dash/dash_parser.js +49 -48
  53. package/lib/debug/log.js +9 -13
  54. package/lib/hls/hls_parser.js +17 -5
  55. package/lib/media/media_source_engine.js +27 -9
  56. package/lib/media/presentation_timeline.js +9 -2
  57. package/lib/media/segment_index.js +2 -0
  58. package/lib/media/segment_reference.js +3 -2
  59. package/lib/media/streaming_engine.js +31 -7
  60. package/lib/net/http_fetch_plugin.js +79 -57
  61. package/lib/net/networking_engine.js +1 -0
  62. package/lib/player.js +22 -3
  63. package/lib/polyfill/media_capabilities.js +13 -0
  64. package/lib/text/mp4_vtt_parser.js +4 -0
  65. package/lib/text/text_engine.js +1 -0
  66. package/lib/util/manifest_parser_utils.js +1 -2
  67. package/lib/util/mime_utils.js +11 -0
  68. package/lib/util/periods.js +5 -5
  69. package/lib/util/stream_utils.js +2 -2
  70. package/maintained-branches.md +2 -3
  71. package/package.json +1 -1
  72. package/test/dash/dash_parser_live_unit.js +3 -2
  73. package/test/hls/hls_parser_unit.js +156 -0
  74. package/test/media/content_workarounds_unit.js +43 -0
  75. package/test/media/drm_engine_integration.js +4 -17
  76. package/test/media/streaming_engine_unit.js +6 -1
  77. package/test/net/networking_engine_unit.js +6 -1
  78. package/test/player_integration.js +39 -0
  79. package/test/player_unit.js +57 -0
  80. package/test/polyfill/media_capabilities_unit.js +1 -0
  81. package/test/test/assets/text-clip-alt.vtt +63 -0
  82. package/test/test/util/fake_drm_engine.js +3 -0
  83. package/test/test/util/fake_media_source_engine.js +4 -0
  84. package/test/test/util/simple_fakes.js +6 -0
  85. package/test/test/util/test_scheme.js +9 -14
  86. package/test/text/mp4_vtt_parser_unit.js +8 -0
  87. package/test/util/mime_utils_unit.js +10 -0
  88. package/ui/less/containers.less +4 -0
@@ -3,65 +3,7 @@
3
3
  Copyright The Closure Library Authors.
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.arrayIteratorImpl=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}};$jscomp.arrayIterator=function(a){return{next:$jscomp.arrayIteratorImpl(a)}};$jscomp.makeIterator=function(a){var b="undefined"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):$jscomp.arrayIterator(a)};$jscomp.arrayFromIterator=function(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c};
7
- $jscomp.arrayFromIterable=function(a){return a instanceof Array?a:$jscomp.arrayFromIterator($jscomp.makeIterator(a))};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.ISOLATE_POLYFILLS=!1;$jscomp.FORCE_POLYFILL_PROMISE=!1;$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1;$jscomp.objectCreate=$jscomp.ASSUME_ES5||"function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b};
8
- $jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};$jscomp.getGlobal=function(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");};$jscomp.global=$jscomp.getGlobal(this);
9
- $jscomp.IS_SYMBOL_NATIVE="function"===typeof Symbol&&"symbol"===typeof Symbol("x");$jscomp.TRUST_ES6_POLYFILLS=!$jscomp.ISOLATE_POLYFILLS||$jscomp.IS_SYMBOL_NATIVE;$jscomp.polyfills={};$jscomp.propertyToPolyfillSymbol={};$jscomp.POLYFILL_PREFIX="$jscp$";var $jscomp$lookupPolyfilledValue=function(a,b){var c=$jscomp.propertyToPolyfillSymbol[b];if(null==c)return a[b];c=a[c];return void 0!==c?c:a[b]};
10
- $jscomp.polyfill=function(a,b,c,d){b&&($jscomp.ISOLATE_POLYFILLS?$jscomp.polyfillIsolated(a,b,c,d):$jscomp.polyfillUnisolated(a,b,c,d))};$jscomp.polyfillUnisolated=function(a,b,c,d){c=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))return;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:b})};
11
- $jscomp.polyfillIsolated=function(a,b,c,d){var e=a.split(".");a=1===e.length;d=e[0];d=!a&&d in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var f=0;f<e.length-1;f++){var g=e[f];if(!(g in d))return;d=d[g]}e=e[e.length-1];c=$jscomp.IS_SYMBOL_NATIVE&&"es6"===c?d[e]:null;b=b(c);null!=b&&(a?$jscomp.defineProperty($jscomp.polyfills,e,{configurable:!0,writable:!0,value:b}):b!==c&&(void 0===$jscomp.propertyToPolyfillSymbol[e]&&(c=1E9*Math.random()>>>0,$jscomp.propertyToPolyfillSymbol[e]=$jscomp.IS_SYMBOL_NATIVE?
12
- $jscomp.global.Symbol(e):$jscomp.POLYFILL_PREFIX+c+"$"+e),$jscomp.defineProperty(d,$jscomp.propertyToPolyfillSymbol[e],{configurable:!0,writable:!0,value:b})))};
13
- $jscomp.getConstructImplementation=function(){function a(){function c(){}new c;Reflect.construct(c,[],function(){});return new c instanceof c}if($jscomp.TRUST_ES6_POLYFILLS&&"undefined"!=typeof Reflect&&Reflect.construct){if(a())return Reflect.construct;var b=Reflect.construct;return function(c,d,e){c=b(c,d);e&&Reflect.setPrototypeOf(c,e.prototype);return c}}return function(c,d,e){void 0===e&&(e=c);e=$jscomp.objectCreate(e.prototype||Object.prototype);return Function.prototype.apply.call(c,e,d)||
14
- e}};$jscomp.construct={valueOf:$jscomp.getConstructImplementation}.valueOf();$jscomp.underscoreProtoCanBeSet=function(){var a={a:!0},b={};try{return b.__proto__=a,b.a}catch(c){}return!1};$jscomp.setPrototypeOf=$jscomp.TRUST_ES6_POLYFILLS&&"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
- $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={};
16
- $jscomp.generator.ensureIteratorResultIsObject_=function(a){if(!(a instanceof Object))throw new TypeError("Iterator result "+a+" is not an object");};$jscomp.generator.Context=function(){this.isRunning_=!1;this.yieldAllIterator_=null;this.yieldResult=void 0;this.nextAddress=1;this.finallyAddress_=this.catchAddress_=0;this.finallyContexts_=this.abruptCompletion_=null};
17
- $jscomp.generator.Context.prototype.start_=function(){if(this.isRunning_)throw new TypeError("Generator is already running");this.isRunning_=!0};$jscomp.generator.Context.prototype.stop_=function(){this.isRunning_=!1};$jscomp.generator.Context.prototype.jumpToErrorHandler_=function(){this.nextAddress=this.catchAddress_||this.finallyAddress_};$jscomp.generator.Context.prototype.next_=function(a){this.yieldResult=a};
18
- $jscomp.generator.Context.prototype.throw_=function(a){this.abruptCompletion_={exception:a,isException:!0};this.jumpToErrorHandler_()};$jscomp.generator.Context.prototype.return=function(a){this.abruptCompletion_={return:a};this.nextAddress=this.finallyAddress_};$jscomp.generator.Context.prototype.jumpThroughFinallyBlocks=function(a){this.abruptCompletion_={jumpTo:a};this.nextAddress=this.finallyAddress_};$jscomp.generator.Context.prototype.yield=function(a,b){this.nextAddress=b;return{value:a}};
19
- $jscomp.generator.Context.prototype.yieldAll=function(a,b){a=$jscomp.makeIterator(a);var c=a.next();$jscomp.generator.ensureIteratorResultIsObject_(c);if(c.done)this.yieldResult=c.value,this.nextAddress=b;else return this.yieldAllIterator_=a,this.yield(c.value,b)};$jscomp.generator.Context.prototype.jumpTo=function(a){this.nextAddress=a};$jscomp.generator.Context.prototype.jumpToEnd=function(){this.nextAddress=0};
20
- $jscomp.generator.Context.prototype.setCatchFinallyBlocks=function(a,b){this.catchAddress_=a;void 0!=b&&(this.finallyAddress_=b)};$jscomp.generator.Context.prototype.setFinallyBlock=function(a){this.catchAddress_=0;this.finallyAddress_=a||0};$jscomp.generator.Context.prototype.leaveTryBlock=function(a,b){this.nextAddress=a;this.catchAddress_=b||0};
21
- $jscomp.generator.Context.prototype.enterCatchBlock=function(a){this.catchAddress_=a||0;a=this.abruptCompletion_.exception;this.abruptCompletion_=null;return a};$jscomp.generator.Context.prototype.enterFinallyBlock=function(a,b,c){c?this.finallyContexts_[c]=this.abruptCompletion_:this.finallyContexts_=[this.abruptCompletion_];this.catchAddress_=a||0;this.finallyAddress_=b||0};
22
- $jscomp.generator.Context.prototype.leaveFinallyBlock=function(a,b){b=this.finallyContexts_.splice(b||0)[0];if(b=this.abruptCompletion_=this.abruptCompletion_||b){if(b.isException)return this.jumpToErrorHandler_();void 0!=b.jumpTo&&this.finallyAddress_<b.jumpTo?(this.nextAddress=b.jumpTo,this.abruptCompletion_=null):this.nextAddress=this.finallyAddress_}else this.nextAddress=a};$jscomp.generator.Context.prototype.forIn=function(a){return new $jscomp.generator.Context.PropertyIterator(a)};
23
- $jscomp.generator.Context.PropertyIterator=function(a){this.object_=a;this.properties_=[];for(var b in a)this.properties_.push(b);this.properties_.reverse()};$jscomp.generator.Context.PropertyIterator.prototype.getNext=function(){for(;0<this.properties_.length;){var a=this.properties_.pop();if(a in this.object_)return a}return null};$jscomp.generator.Engine_=function(a){this.context_=new $jscomp.generator.Context;this.program_=a};
24
- $jscomp.generator.Engine_.prototype.next_=function(a){this.context_.start_();if(this.context_.yieldAllIterator_)return this.yieldAllStep_(this.context_.yieldAllIterator_.next,a,this.context_.next_);this.context_.next_(a);return this.nextStep_()};
25
- $jscomp.generator.Engine_.prototype.return_=function(a){this.context_.start_();var b=this.context_.yieldAllIterator_;if(b)return this.yieldAllStep_("return"in b?b["return"]:function(c){return{value:c,done:!0}},a,this.context_.return);this.context_.return(a);return this.nextStep_()};
26
- $jscomp.generator.Engine_.prototype.throw_=function(a){this.context_.start_();if(this.context_.yieldAllIterator_)return this.yieldAllStep_(this.context_.yieldAllIterator_["throw"],a,this.context_.next_);this.context_.throw_(a);return this.nextStep_()};
27
- $jscomp.generator.Engine_.prototype.yieldAllStep_=function(a,b,c){try{var d=a.call(this.context_.yieldAllIterator_,b);$jscomp.generator.ensureIteratorResultIsObject_(d);if(!d.done)return this.context_.stop_(),d;var e=d.value}catch(f){return this.context_.yieldAllIterator_=null,this.context_.throw_(f),this.nextStep_()}this.context_.yieldAllIterator_=null;c.call(this.context_,e);return this.nextStep_()};
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
- $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)};this[Symbol.iterator]=function(){return this}};$jscomp.generator.createGenerator=function(a,b){b=new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(b));$jscomp.setPrototypeOf&&a.prototype&&$jscomp.setPrototypeOf(b,a.prototype);return b};
30
- $jscomp.asyncExecutePromiseGenerator=function(a){function b(d){return a.next(d)}function c(d){return a.throw(d)}return new Promise(function(d,e){function f(g){g.done?d(g.value):Promise.resolve(g.value).then(b,c).then(f,e)}f(a.next())})};$jscomp.asyncExecutePromiseGeneratorFunction=function(a){return $jscomp.asyncExecutePromiseGenerator(a())};$jscomp.asyncExecutePromiseGeneratorProgram=function(a){return $jscomp.asyncExecutePromiseGenerator(new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(a)))};
31
- $jscomp.polyfill("Reflect",function(a){return a?a:{}},"es6","es3");$jscomp.polyfill("Reflect.construct",function(a){return $jscomp.construct},"es6","es3");$jscomp.polyfill("Reflect.setPrototypeOf",function(a){if(a)return a;if($jscomp.setPrototypeOf){var b=$jscomp.setPrototypeOf;return function(c,d){try{return b(c,d),!0}catch(e){return!1}}}return null},"es6","es5");$jscomp.initSymbol=function(){};
32
- $jscomp.polyfill("Symbol",function(a){if(a)return a;var b=function(f,g){this.$jscomp$symbol$id_=f;$jscomp.defineProperty(this,"description",{configurable:!0,writable:!0,value:g})};b.prototype.toString=function(){return this.$jscomp$symbol$id_};var c="jscomp_symbol_"+(1E9*Math.random()>>>0)+"_",d=0,e=function(f){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new b(c+(f||"")+"_"+d++,f)};return e},"es6","es3");
33
- $jscomp.polyfill("Symbol.iterator",function(a){if(a)return a;a=Symbol("Symbol.iterator");for(var b="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),c=0;c<b.length;c++){var d=$jscomp.global[b[c]];"function"===typeof d&&"function"!=typeof d.prototype[a]&&$jscomp.defineProperty(d.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this))}})}return a},"es6",
34
- "es3");$jscomp.iteratorPrototype=function(a){a={next:a};a[Symbol.iterator]=function(){return this};return a};
35
- $jscomp.polyfill("Promise",function(a){function b(){this.batch_=null}function c(g){return g instanceof e?g:new e(function(h,k){h(g)})}if(a&&(!($jscomp.FORCE_POLYFILL_PROMISE||$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION&&"undefined"===typeof $jscomp.global.PromiseRejectionEvent)||!$jscomp.global.Promise||-1===$jscomp.global.Promise.toString().indexOf("[native code]")))return a;b.prototype.asyncExecute=function(g){if(null==this.batch_){this.batch_=[];var h=this;this.asyncExecuteFunction(function(){h.executeBatch_()})}this.batch_.push(g)};
36
- var d=$jscomp.global.setTimeout;b.prototype.asyncExecuteFunction=function(g){d(g,0)};b.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var g=this.batch_;this.batch_=[];for(var h=0;h<g.length;++h){var k=g[h];g[h]=null;try{k()}catch(l){this.asyncThrow_(l)}}}this.batch_=null};b.prototype.asyncThrow_=function(g){this.asyncExecuteFunction(function(){throw g;})};var e=function(g){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];this.isRejectionHandled_=!1;var h=this.createResolveAndReject_();
37
- try{g(h.resolve,h.reject)}catch(k){h.reject(k)}};e.prototype.createResolveAndReject_=function(){function g(l){return function(m){k||(k=!0,l.call(h,m))}}var h=this,k=!1;return{resolve:g(this.resolveTo_),reject:g(this.reject_)}};e.prototype.resolveTo_=function(g){if(g===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(g instanceof e)this.settleSameAsPromise_(g);else{a:switch(typeof g){case "object":var h=null!=g;break a;case "function":h=!0;break a;default:h=!1}h?this.resolveToNonPromiseObj_(g):
38
- this.fulfill_(g)}};e.prototype.resolveToNonPromiseObj_=function(g){var h=void 0;try{h=g.then}catch(k){this.reject_(k);return}"function"==typeof h?this.settleSameAsThenable_(h,g):this.fulfill_(g)};e.prototype.reject_=function(g){this.settle_(2,g)};e.prototype.fulfill_=function(g){this.settle_(1,g)};e.prototype.settle_=function(g,h){if(0!=this.state_)throw Error("Cannot settle("+g+", "+h+"): Promise already settled in state"+this.state_);this.state_=g;this.result_=h;2===this.state_&&this.scheduleUnhandledRejectionCheck_();
39
- this.executeOnSettledCallbacks_()};e.prototype.scheduleUnhandledRejectionCheck_=function(){var g=this;d(function(){if(g.notifyUnhandledRejection_()){var h=$jscomp.global.console;"undefined"!==typeof h&&h.error(g.result_)}},1)};e.prototype.notifyUnhandledRejection_=function(){if(this.isRejectionHandled_)return!1;var g=$jscomp.global.CustomEvent,h=$jscomp.global.Event,k=$jscomp.global.dispatchEvent;if("undefined"===typeof k)return!0;"function"===typeof g?g=new g("unhandledrejection",{cancelable:!0}):
40
- "function"===typeof h?g=new h("unhandledrejection",{cancelable:!0}):(g=$jscomp.global.document.createEvent("CustomEvent"),g.initCustomEvent("unhandledrejection",!1,!0,g));g.promise=this;g.reason=this.result_;return k(g)};e.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var g=0;g<this.onSettledCallbacks_.length;++g)f.asyncExecute(this.onSettledCallbacks_[g]);this.onSettledCallbacks_=null}};var f=new b;e.prototype.settleSameAsPromise_=function(g){var h=this.createResolveAndReject_();
41
- g.callWhenSettled_(h.resolve,h.reject)};e.prototype.settleSameAsThenable_=function(g,h){var k=this.createResolveAndReject_();try{g.call(h,k.resolve,k.reject)}catch(l){k.reject(l)}};e.prototype.then=function(g,h){function k(p,q){return"function"==typeof p?function(t){try{l(p(t))}catch(r){m(r)}}:q}var l,m,n=new e(function(p,q){l=p;m=q});this.callWhenSettled_(k(g,l),k(h,m));return n};e.prototype.catch=function(g){return this.then(void 0,g)};e.prototype.callWhenSettled_=function(g,h){function k(){switch(l.state_){case 1:g(l.result_);
42
- break;case 2:h(l.result_);break;default:throw Error("Unexpected state: "+l.state_);}}var l=this;null==this.onSettledCallbacks_?f.asyncExecute(k):this.onSettledCallbacks_.push(k);this.isRejectionHandled_=!0};e.resolve=c;e.reject=function(g){return new e(function(h,k){k(g)})};e.race=function(g){return new e(function(h,k){for(var l=$jscomp.makeIterator(g),m=l.next();!m.done;m=l.next())c(m.value).callWhenSettled_(h,k)})};e.all=function(g){var h=$jscomp.makeIterator(g),k=h.next();return k.done?c([]):new e(function(l,
43
- m){function n(t){return function(r){p[t]=r;q--;0==q&&l(p)}}var p=[],q=0;do p.push(void 0),q++,c(k.value).callWhenSettled_(n(p.length-1),m),k=h.next();while(!k.done)})};return e},"es6","es3");$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();
44
- $jscomp.owns=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};
45
- $jscomp.polyfill("WeakMap",function(a){function b(){if(!a||!Object.seal)return!1;try{var l=Object.seal({}),m=Object.seal({}),n=new a([[l,2],[m,3]]);if(2!=n.get(l)||3!=n.get(m))return!1;n.delete(l);n.set(m,4);return!n.has(l)&&4==n.get(m)}catch(p){return!1}}function c(){}function d(l){var m=typeof l;return"object"===m&&null!==l||"function"===m}function e(l){if(!$jscomp.owns(l,g)){var m=new c;$jscomp.defineProperty(l,g,{value:m})}}function f(l){if(!$jscomp.ISOLATE_POLYFILLS){var m=Object[l];m&&(Object[l]=
46
- function(n){if(n instanceof c)return n;Object.isExtensible(n)&&e(n);return m(n)})}}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;var g="$jscomp_hidden_"+Math.random();f("freeze");f("preventExtensions");f("seal");var h=0,k=function(l){this.id_=(h+=Math.random()+1).toString();if(l){l=$jscomp.makeIterator(l);for(var m;!(m=l.next()).done;)m=m.value,this.set(m[0],m[1])}};k.prototype.set=function(l,m){if(!d(l))throw Error("Invalid WeakMap key");
47
- e(l);if(!$jscomp.owns(l,g))throw Error("WeakMap key fail: "+l);l[g][this.id_]=m;return this};k.prototype.get=function(l){return d(l)&&$jscomp.owns(l,g)?l[g][this.id_]:void 0};k.prototype.has=function(l){return d(l)&&$jscomp.owns(l,g)&&$jscomp.owns(l[g],this.id_)};k.prototype.delete=function(l){return d(l)&&$jscomp.owns(l,g)&&$jscomp.owns(l[g],this.id_)?delete l[g][this.id_]:!1};return k},"es6","es3");$jscomp.MapEntry=function(){};
48
- $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 k=Object.seal({x:4}),l=new a($jscomp.makeIterator([[k,"s"]]));if("s"!=l.get(k)||1!=l.size||l.get({x:4})||l.set({x:4},"t")!=l||2!=l.size)return!1;var m=l.entries(),n=m.next();if(n.done||n.value[0]!=k||"s"!=n.value[1])return!1;n=m.next();return n.done||4!=n.value[0].x||"t"!=n.value[1]||!m.next().done?!1:!0}catch(p){return!1}}
49
- if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;var c=new WeakMap,d=function(k){this.data_={};this.head_=g();this.size=0;if(k){k=$jscomp.makeIterator(k);for(var l;!(l=k.next()).done;)l=l.value,this.set(l[0],l[1])}};d.prototype.set=function(k,l){k=0===k?0:k;var m=e(this,k);m.list||(m.list=this.data_[m.id]=[]);m.entry?m.entry.value=l:(m.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:k,value:l},m.list.push(m.entry),
50
- this.head_.previous.next=m.entry,this.head_.previous=m.entry,this.size++);return this};d.prototype.delete=function(k){k=e(this,k);return k.entry&&k.list?(k.list.splice(k.index,1),k.list.length||delete this.data_[k.id],k.entry.previous.next=k.entry.next,k.entry.next.previous=k.entry.previous,k.entry.head=null,this.size--,!0):!1};d.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=g();this.size=0};d.prototype.has=function(k){return!!e(this,k).entry};d.prototype.get=function(k){return(k=
51
- e(this,k).entry)&&k.value};d.prototype.entries=function(){return f(this,function(k){return[k.key,k.value]})};d.prototype.keys=function(){return f(this,function(k){return k.key})};d.prototype.values=function(){return f(this,function(k){return k.value})};d.prototype.forEach=function(k,l){for(var m=this.entries(),n;!(n=m.next()).done;)n=n.value,k.call(l,n[1],n[0],this)};d.prototype[Symbol.iterator]=d.prototype.entries;var e=function(k,l){var m=l&&typeof l;"object"==m||"function"==m?c.has(l)?m=c.get(l):
52
- (m=""+ ++h,c.set(l,m)):m="p_"+l;var n=k.data_[m];if(n&&$jscomp.owns(k.data_,m))for(k=0;k<n.length;k++){var p=n[k];if(l!==l&&p.key!==p.key||l===p.key)return{id:m,list:n,index:k,entry:p}}return{id:m,list:n,index:-1,entry:void 0}},f=function(k,l){var m=k.head_;return $jscomp.iteratorPrototype(function(){if(m){for(;m.head!=k.head_;)m=m.previous;for(;m.next!=m.head;)return m=m.next,{done:!1,value:l(m)};m=null}return{done:!0,value:void 0}})},g=function(){var k={};return k.previous=k.next=k.head=k},h=0;
53
- return d},"es6","es3");$jscomp.polyfill("Object.is",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}},"es6","es3");$jscomp.polyfill("Array.prototype.includes",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(0>c&&(c=Math.max(c+e,0));c<e;c++){var f=d[c];if(f===b||Object.is(f,b))return!0}return!1}},"es7","es3");
54
- $jscomp.checkStringArgs=function(a,b,c){if(null==a)throw new TypeError("The 'this' value for String.prototype."+c+" must not be null or undefined");if(b instanceof RegExp)throw new TypeError("First argument to String.prototype."+c+" must not be a regular expression");return a+""};$jscomp.polyfill("String.prototype.includes",function(a){return a?a:function(b,c){return-1!==$jscomp.checkStringArgs(this,b,"includes").indexOf(b,c||0)}},"es6","es3");
55
- $jscomp.iteratorFromArray=function(a,b){a instanceof String&&(a+="");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var f=c++;return{value:b(f,a[f]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e};$jscomp.polyfill("Array.prototype.entries",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b,c){return[b,c]})}},"es6","es3");
56
- $jscomp.assign=$jscomp.TRUST_ES6_POLYFILLS&&"function"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)$jscomp.owns(d,e)&&(a[e]=d[e])}return a};$jscomp.polyfill("Object.assign",function(a){return a||$jscomp.assign},"es6","es3");$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b){return b})}},"es6","es3");
57
- $jscomp.polyfill("Array.from",function(a){return a?a:function(b,c,d){c=null!=c?c:function(h){return h};var e=[],f="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];if("function"==typeof f){b=f.call(b);for(var g=0;!(f=b.next()).done;)e.push(c.call(d,f.value,g++))}else for(f=b.length,g=0;g<f;g++)e.push(c.call(d,b[g],g));return e}},"es6","es3");
58
- $jscomp.polyfill("Set",function(a){function b(){if($jscomp.ASSUME_NO_NATIVE_SET||!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var d=Object.seal({x:4}),e=new a($jscomp.makeIterator([d]));if(!e.has(d)||1!=e.size||e.add(d)!=e||1!=e.size||e.add({x:4})!=e||2!=e.size)return!1;var f=e.entries(),g=f.next();if(g.done||g.value[0]!=d||g.value[1]!=d)return!1;g=f.next();return g.done||g.value[0]==d||4!=g.value[0].x||g.value[1]!=g.value[0]?!1:f.next().done}catch(h){return!1}}
59
- if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;var c=function(d){this.map_=new Map;if(d){d=$jscomp.makeIterator(d);for(var e;!(e=d.next()).done;)this.add(e.value)}this.size=this.map_.size};c.prototype.add=function(d){d=0===d?0:d;this.map_.set(d,d);this.size=this.map_.size;return this};c.prototype.delete=function(d){d=this.map_.delete(d);this.size=this.map_.size;return d};c.prototype.clear=function(){this.map_.clear();this.size=0};c.prototype.has=
60
- function(d){return this.map_.has(d)};c.prototype.entries=function(){return this.map_.entries()};c.prototype.values=function(){return this.map_.values()};c.prototype.keys=c.prototype.values;c.prototype[Symbol.iterator]=c.prototype.values;c.prototype.forEach=function(d,e){var f=this;this.map_.forEach(function(g){return d.call(e,g,g,f)})};return c},"es6","es3");
61
- $jscomp.polyfill("String.prototype.replaceAll",function(a){return a?a:function(b,c){if(b instanceof RegExp&&!b.global)throw new TypeError("String.prototype.replaceAll called with a non-global RegExp argument.");return b instanceof RegExp?this.replace(b,c):this.replace(new RegExp(String(b).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08"),"g"),c)}},"es_2021","es3");
62
- $jscomp.polyfill("String.prototype.startsWith",function(a){return a?a:function(b,c){var d=$jscomp.checkStringArgs(this,b,"startsWith");b+="";var e=d.length,f=b.length;c=Math.max(0,Math.min(c|0,d.length));for(var g=0;g<f&&c<e;)if(d[c++]!=b[g++])return!1;return g>=f}},"es6","es3");$jscomp.polyfill("Object.entries",function(a){return a?a:function(b){var c=[],d;for(d in b)$jscomp.owns(b,d)&&c.push([d,b[d]]);return c}},"es8","es3");
63
- $jscomp.polyfill("Array.prototype.values",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b,c){return c})}},"es8","es3");$jscomp.polyfill("Object.values",function(a){return a?a:function(b){var c=[],d;for(d in b)$jscomp.owns(b,d)&&c.push(b[d]);return c}},"es8","es3");var COMPILED=!0,goog=goog||{};goog.global=this||self;
64
- goog.exportPath_=function(a,b,c,d){a=a.split(".");d=d||goog.global;a[0]in d||"undefined"==typeof d.execScript||d.execScript("var "+a[0]);for(var e;a.length&&(e=a.shift());)if(a.length||void 0===b)d=d[e]&&d[e]!==Object.prototype[e]?d[e]:d[e]={};else if(!c&&goog.isObject(b)&&goog.isObject(d[e]))for(var f in b)b.hasOwnProperty(f)&&(d[e][f]=b[f]);else d[e]=b};
6
+ var COMPILED=!0,goog=goog||{};goog.global=this||self;goog.exportPath_=function(a,b,c,d){a=a.split(".");d=d||goog.global;a[0]in d||"undefined"==typeof d.execScript||d.execScript("var "+a[0]);for(var e;a.length&&(e=a.shift());)if(a.length||void 0===b)d=d[e]&&d[e]!==Object.prototype[e]?d[e]:d[e]={};else if(!c&&goog.isObject(b)&&goog.isObject(d[e]))for(var f in b)b.hasOwnProperty(f)&&(d[e][f]=b[f]);else d[e]=b};
65
7
  goog.define=function(a,b){if(!COMPILED){var c=goog.global.CLOSURE_UNCOMPILED_DEFINES,d=goog.global.CLOSURE_DEFINES;c&&void 0===c.nodeType&&Object.prototype.hasOwnProperty.call(c,a)?b=c[a]:d&&void 0===d.nodeType&&Object.prototype.hasOwnProperty.call(d,a)&&(b=d[a])}return b};goog.FEATURESET_YEAR=2012;goog.DEBUG=!0;goog.LOCALE="en";goog.getLocale=function(){return goog.LOCALE};goog.TRUSTED_SITE=!0;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;
66
8
  goog.provide=function(a){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');goog.constructNamespace_(a)};goog.constructNamespace_=function(a,b,c){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var d=a;(d=d.substring(0,d.lastIndexOf(".")))&&!goog.getObjectByName(d);)goog.implicitNamespaces_[d]=!0}goog.exportPath_(a,b,c)};goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/;
67
9
  goog.getScriptNonce_=function(a){a=(a||goog.global).document;return(a=a.querySelector&&a.querySelector("script[nonce]"))&&(a=a.nonce||a.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(a)?a:""};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
@@ -123,7 +65,7 @@ goog.bootstrap=function(a,b){goog.debugLoader_.bootstrap(a,b)});if(!COMPILED){va
123
65
  Copyright 2016 Google LLC
124
66
  SPDX-License-Identifier: Apache-2.0
125
67
  */
126
- goog.asserts=function(){};goog.asserts.assert=function(a,b){};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.ENABLE_ASSERTS&&console.assert&&console.assert.bind&&(goog.asserts.assert=console.assert.bind(console));var shakaDemo={MessageIds:{ADS:"DEMO_ADS",AUDIO_ONLY:"DEMO_AUDIO_ONLY",CAPTIONS:"DEMO_CAPTIONS",CONTAINERLESS:"DEMO_CONTAINERLESS",DASH:"DEMO_DASH",HIGH_DEFINITION:"DEMO_HIGH_DEFINITION",HLS:"DEMO_HLS",LCEVC:"DEMO_LCEVC",LIVE:"DEMO_LIVE",MP2TS:"DEMO_MP2TS",MP4:"DEMO_MP4",MULTIPLE_LANGUAGES:"DEMO_MULTIPLE_LANGUAGES",OFFLINE:"DEMO_OFFLINE",STORED:"DEMO_STORED",SUBTITLES:"DEMO_SUBTITLES",SURROUND:"DEMO_SURROUND",THUMBNAILS:"DEMO_THUMBNAILS",TRICK_MODE:"DEMO_TRICK_MODE",ULTRA_HIGH_DEFINITION:"DEMO_ULTRA_HIGH_DEFINITION",
68
+ goog.asserts=class{static assert(a,b){}};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.ENABLE_ASSERTS&&console.assert&&console.assert.bind&&(goog.asserts.assert=console.assert.bind(console));var shakaDemo={MessageIds:{ADS:"DEMO_ADS",AUDIO_ONLY:"DEMO_AUDIO_ONLY",CAPTIONS:"DEMO_CAPTIONS",CONTAINERLESS:"DEMO_CONTAINERLESS",DASH:"DEMO_DASH",HIGH_DEFINITION:"DEMO_HIGH_DEFINITION",HLS:"DEMO_HLS",LCEVC:"DEMO_LCEVC",LIVE:"DEMO_LIVE",MP2TS:"DEMO_MP2TS",MP4:"DEMO_MP4",MULTIPLE_LANGUAGES:"DEMO_MULTIPLE_LANGUAGES",OFFLINE:"DEMO_OFFLINE",STORED:"DEMO_STORED",SUBTITLES:"DEMO_SUBTITLES",SURROUND:"DEMO_SURROUND",THUMBNAILS:"DEMO_THUMBNAILS",TRICK_MODE:"DEMO_TRICK_MODE",ULTRA_HIGH_DEFINITION:"DEMO_ULTRA_HIGH_DEFINITION",
127
69
  VOD:"DEMO_VOD",WEBM:"DEMO_WEBM",XLINK:"DEMO_XLINK",CLEAR:"DEMO_CLEAR",CLEAR_KEY:"DEMO_CLEAR_KEY",FAIRPLAY:"DEMO_FAIRPLAY",PLAYREADY:"DEMO_PLAYREADY",WIDEVINE:"DEMO_WIDEVINE",APPLE:"DEMO_APPLE",AXINOM:"DEMO_AXINOM",AZURE_MEDIA_SERVICES:"DEMO_AZURE_MEDIA_SERVICES",BITCODIN:"DEMO_BITCODIN",CUSTOM:"DEMO_CUSTOM",DASH_IF:"DEMO_DASH_IF",GPAC:"DEMO_GPAC",IRT:"DEMO_IRT",METACDN:"DEMO_METACDN",MICROSOFT:"DEMO_MICROSOFT",NIMBLE_STREAMER:"DEMO_NIMBLE_STREAMER",SHAKA:"DEMO_SHAKA",UNIFIED_STREAMING:"DEMO_UNIFIED_STREAMING",
128
70
  UPLYNK:"DEMO_UPLYNK",ALL_CONTENT:"DEMO_ALL_CONTENT",CDN_HEADER:"DEMO_CDN_HEADER",COMPILED_DEBUG:"DEMO_COMPILED_DEBUG",COMPILED_RELEASE:"DEMO_COMPILED_RELEASE",CONFIG:"DEMO_CONFIG",CUSTOM_CONTENT:"DEMO_CUSTOM_CONTENT",DEMO_MODE_HEADER:"DEMO_DEMO_MODE_HEADER",DOCUMENTATION:"DEMO_DOCUMENTATION",HOME:"DEMO_HOME",JSDELIVR:"DEMO_JSDELIVR",LIBRARIES:"DEMO_LIBRARIES",LICENSE:"DEMO_LICENSE",NPM:"DEMO_NPM",PROJECT_LINKS_HEADER:"DEMO_PROJECT_LINKS_HEADER",REPORT_BUG:"DEMO_REPORT_BUG",SOURCE:"DEMO_SOURCE",SUPPORT:"DEMO_SUPPORT",
129
71
  UNCOMPILED:"DEMO_UNCOMPILED",FAILURE_MISC:"DEMO_FAILURE_MISC",FAILURE_NO_BROWSER_SUPPORT:"DEMO_FAILURE_NO_BROWSER_SUPPORT",PLAY:"DEMO_PLAY",PROMPT_NO:"DEMO_PROMPT_NO",PROMPT_YES:"DEMO_PROMPT_YES",UNSUPPORTED_DISABLED:"DEMO_UNSUPPORTED_DISABLED",UNSUPPORTED_NO_DASH_SUPPORT:"DEMO_UNSUPPORTED_NO_DASH_SUPPORT",UNSUPPORTED_NO_DOWNLOAD:"DEMO_UNSUPPORTED_NO_DOWNLOAD",UNSUPPORTED_NO_FORMAT_SUPPORT:"DEMO_UNSUPPORTED_NO_FORMAT_SUPPORT",UNSUPPORTED_NO_HLS_SUPPORT:"DEMO_UNSUPPORTED_NO_HLS_SUPPORT",UNSUPPORTED_NO_OFFLINE:"DEMO_UNSUPPORTED_NO_OFFLINE",
@@ -143,27 +85,23 @@ MIN_BYTES:"DEMO_MIN_BYTES",MIN_FRAMERATE:"DEMO_MIN_FRAMERATE",MIN_HEIGHT:"DEMO_M
143
85
  OFFLINE_SECTION_HEADER:"DEMO_OFFLINE_SECTION_HEADER",PARSE_INBAND_PSSH_ENABLED:"DEMO_PARSE_INBAND_PSSH_ENABLED",PREFER_FORCED_SUBS:"DEMO_PREFER_FORCED_SUBS",PREFER_NATIVE_HLS:"DEMO_PREFER_NATIVE_HLS",REBUFFERING_GOAL:"DEMO_REBUFFERING_GOAL",RESTRICT_TO_ELEMENT_SIZE:"DEMO_RESTRICT_TO_ELEMENT_SIZE",RESTRICT_TO_SCREEN_SIZE:"DEMO_RESTRICT_TO_SCREEN_SIZE",RESTRICTIONS_SECTION_HEADER:"DEMO_RESTRICTIONS_SECTION_HEADER",SAFE_SEEK_OFFSET:"DEMO_SAFE_SEEK_OFFSET",SAFE_SKIP_DISTANCE:"DEMO_SAFE_SKIP_DISTANCE",
144
86
  SEGMENT_RELATIVE_VTT_TIMING:"DEMO_SEGMENT_RELATIVE_VTT_TIMING",SEQUENCE_MODE:"DEMO_SEQUENCE_MODE",SESSION_ID:"DEMO_SESSION_ID",SHAKA_CONTROLS:"DEMO_SHAKA_CONTROLS",SLOW_HALF_LIFE:"DEMO_SLOW_HALF_LIFE",SOURCE_BUFFER_EXTRA_FEATURES:"DEMO_SOURCE_BUFFER_EXTRA_FEATURES",STALL_DETECTOR_ENABLED:"DEMO_STALL_DETECTOR_ENABLED",STALL_THRESHOLD:"DEMO_STALL_THRESHOLD",STALL_TIMEOUT:"DEMO_STALL_TIMEOUT",START_AT_SEGMENT_BOUNDARY:"DEMO_START_AT_SEGMENT_BOUNDARY",STREAMING_RETRY_SECTION_HEADER:"DEMO_STREAMING_RETRY_SECTION_HEADER",
145
87
  STREAMING_SECTION_HEADER:"DEMO_STREAMING_SECTION_HEADER",SWITCH_INTERVAL:"DEMO_SWITCH_INTERVAL",TEXT_LANGUAGE:"DEMO_TEXT_LANGUAGE",TEXT_ROLE:"DEMO_TEXT_ROLE",TIMEOUT:"DEMO_TIMEOUT",TRICK_PLAY_CONTROLS:"DEMO_TRICK_PLAY_CONTROLS",TRICK_PLAY_CONTROLS_WARNING:"DEMO_TRICK_PLAY_CONTROLS_WARNING",UI_LOCALE:"DEMO_UI_LOCALE",UPDATE_EXPIRATION_TIME:"DEMO_UPDATE_EXPIRATION_TIME",UPDATE_INTERVAL_SECONDS:"DEMO_UPDATE_INTERVAL_SECONDS",USE_HEADERS:"DEMO_USE_HEADERS",USE_NATIVE_HLS_SAFARI:"DEMO_USE_NATIVE_HLS_SAFARI",
146
- USE_PERSISTENT_LICENSES:"DEMO_USE_PERSISTENT_LICENSES",USE_SAFARI_BEHAVIOR_FOR_LIVE:"DEMO_USE_SAFARI_BEHAVIOR_FOR_LIVE",VIDEO_ROBUSTNESS:"DEMO_VIDEO_ROBUSTNESS",VNOVA:"DEMO_VNOVA",XLINK_FAIL_GRACEFULLY:"DEMO_XLINK_FAIL_GRACEFULLY"}};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.description=this.certificateUri=null;this.isFeatured=!1;this.drm=[shakaAssets.KeySystem.CLEAR];this.features=[shakaAssets.Feature.VOD];this.licenseServers=new Map;this.licenseRequestHeaders=new Map;this.responseFilter=this.requestFilter=null;this.clearKeys=new Map;this.mediaPlaylistFullMimeType=this.mimeType=this.imaManifestType=
147
- this.imaContentSrcId=this.imaAssetKey=this.imaVideoId=this.adTagUri=this.extraConfig=null;this.storedProgress=1};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};
148
- ShakaDemoAssetInfo.prototype.addFeature=function(a){var b=shakaAssets.Feature;a==b.LIVE&&(this.features=this.features.filter(function(c){return c!=b.VOD}));this.features.push(a);this.features.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);return this};ShakaDemoAssetInfo.prototype.addKeySystem=function(a){this.isClear()&&(this.drm=[]);this.drm.push(a);this.drm.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);return this};
149
- ShakaDemoAssetInfo.prototype.isClear=function(){return 1==this.drm.length&&this.drm[0]==shakaAssets.KeySystem.CLEAR};ShakaDemoAssetInfo.prototype.setMediaPlaylistFullMimeType=function(a){this.mediaPlaylistFullMimeType=a;return this};ShakaDemoAssetInfo.prototype.setExtraConfig=function(a){this.extraConfig=a;return this};ShakaDemoAssetInfo.prototype.setMimeType=function(a){this.mimeType=a;return this};ShakaDemoAssetInfo.prototype.setRequestFilter=function(a){this.requestFilter=a;return this};
150
- 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.setAdTagUri=function(a){this.adTagUri=a;this.addFeature(shakaAssets.Feature.ADS);return this};ShakaDemoAssetInfo.prototype.setIMAContentSourceId=function(a){this.imaContentSrcId=a;this.features.includes(shakaAssets.Feature.ADS)||this.addFeature(shakaAssets.Feature.ADS);return this};
151
- ShakaDemoAssetInfo.prototype.setIMAVideoId=function(a){this.imaVideoId=a;this.features.includes(shakaAssets.Feature.ADS)||this.addFeature(shakaAssets.Feature.ADS);return this};ShakaDemoAssetInfo.prototype.setIMAAssetKey=function(a){this.imaAssetKey=a;this.features.includes(shakaAssets.Feature.ADS)||this.addFeature(shakaAssets.Feature.ADS);return this};
152
- ShakaDemoAssetInfo.prototype.setIMAManifestType=function(a){this.imaManifestType=a;this.features.includes(shakaAssets.Feature.ADS)||this.addFeature(shakaAssets.Feature.ADS);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};
153
- 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};
154
- ShakaDemoAssetInfo.prototype.applyFilters=function(a){var b=this;a.clearAllRequestFilters();a.clearAllResponseFilters();this.licenseRequestHeaders.size&&a.registerRequestFilter(function(c,d){return b.addLicenseRequestHeaders_(b.licenseRequestHeaders,c,d)});this.requestFilter&&a.registerRequestFilter(this.requestFilter);this.responseFilter&&a.registerResponseFilter(this.responseFilter)};
155
- ShakaDemoAssetInfo.prototype.getConfiguration=function(){var a={drm:{advanced:{}},manifest:{dash:{},hls:{}}};if(this.extraConfig)for(var b in this.extraConfig)a[b]=this.extraConfig[b];this.mediaPlaylistFullMimeType&&(a.manifest.hls.mediaPlaylistFullMimeType=this.mediaPlaylistFullMimeType);this.licenseServers.size&&(a.drm.servers=a.drm.servers||{},this.licenseServers.forEach(function(c,d){a.drm.servers[d]=c}));this.clearKeys.size&&(a.drm.clearKeys=a.drm.clearKeys||{},this.clearKeys.forEach(function(c,
156
- d){a.drm.clearKeys[d]=c}));return a};ShakaDemoAssetInfo.prototype.addLicenseRequestHeaders_=function(a,b,c){b==shaka.net.NetworkingEngine.RequestType.LICENSE&&a.forEach(function(d,e){c.headers[e]=d})};ShakaDemoAssetInfo.prototype.isStored=function(){return null!=this.storedContent};ShakaDemoAssetInfo.makeBlankAsset=function(){return new ShakaDemoAssetInfo("","","",shakaAssets.Source.CUSTOM)};
157
- 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={};
88
+ USE_PERSISTENT_LICENSES:"DEMO_USE_PERSISTENT_LICENSES",USE_SAFARI_BEHAVIOR_FOR_LIVE:"DEMO_USE_SAFARI_BEHAVIOR_FOR_LIVE",VIDEO_ROBUSTNESS:"DEMO_VIDEO_ROBUSTNESS",VNOVA:"DEMO_VNOVA",XLINK_FAIL_GRACEFULLY:"DEMO_XLINK_FAIL_GRACEFULLY"}};const ShakaDemoAssetInfo=class{constructor(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.description=this.certificateUri=null;this.isFeatured=!1;this.drm=[shakaAssets.KeySystem.CLEAR];this.features=[shakaAssets.Feature.VOD];this.licenseServers=new Map;this.licenseRequestHeaders=new Map;this.responseFilter=this.requestFilter=null;this.clearKeys=new Map;this.mediaPlaylistFullMimeType=this.mimeType=this.imaManifestType=
89
+ this.imaContentSrcId=this.imaAssetKey=this.imaVideoId=this.adTagUri=this.extraConfig=null;this.storedProgress=1}addDescription(a){this.description=a;return this}addCertificateUri(a){this.certificateUri=a;return this}static caseLessAlphaComparator_(a,b){return a.toLowerCase()<b.toLowerCase()?-1:a.toLowerCase()>b.toLowerCase()?1:0}addFeature(a){const b=shakaAssets.Feature;a==b.LIVE&&(this.features=this.features.filter(c=>c!=b.VOD));this.features.push(a);this.features.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);
90
+ return this}addKeySystem(a){this.isClear()&&(this.drm=[]);this.drm.push(a);this.drm.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);return this}isClear(){return 1==this.drm.length&&this.drm[0]==shakaAssets.KeySystem.CLEAR}setMediaPlaylistFullMimeType(a){this.mediaPlaylistFullMimeType=a;return this}setExtraConfig(a){this.extraConfig=a;return this}setMimeType(a){this.mimeType=a;return this}setRequestFilter(a){this.requestFilter=a;return this}setResponseFilter(a){this.responseFilter=a;return this}addLicenseServer(a,
91
+ b){this.licenseServers.set(a,b);return this}setAdTagUri(a){this.adTagUri=a;this.addFeature(shakaAssets.Feature.ADS);return this}setIMAContentSourceId(a){this.imaContentSrcId=a;this.features.includes(shakaAssets.Feature.ADS)||this.addFeature(shakaAssets.Feature.ADS);return this}setIMAVideoId(a){this.imaVideoId=a;this.features.includes(shakaAssets.Feature.ADS)||this.addFeature(shakaAssets.Feature.ADS);return this}setIMAAssetKey(a){this.imaAssetKey=a;this.features.includes(shakaAssets.Feature.ADS)||
92
+ this.addFeature(shakaAssets.Feature.ADS);return this}setIMAManifestType(a){this.imaManifestType=a;this.features.includes(shakaAssets.Feature.ADS)||this.addFeature(shakaAssets.Feature.ADS);return this}addLicenseRequestHeader(a,b){this.licenseRequestHeaders.set(a,b);return this}addExtraText(a){this.extraText.push(a);return this}markAsFocused(){this.focus=!0;return this}markAsFeatured(a){this.isFeatured=!0;this.shortName=a||this.shortName;return this}markAsDisabled(){this.disabled=!0;return this}toJSON(){const a=
93
+ {};for(const b in this){const c=this[b];if(c instanceof Map){const d={__type__:"map"};for(const e of c.entries())d[e[0]]=e[1];a[b]=d}else a[b]=c}return a}applyFilters(a){a.clearAllRequestFilters();a.clearAllResponseFilters();this.licenseRequestHeaders.size&&a.registerRequestFilter((b,c)=>this.addLicenseRequestHeaders_(this.licenseRequestHeaders,b,c));this.requestFilter&&a.registerRequestFilter(this.requestFilter);this.responseFilter&&a.registerResponseFilter(this.responseFilter)}getConfiguration(){const a=
94
+ {drm:{advanced:{}},manifest:{dash:{},hls:{}}};if(this.extraConfig)for(const b in this.extraConfig)a[b]=this.extraConfig[b];this.mediaPlaylistFullMimeType&&(a.manifest.hls.mediaPlaylistFullMimeType=this.mediaPlaylistFullMimeType);this.licenseServers.size&&(a.drm.servers=a.drm.servers||{},this.licenseServers.forEach((b,c)=>{a.drm.servers[c]=b}));this.clearKeys.size&&(a.drm.clearKeys=a.drm.clearKeys||{},this.clearKeys.forEach((b,c)=>{a.drm.clearKeys[c]=b}));return a}addLicenseRequestHeaders_(a,b,c){b==
95
+ shaka.net.NetworkingEngine.RequestType.LICENSE&&a.forEach((d,e)=>{c.headers[e]=d})}isStored(){return null!=this.storedContent}static makeBlankAsset(){return new ShakaDemoAssetInfo("","","",shakaAssets.Source.CUSTOM)}static fromJSON(a){const b={};for(const c in a){const d=a[c];if(d&&"object"==typeof d&&"map"==d.__type__){const e=new Map;for(const 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}};const shakaAssets={};
158
96
  shakaAssets.Source={CUSTOM:shakaDemo.MessageIds.CUSTOM,SHAKA:shakaDemo.MessageIds.SHAKA,AXINOM:shakaDemo.MessageIds.AXINOM,UNIFIED_STREAMING:shakaDemo.MessageIds.UNIFIED_STREAMING,DASH_IF:shakaDemo.MessageIds.DASH_IF,BITCODIN:shakaDemo.MessageIds.BITCODIN,METACDN:shakaDemo.MessageIds.METACDN,NIMBLE_STREAMER:shakaDemo.MessageIds.NIMBLE_STREAMER,AZURE_MEDIA_SERVICES:shakaDemo.MessageIds.AZURE_MEDIA_SERVICES,GPAC:shakaDemo.MessageIds.GPAC,UPLYNK:shakaDemo.MessageIds.UPLYNK,APPLE:shakaDemo.MessageIds.APPLE,IRT:shakaDemo.MessageIds.IRT,
159
97
  MICROSOFT:shakaDemo.MessageIds.MICROSOFT,VNOVA:shakaDemo.MessageIds.VNOVA};shakaAssets.KeySystem={CLEAR_KEY:shakaDemo.MessageIds.CLEAR_KEY,FAIRPLAY:shakaDemo.MessageIds.FAIRPLAY,PLAYREADY:shakaDemo.MessageIds.PLAYREADY,WIDEVINE:shakaDemo.MessageIds.WIDEVINE,CLEAR:shakaDemo.MessageIds.CLEAR};
160
98
  shakaAssets.AdTag={SINGLE_LINEAR_AD:"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=",SINGLE_NON_LINEAR_AD:"https://pubads.g.doubleclick.net/gampad/ads?sz=480x70&iu=/124319096/external/single_ad_samples&ciu_szs=300x250 &impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dnonlinear&correlator=",
161
99
  SINGLE_SKIPPABLE_AD:"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dskippablelinear&correlator=",AD_POD_PREROLL_MIDROLL_POSTROLL:"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/ad_rule_samples&ciu_szs=300x250&ad_rule=1&impl=s&gdfp_req=1&env=vp&output=vmap&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpostpod&cmsid=496&vid=short_onecue&correlator="};
162
- shakaAssets.identifierForKeySystem=function(a){var b=shakaAssets.KeySystem;switch(a){case b.CLEAR_KEY:return"org.w3.clearkey";case b.FAIRPLAY:return"com.apple.fps";case b.PLAYREADY:return"com.microsoft.playready";case b.WIDEVINE:return"com.widevine.alpha";default:return"no drm protection"}};
100
+ shakaAssets.identifierForKeySystem=a=>{const b=shakaAssets.KeySystem;switch(a){case b.CLEAR_KEY:return"org.w3.clearkey";case b.FAIRPLAY:return"com.apple.fps";case b.PLAYREADY:return"com.microsoft.playready";case b.WIDEVINE:return"com.widevine.alpha";default:return"no drm protection"}};
163
101
  shakaAssets.Feature={TRICK_MODE:shakaDemo.MessageIds.TRICK_MODE,XLINK:shakaDemo.MessageIds.XLINK,SUBTITLES:shakaDemo.MessageIds.SUBTITLES,CAPTIONS:shakaDemo.MessageIds.CAPTIONS,MULTIPLE_LANGUAGES:shakaDemo.MessageIds.MULTIPLE_LANGUAGES,AUDIO_ONLY:shakaDemo.MessageIds.AUDIO_ONLY,OFFLINE:shakaDemo.MessageIds.OFFLINE,STORED:shakaDemo.MessageIds.STORED,ADS:shakaDemo.MessageIds.ADS,LIVE:shakaDemo.MessageIds.LIVE,VOD:shakaDemo.MessageIds.VOD,WEBM:shakaDemo.MessageIds.WEBM,MP4:shakaDemo.MessageIds.MP4,MP2TS:shakaDemo.MessageIds.MP2TS,
164
102
  CONTAINERLESS:shakaDemo.MessageIds.CONTAINERLESS,HIGH_DEFINITION:shakaDemo.MessageIds.HIGH_DEFINITION,ULTRA_HIGH_DEFINITION:shakaDemo.MessageIds.ULTRA_HIGH_DEFINITION,SURROUND:shakaDemo.MessageIds.SURROUND,DASH:shakaDemo.MessageIds.DASH,HLS:shakaDemo.MessageIds.HLS,THUMBNAILS:shakaDemo.MessageIds.THUMBNAILS,LCEVC:shakaDemo.MessageIds.LCEVC};shakaAssets.lastUplynkPrefix="";
165
- shakaAssets.UplynkResponseFilter=function(a,b){a==shaka.net.NetworkingEngine.RequestType.MANIFEST&&(shakaAssets.lastUplynkPrefix=b.headers["x-uplynk-prefix"]?b.headers["x-uplynk-prefix"]:"")};
166
- shakaAssets.UplynkRequestFilter=function(a,b){a==shaka.net.NetworkingEngine.RequestType.LICENSE&&(b.uris[0].includes("wv")&&shakaAssets.lastUplynkPrefix?b.uris[0]=shakaAssets.lastUplynkPrefix.concat("/wv"):b.uris[0].includes("ck")&&shakaAssets.lastUplynkPrefix?b.uris[0]=shakaAssets.lastUplynkPrefix.concat("/ck"):b.uris[0].includes("pr")&&shakaAssets.lastUplynkPrefix&&(b.uris[0]=shakaAssets.lastUplynkPrefix.concat("/pr")))};
103
+ shakaAssets.UplynkResponseFilter=(a,b)=>{a==shaka.net.NetworkingEngine.RequestType.MANIFEST&&(shakaAssets.lastUplynkPrefix=b.headers["x-uplynk-prefix"]?b.headers["x-uplynk-prefix"]:"")};
104
+ shakaAssets.UplynkRequestFilter=(a,b)=>{a==shaka.net.NetworkingEngine.RequestType.LICENSE&&(b.uris[0].includes("wv")&&shakaAssets.lastUplynkPrefix?b.uris[0]=shakaAssets.lastUplynkPrefix.concat("/wv"):b.uris[0].includes("ck")&&shakaAssets.lastUplynkPrefix?b.uris[0]=shakaAssets.lastUplynkPrefix.concat("/ck"):b.uris[0].includes("pr")&&shakaAssets.lastUplynkPrefix&&(b.uris[0]=shakaAssets.lastUplynkPrefix.concat("/pr")))};
167
105
  shakaAssets.testAssets=[(new ShakaDemoAssetInfo("Big Buck Bunny: the Dark Truths of a Video Dev Cartoon (DASH)","https://storage.googleapis.com/shaka-asset-icons/dark_truth.png","https://storage.googleapis.com/shaka-demo-assets/bbb-dark-truths/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Big Buck Bunny: the Dark Truths of a Video Dev Cartoon (HLS)",
168
106
  "https://storage.googleapis.com/shaka-asset-icons/dark_truth.png","https://storage.googleapis.com/shaka-demo-assets/bbb-dark-truths-hls/hls.m3u8",shakaAssets.Source.SHAKA)).addDescription("A serious documentary about a problem plaguing video developers.").markAsFeatured("Big Buck Bunny: the Dark Truths").addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Angel One (multicodec, multilingual)",
169
107
  "https://storage.googleapis.com/shaka-asset-icons/angel_one.png","https://storage.googleapis.com/shaka-demo-assets/angel-one/dash.mpd",shakaAssets.Source.SHAKA)).addDescription("A clip from a classic Star Trek TNG episode, presented in MPEG-DASH.").markAsFeatured("Angel One").addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),
@@ -245,225 +183,158 @@ shakaAssets.Source.GPAC)).markAsDisabled().addFeature(shakaAssets.Feature.DASH).
245
183
  shakaAssets.Source.IRT)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.LIVE),(new ShakaDemoAssetInfo("Big Buck Bunny: the Dark Truths of a Video Dev Cartoon (HLS - PlayReady)","https://storage.googleapis.com/shaka-asset-icons/dark_truth.png","https://test.playready.microsoft.com/media/dash/APPLEENC_CBCS_BBB_1080p/1080p_alternate.m3u8",shakaAssets.Source.MICROSOFT)).addKeySystem(shakaAssets.KeySystem.PLAYREADY).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addLicenseServer("com.microsoft.playready",
246
184
  "http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(persist:false,ck:W31bfVt9W31bfVt9W31bfQ==,ckt:aescbc)"),(new ShakaDemoAssetInfo("Big Buck Bunny (LCEVC H264)","https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png","https://dyctis843rxh5.cloudfront.net/vnIAZIaowG1K7qOt/master.m3u8",shakaAssets.Source.VNOVA)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE).addFeature(shakaAssets.Feature.LCEVC).addDescription("H264 HLS stream with LCEVC enhancement").markAsFeatured("Big Buck Bunny (LCEVC H264)").setExtraConfig({streaming:{useNativeHlsOnSafari:!1,
247
185
  forceTransmux:!0},lcevc:{enabled:!0,dynamicPerformanceScaling:!0,logLevel:0,drawLogo:!1}}),(new ShakaDemoAssetInfo("Game (LCEVC H264)","https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png","https://dyctis843rxh5.cloudfront.net/vny72tI8aXJDcTYX/master.m3u8",shakaAssets.Source.VNOVA)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE).addFeature(shakaAssets.Feature.LCEVC).addDescription("H264 HLS stream with LCEVC enhancement").markAsFeatured("Game (LCEVC H264)").setExtraConfig({streaming:{useNativeHlsOnSafari:!1,
248
- forceTransmux:!0},lcevc:{enabled:!0,dynamicPerformanceScaling:!0,logLevel:0,drawLogo:!1}})];shakaDemo.Tooltips=function(){};shakaDemo.Tooltips.make=function(a,b){tippy(a,{content:shakaDemoMain.getLocalizedString(b),placement:"bottom",arrow:!0,animation:"scale",size:"large"})};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","circle");
249
- 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");e.srcset=
250
- 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);this.actions_.classList.add("mdl-card__actions");
251
- 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_.classList.add("progress-circle-svg");this.progressCircleBack_.classList.add("progress-circle-back");
252
- this.progressCircleBar_.classList.add("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))};
253
- 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)};
254
- 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.ADS,"ad").set(b.AUDIO_ONLY,"audio_only");for(var d=$jscomp.makeIterator(a.features),e=d.next();!e.done;e=
255
- 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=b.value,b){case c.WIDEVINE:this.addFeatureIcon_("widevine",b);break;case c.CLEAR_KEY:this.addFeatureIcon_("clear_key",b);break;case c.PLAYREADY:this.addFeatureIcon_("playready",b)}};shakaDemo.AssetCard.prototype.markAsUnsupported=function(a){this.card_.classList.add("asset-card-unsupported");this.makeUnsupportedButton_(shakaDemo.MessageIds.UNSUPPORTED,a)};
256
- shakaDemo.AssetCard.prototype.makeUnsupportedButton_=function(a,b){a=this.addButton(a,function(){});a.setAttribute("disabled","");var c=document.createElement("div");a.parentElement&&a.parentElement.removeChild(a);c.classList.add("tooltip-attach-point");c.appendChild(a);this.actions_.appendChild(c);shakaDemo.Tooltips.make(c,b);return a};shakaDemo.AssetCard.prototype.selectByAsset=function(a){this.card_.classList.remove("selected");this.asset_==a&&this.card_.classList.add("selected")};
257
- shakaDemo.AssetCard.prototype.remakeButtons=function(){shaka.util.Dom.removeAllChildren(this.actions_);this.remakeButtonsFn_(this)};
258
- shakaDemo.AssetCard.prototype.addStoreButton=function(){var a=this,b=function(f,g,h){g.classList.add("asset-card-corner-button");g=document.createElement("i");g.textContent=h;g.classList.add("material-icons-round");f.appendChild(g)},c=shakaDemoMain.getAssetUnsupportedReason(this.asset_,!0);c||goog.asserts.assert(this.asset_.storeCallback,"A storage callback is expected for all supported assets!");if(c)c=this.makeUnsupportedButton_(null,c),b(c,c.parentElement||c,"get_app");else if(this.asset_.isStored()){var d=
259
- this.addButton(null,function(){a.attachDeleteDialog_(d)});b(d,d,"offline_pin")}else{var e=this.addButton(null,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return e.disabled=!0,f.yield(a.asset_.storeCallback(),2);a.remakeButtons();f.jumpToEnd()})});b(e,e,"get_app")}};
260
- shakaDemo.AssetCard.prototype.attachDeleteDialog_=function(a){var b=this,c=this.card_.parentElement;c&&this.makeYesNoDialogue_(c,shakaDemo.MessageIds.DELETE_STORED_PROMPT,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){a.disabled=!0;return d.yield(b.asset_.unstoreCallback(),0)})})};
261
- shakaDemo.AssetCard.prototype.makeYesNoDialogue_=function(a,b,c){var d=this,e=document.createElement("dialog");e.classList.add("mdl-dialog");a.appendChild(e);e.showModal||dialogPolyfill.registerDialog(e);a=document.createElement("h2");a.classList.add("mdl-typography--title");a.textContent=shakaDemoMain.getLocalizedString(b);e.appendChild(a);var f=document.createElement("div");e.appendChild(f);b=function(g,h){var k=document.createElement("button");k.textContent=shakaDemoMain.getLocalizedString(g);
262
- k.classList.add("mdl-button");k.classList.add("mdl-button--colored");k.classList.add("mdl-js-button");k.classList.add("mdl-js-ripple-effect");k.addEventListener("click",function(){h()});f.appendChild(k);k.blur()};b(shakaDemo.MessageIds.PROMPT_YES,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){if(1==g.nextAddress)return e.close(),g.yield(c(),2);d.remakeButtons();g.jumpToEnd()})});b(shakaDemo.MessageIds.PROMPT_NO,function(){e.close()});e.showModal()};
263
- 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=b.value,b instanceof HTMLButtonElement&&(b.disabled=!0)}else for(this.progressCircle_.classList.add("hidden"),a=$jscomp.makeIterator(this.actions_.childNodes),b=a.next();!b.done;b=a.next())b=b.value,b instanceof HTMLButtonElement&&(b.disabled=!1);this.styleProgressCircle_(this.asset_.storedProgress)};
264
- shakaDemo.AssetCard.prototype.addButton=function(a,b,c){var d=this,e=document.createElement("button");e.classList.add("mdl-button");e.classList.add("mdl-button--colored");e.classList.add("mdl-js-button");e.classList.add("mdl-js-ripple-effect");e.textContent=a?shakaDemoMain.getLocalizedString(a):"";e.addEventListener("click",function(){e.hasAttribute("disabled")||(c?d.makeYesNoDialogue_(d.actions_,c,b):b())});this.actions_.appendChild(e);return e};shakaDemo.CloseButton=function(a,b){a=shaka.ui.Element.call(this,a,b)||this;a.button_=document.createElement("button");a.button_.classList.add("material-icons-round");a.button_.classList.add("close-button");a.button_.textContent="close";a.parent.appendChild(a.button_);a.button_.addEventListener("click",function(){shakaDemoMain.unload()});return a};$jscomp.inherits(shakaDemo.CloseButton,shaka.ui.Element);shakaDemo.CloseButton.Factory=function(){};
265
- shakaDemo.CloseButton.Factory.prototype.create=function(a,b){return new shakaDemo.CloseButton(a,b)};shakaDemo.Input=function(a,b,c,d,e){var f=this;this.container_=document.createElement(c);a.latestElementContainer.appendChild(this.container_);this.input_=document.createElement(b);this.input_.onchange=function(){e(f.input_,f)};"textarea"==b&&(this.input_.oninput=function(){e(f.input_,f)});this.input_.id=shakaDemo.Input.generateNewId_("input");this.container_.appendChild(this.input_);a.latestTooltip&&(b=document.createElement("span"),b.textContent=a.latestTooltip,b.classList.add("hidden"),b.id=shakaDemo.Input.generateNewId_("extra-info"),
266
- this.container_.appendChild(b),this.input_.setAttribute("aria-describedby",b.id));this.extra_=null;d&&(this.extra_=document.createElement(d),this.container_.appendChild(this.extra_))};shakaDemo.Input.prototype.input=function(){return this.input_};shakaDemo.Input.prototype.container=function(){return this.container_};shakaDemo.Input.prototype.extra=function(){return this.extra_};
267
- shakaDemo.Input.prototype.setValid=function(a){a?(this.input_.setCustomValidity(""),this.container_.classList.remove("is-invalid")):(this.input_.setCustomValidity("invalid"),this.container_.parentElement.classList.add("is-invalid"))};shakaDemo.Input.generateNewId_=function(a){var b=shakaDemo.Input.lastId_;shakaDemo.Input.lastId_+=1;return a+"-labeled-"+b};shakaDemo.Input.lastId_=0;
268
- shakaDemo.SelectInput=function(a,b,c,d){shakaDemo.Input.call(this,a,"select","div","label",c);this.container_.classList.add("mdl-textfield");this.container_.classList.add("mdl-js-textfield");this.container_.classList.add("mdl-textfield--floating-label");this.input_.classList.add("mdl-textfield__input");this.extra_.classList.add("mdl-textfield__label");this.extra_.setAttribute("for",this.input_.id);b&&(this.extra_.textContent=shakaDemoMain.getLocalizedString(b));a=$jscomp.makeIterator(Object.keys(d));
269
- for(b=a.next();!b.done;b=a.next())b=b.value,c=document.createElement("option"),c.textContent=d[b],c.value=b,this.input_.appendChild(c)};$jscomp.inherits(shakaDemo.SelectInput,shakaDemo.Input);
270
- shakaDemo.BoolInput=function(a,b,c){shakaDemo.Input.call(this,a,"input","label","span",c);this.input_.type="checkbox";this.container_.classList.add("mdl-switch");this.container_.classList.add("mdl-js-switch");this.container_.classList.add("mdl-js-ripple-effect");this.container_.setAttribute("for",this.input_.id);this.input_.classList.add("mdl-switch__input");this.extra_.classList.add("mdl-switch__label")};$jscomp.inherits(shakaDemo.BoolInput,shakaDemo.Input);
271
- shakaDemo.TextInput=function(a,b,c,d){shakaDemo.Input.call(this,a,d?"textarea":"input","div","label",c);this.container_.classList.add("mdl-textfield");this.container_.classList.add("mdl-js-textfield");this.container_.classList.add("mdl-textfield--floating-label");this.input_.classList.add("mdl-textfield__input");this.extra_.classList.add("mdl-textfield__label");this.extra_.setAttribute("for",this.input_.id)};$jscomp.inherits(shakaDemo.TextInput,shakaDemo.Input);
272
- shakaDemo.DatalistInput=function(a,b,c,d){shakaDemo.TextInput.call(this,a,b,c,!1);var e=this,f=new Awesomplete(this.input_);f.list=d.slice();f.minChars=0;this.input_.addEventListener("focus",function(){f.evaluate()});this.input_.addEventListener("awesomplete-selectcomplete",function(){c(e.input_,e)})};$jscomp.inherits(shakaDemo.DatalistInput,shakaDemo.TextInput);
273
- shakaDemo.NumberInput=function(a,b,c,d,e,f){shakaDemo.TextInput.call(this,a,b,c,!1);a=document.createElement("span");a.classList.add("mdl-textfield__error");this.container_.appendChild(a);b=shakaDemo.MessageIds;a.textContent=e&&d?shakaDemoMain.getLocalizedString(b.NUMBER_DECIMAL_WARNING):e?shakaDemoMain.getLocalizedString(b.NUMBER_INTEGER_WARNING):d?shakaDemoMain.getLocalizedString(b.NUMBER_NONZERO_DECIMAL_WARNING):shakaDemoMain.getLocalizedString(b.NUMBER_NONZERO_INTEGER_WARNING);this.input_.pattern=
274
- "(Infinity|";this.input_.pattern=e?this.input_.pattern+"[0-9]*":this.input_.pattern+"[0-9]*[1-9][0-9]*";d&&(this.input_.pattern+="(.[0-9]+)?");this.input_.pattern+=")";f&&(this.input_.pattern+="?")};$jscomp.inherits(shakaDemo.NumberInput,shakaDemo.TextInput);shakaDemo.InputContainer=function(a,b,c,d){this.style_=c;this.table_=document.createElement("div");this.defaultRowClass_=null;this.numRows_=0;b&&this.createHeader_(a,b);this.table_.classList.add(c);c==shakaDemo.InputContainer.Style.ACCORDION&&this.table_.classList.add("hidden");a.appendChild(this.table_);d&&this.addDocLink_(this.table_,d)};shakaDemo.InputContainer.prototype.getIsOpen=function(){return this.style_==shakaDemo.InputContainer.Style.ACCORDION?this.table_.classList.contains("show"):!1};
275
- shakaDemo.InputContainer.prototype.open=function(){var a=this;!this.style_!=shakaDemo.InputContainer.Style.ACCORDION&&(this.table_.classList.remove("hidden"),setTimeout(function(){a.table_.classList.add("show")},20),this.header_.classList.add("mdl-button--colored"))};
276
- shakaDemo.InputContainer.prototype.close=function(){var a=this;this.style_==shakaDemo.InputContainer.Style.ACCORDION&&(this.table_.classList.remove("show"),this.table_.addEventListener("transitionend",function(b){a.table_.classList.add("hidden")},{once:!0}),this.header_.classList.remove("mdl-button--colored"))};
277
- 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("div"),this.header_.classList.add("input-header"));
278
- this.header_.textContent=shakaDemoMain.getLocalizedString(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");b=document.createElement("i");b.classList.add("material-icons-round");b.textContent="help";c.appendChild(b);a.appendChild(c)};
279
- shakaDemo.InputContainer.prototype.setDefaultRowClass=function(a){this.defaultRowClass_=a};shakaDemo.InputContainer.prototype.getClassList=function(){return this.table_.classList};
280
- shakaDemo.InputContainer.prototype.addRow=function(a,b,c){c=c||this.defaultRowClass_||"";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=shakaDemoMain.getLocalizedString(a);d.appendChild(e);this.latestRow_.appendChild(d)}this.latestElementContainer=
281
- document.createElement("div");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"};var shakaDemoConfig;shakaDemo.Config=function(a){var b=this;this.container_=a;this.sections_=[];this.latestInput_=null;this.reload_();document.addEventListener("shaka-main-config-change",function(){b.reloadAndSaveState_()});document.addEventListener("shaka-main-locale-changed",function(){b.reloadAndSaveState_()});document.addEventListener("shaka-main-drawer-state-change",function(){b.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())});this.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())};
282
- 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")};
283
- shakaDemo.Config.prototype.reload_=function(){shaka.util.Dom.removeAllChildren(this.container_);this.sections_=[];this.addMetaSection_();this.addLanguageSection_();this.addAbrSection_();this.addOfflineSection_();this.addDrmSection_();this.addStreamingSection_();this.addMediaSourceSection_();this.addManifestSection_();this.addRetrictionsSection_("",shakaDemo.MessageIds.RESTRICTIONS_SECTION_HEADER);this.addCmcdSection_();this.addLcevcSection_()};
284
- shakaDemo.Config.prototype.reloadAndSaveState_=function(){var a=this.sections_.map(function(d){return d.getIsOpen()});this.reload_();for(var b=0;b<a.length;b++){var c=this.sections_[b];a[b]&&c.open()}componentHandler.upgradeDom()};
285
- shakaDemo.Config.prototype.addDrmSection_=function(){var a=this,b=shakaDemo.MessageIds,c=this.resolveExternLink_(".DrmConfiguration");this.addSection_(b.DRM_SECTION_HEADER,c).addBoolInput_(b.DELAY_LICENSE,"drm.delayLicenseRequestUntilPlayed").addBoolInput_(b.LOG_LICENSE_EXCHANGE,"drm.logLicenseExchange").addNumberInput_(b.UPDATE_EXPIRATION_TIME,"drm.updateExpirationTime",!0,!1,!0).addBoolInput_(b.PARSE_INBAND_PSSH_ENABLED,"drm.parseInbandPsshEnabled");var d=shakaDemoMain.getConfiguration().drm.advanced||
286
- {};c=function(f,g,h){a.addDatalistInput_(f,h,function(k){for(var l=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),m=l.next();!m.done;m=l.next())m=m.value,m in d||(d[m]=shakaDemo.Main.defaultAdvancedDrmConfig());for(var n in d)d[n][g]=k.value;shakaDemoMain.configure("drm.advanced",d);shakaDemoMain.remakeHash()});if(f=Object.keys(d)[0])f=d[f][g],a.latestInput_.input().value=f};var e="SW_SECURE_CRYPTO SW_SECURE_DECODE HW_SECURE_CRYPTO HW_SECURE_DECODE HW_SECURE_ALL 150 2000 3000".split(" ");c(b.VIDEO_ROBUSTNESS,
287
- "videoRobustness",e);c(b.AUDIO_ROBUSTNESS,"audioRobustness",e);c(b.DRM_SESSION_TYPE,"sessionType",["temporary","persistent-license"]);this.addRetrySection_("drm",b.DRM_RETRY_SECTION_HEADER)};
288
- shakaDemo.Config.prototype.addManifestSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".ManifestConfiguration");this.addSection_(a.MANIFEST_SECTION_HEADER,b).addBoolInput_(a.IGNORE_DASH_DRM,"manifest.dash.ignoreDrmInfo").addBoolInput_(a.AUTO_CORRECT_DASH_DRIFT,"manifest.dash.autoCorrectDrift").addBoolInput_(a.DISABLE_XLINK_PROCESSING,"manifest.dash.disableXlinkProcessing").addBoolInput_(a.XLINK_FAIL_GRACEFULLY,"manifest.dash.xlinkFailGracefully").addBoolInput_(a.IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY,
289
- "manifest.dash.ignoreSuggestedPresentationDelay").addBoolInput_(a.IGNORE_DASH_EMPTY_ADAPTATION_SET,"manifest.dash.ignoreEmptyAdaptationSet").addBoolInput_(a.IGNORE_DASH_MAX_SEGMENT_DURATION,"manifest.dash.ignoreMaxSegmentDuration").addBoolInput_(a.IGNORE_HLS_TEXT_FAILURES,"manifest.hls.ignoreTextStreamFailures").addBoolInput_(a.IGNORE_HLS_IMAGE_FAILURES,"manifest.hls.ignoreImageStreamFailures").addTextInput_(a.DEFAULT_AUDIO_CODEC,"manifest.hls.defaultAudioCodec").addTextInput_(a.DEFAULT_VIDEO_CODEC,
290
- "manifest.hls.defaultVideoCodec").addBoolInput_(a.IGNORE_MANIFEST_PROGRAM_DATE_TIME,"manifest.hls.ignoreManifestProgramDateTime").addBoolInput_(a.USE_SAFARI_BEHAVIOR_FOR_LIVE,"manifest.hls.useSafariBehaviorForLive").addNumberInput_(a.LIVE_SEGMENTS_DELAY,"manifest.hls.liveSegmentsDelay").addNumberInput_(a.AVAILABILITY_WINDOW_OVERRIDE,"manifest.availabilityWindowOverride",!0,!1,!0).addTextInput_(a.CLOCK_SYNC_URI,"manifest.dash.clockSyncUri").addNumberInput_(a.DEFAULT_PRESENTATION_DELAY,"manifest.defaultPresentationDelay").addBoolInput_(a.IGNORE_MIN_BUFFER_TIME,
291
- "manifest.dash.ignoreMinBufferTime").addNumberInput_(a.INITIAL_SEGMENT_LIMIT,"manifest.dash.initialSegmentLimit",!1,!1,!0).addBoolInput_(a.SEQUENCE_MODE,"manifest.dash.sequenceMode").addBoolInput_(a.DISABLE_AUDIO,"manifest.disableAudio").addBoolInput_(a.DISABLE_VIDEO,"manifest.disableVideo").addBoolInput_(a.DISABLE_TEXT,"manifest.disableText").addBoolInput_(a.DISABLE_THUMBNAILS,"manifest.disableThumbnails").addBoolInput_(a.SEGMENT_RELATIVE_VTT_TIMING,"manifest.segmentRelativeVttTiming");this.addRetrySection_("manifest",
292
- a.MANIFEST_RETRY_SECTION_HEADER)};
293
- shakaDemo.Config.prototype.addAbrSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".AbrConfiguration");this.addSection_(a.ADAPTATION_SECTION_HEADER,b).addBoolInput_(a.ENABLED,"abr.enabled").addBoolInput_(a.NETWORK_INFORMATION,"abr.useNetworkInformation").addNumberInput_(a.BANDWIDTH_ESTIMATE,"abr.defaultBandwidthEstimate").addNumberInput_(a.BANDWIDTH_DOWNGRADE,"abr.bandwidthDowngradeTarget",!0).addNumberInput_(a.BANDWIDTH_UPGRADE,"abr.bandwidthUpgradeTarget",!0).addNumberInput_(a.SWITCH_INTERVAL,
294
- "abr.switchInterval",!0).addNumberInput_(a.MIN_TOTAL_BYTES,"abr.advanced.minTotalBytes").addNumberInput_(a.MIN_BYTES,"abr.advanced.minBytes").addNumberInput_(a.FAST_HALF_LIFE,"abr.advanced.fastHalfLife",!0).addNumberInput_(a.SLOW_HALF_LIFE,"abr.advanced.slowHalfLife",!0).addBoolInput_(a.RESTRICT_TO_ELEMENT_SIZE,"abr.restrictToElementSize").addBoolInput_(a.RESTRICT_TO_SCREEN_SIZE,"abr.restrictToScreenSize").addBoolInput_(a.IGNORE_DEVICE_PIXEL_RATIO,"abr.ignoreDevicePixelRatio");this.addRetrictionsSection_("abr",
295
- a.ADAPTATION_RESTRICTIONS_SECTION_HEADER)};shakaDemo.Config.prototype.addCmcdSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".CmcdConfiguration");this.addSection_(a.CMCD_SECTION_HEADER,b).addBoolInput_(a.ENABLED,"cmcd.enabled").addTextInput_(a.SESSION_ID,"cmcd.sessionId").addTextInput_(a.CONTENT_ID,"cmcd.contentId").addBoolInput_(a.USE_HEADERS,"cmcd.useHeaders")};
296
- shakaDemo.Config.prototype.addLcevcSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".LcevcConfiguration");this.addSection_(a.LCEVC_SECTION_HEADER,b).addBoolInput_(a.ENABLED,"lcevc.enabled").addBoolInput_(a.LCEVC_DYNAMIC_PERFORMANCE_SCALING,"lcevc.dynamicPerformanceScaling").addNumberInput_(a.LCEVC_LOG_LEVEL,"lcevc.logLevel").addBoolInput_(a.LCEVC_DRAW_LOGO,"lcevc.drawLogo")};
297
- shakaDemo.Config.prototype.addRetrictionsSection_=function(a,b){var c=shakaDemo.MessageIds;a=(a?a+".":"")+"restrictions.";var d=this.resolveExternLink_(".Restrictions");this.addSection_(b,d).addNumberInput_(c.MIN_WIDTH,a+"minWidth").addNumberInput_(c.MAX_WIDTH,a+"maxWidth").addNumberInput_(c.MIN_HEIGHT,a+"minHeight").addNumberInput_(c.MAX_HEIGHT,a+"maxHeight").addNumberInput_(c.MIN_PIXELS,a+"minPixels").addNumberInput_(c.MAX_PIXELS,a+"maxPixels").addNumberInput_(c.MIN_FRAMERATE,a+"minFrameRate").addNumberInput_(c.MAX_FRAMERATE,
298
- a+"maxFrameRate").addNumberInput_(c.MIN_BANDWIDTH,a+"minBandwidth").addNumberInput_(c.MAX_BANDWIDTH,a+"maxBandwidth")};
299
- shakaDemo.Config.prototype.addRetrySection_=function(a,b){var c=shakaDemo.MessageIds;a+=".retryParameters.";var d=this.resolveExternLink_(".RetryParameters");this.addSection_(b,d).addNumberInput_(c.MAX_ATTEMPTS,a+"maxAttempts").addNumberInput_(c.BASE_DELAY,a+"baseDelay",!0).addNumberInput_(c.BACKOFF_FACTOR,a+"backoffFactor",!0).addNumberInput_(c.FUZZ_FACTOR,a+"fuzzFactor",!0).addNumberInput_(c.TIMEOUT,a+"timeout",!0).addNumberInput_(c.STALL_TIMEOUT,a+"stallTimeout",!0).addNumberInput_(c.CONNECTION_TIMEOUT,
300
- a+"connectionTimeout",!0)};shakaDemo.Config.prototype.addOfflineSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".OfflineConfiguration");this.addSection_(a.OFFLINE_SECTION_HEADER,b).addBoolInput_(a.USE_PERSISTENT_LICENSES,"offline.usePersistentLicense").addNumberInput_(a.NUMBER_OF_PARALLEL_DOWNLOADS,"offline.numberOfParallelDownloads")};
301
- shakaDemo.Config.prototype.addStreamingSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".StreamingConfiguration");this.addSection_(a.STREAMING_SECTION_HEADER,b).addNumberInput_(a.GAP_DETECTION_THRESHOLD,"streaming.gapDetectionThreshold",!0).addNumberInput_(a.BUFFERING_GOAL,"streaming.bufferingGoal",!0).addNumberInput_(a.DURATION_BACKOFF,"streaming.durationBackoff",!0).addNumberInput_(a.REBUFFERING_GOAL,"streaming.rebufferingGoal",!0).addNumberInput_(a.BUFFER_BEHIND,"streaming.bufferBehind",
302
- !0).addNumberInput_(a.SAFE_SEEK_OFFSET,"streaming.safeSeekOffset",!0).addNumberInput_(a.STALL_THRESHOLD,"streaming.stallThreshold",!0).addNumberInput_(a.SAFE_SKIP_DISTANCE,"streaming.stallSkip",!0).addNumberInput_(a.INACCURATE_MANIFEST_TOLERANCE,"streaming.inaccurateManifestTolerance",!0).addBoolInput_(a.LOW_LATENCY,"streaming.lowLatencyMode").addBoolInput_(a.AUTO_LOW_LATENCY,"streaming.autoLowLatencyMode").addBoolInput_(a.FORCE_HTTPS,"streaming.forceHTTPS").addBoolInput_(a.PREFER_NATIVE_HLS,"streaming.preferNativeHls").addNumberInput_(a.UPDATE_INTERVAL_SECONDS,
303
- "streaming.updateIntervalSeconds",!0).addBoolInput_(a.DISPATCH_ALL_EMSG_BOXES,"streaming.dispatchAllEmsgBoxes").addBoolInput_(a.OBSERVE_QUALITY_CHANGES,"streaming.observeQualityChanges").addNumberInput_(a.MAX_DISABLED_TIME,"streaming.maxDisabledTime");shakaDemoMain.getNativeControlsEnabled()?(this.addCustomBoolInput_(a.ALWAYS_STREAM_TEXT,function(c){},a.ALWAYS_STREAM_TEXT_WARNING),this.latestInput_.input().disabled=!0,this.latestInput_.input().checked=!0):this.addBoolInput_(a.ALWAYS_STREAM_TEXT,"streaming.alwaysStreamText");
304
- this.addBoolInput_(a.FORCE_TRANSMUX,"streaming.forceTransmux").addBoolInput_(a.START_AT_SEGMENT_BOUNDARY,"streaming.startAtSegmentBoundary").addBoolInput_(a.IGNORE_TEXT_FAILURES,"streaming.ignoreTextStreamFailures").addBoolInput_(a.STALL_DETECTOR_ENABLED,"streaming.stallEnabled").addBoolInput_(a.USE_NATIVE_HLS_SAFARI,"streaming.useNativeHlsOnSafari");this.addRetrySection_("streaming",a.STREAMING_RETRY_SECTION_HEADER)};
305
- shakaDemo.Config.prototype.addMediaSourceSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".MediaSourceConfiguration");this.addSection_(a.MEDIA_SOURCE_SECTION_HEADER,b).addTextInput_(a.SOURCE_BUFFER_EXTRA_FEATURES,"mediaSource.sourceBufferExtraFeatures")};
306
- shakaDemo.Config.prototype.addLanguageSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".PlayerConfiguration"),c=shaka.config.AutoShowText,d={NEVER:shakaDemoMain.getLocalizedString(a.AUTO_SHOW_TEXT_NEVER),ALWAYS:shakaDemoMain.getLocalizedString(a.AUTO_SHOW_TEXT_ALWAYS),IF_PREFERRED_TEXT_LANGUAGE:shakaDemoMain.getLocalizedString(a.AUTO_SHOW_TEXT_IF_PREFERRED_TEXT_LANGUAGE),IF_SUBTITLES_MAY_BE_NEEDED:shakaDemoMain.getLocalizedString(a.AUTO_SHOW_TEXT_IF_SUBTITLES_MAY_BE_NEEDED)};
307
- this.addSection_(a.LANGUAGE_SECTION_HEADER,b).addTextInput_(a.AUDIO_LANGUAGE,"preferredAudioLanguage").addTextInput_(a.TEXT_LANGUAGE,"preferredTextLanguage").addTextInput_(a.TEXT_ROLE,"preferredTextRole").addSelectInput_(a.AUTO_SHOW_TEXT,"autoShowText",c,d);this.addCustomTextInput_(a.UI_LOCALE,function(e){shakaDemoMain.setUILocale(e.value);shakaDemoMain.remakeHash()});this.latestInput_.input().value=shakaDemoMain.getUILocale();this.addNumberInput_(a.AUDIO_CHANNEL_COUNT,"preferredAudioChannelCount");
308
- this.addBoolInput_(a.PREFER_FORCED_SUBS,"preferForcedSubs")};
309
- shakaDemo.Config.prototype.addMetaSection_=function(){var a=this,b=shakaDemo.MessageIds;this.addSection_(null,null);this.addCustomBoolInput_(b.SHAKA_CONTROLS,function(f){shakaDemoMain.setNativeControlsEnabled(!f.checked);f.checked&&(shakaDemoMain.configure("streaming.alwaysStreamText",!0),shakaDemoMain.remakeHash());a.reloadAndSaveState_()});shakaDemoMain.getNativeControlsEnabled()||(this.latestInput_.input().checked=!0);shakaDemoMain.getNativeControlsEnabled()?(this.addCustomBoolInput_(b.TRICK_PLAY_CONTROLS,
310
- function(f){},b.TRICK_PLAY_CONTROLS_WARNING),this.latestInput_.input().disabled=!0,this.latestInput_.input().checked=!1):(this.addCustomBoolInput_(b.TRICK_PLAY_CONTROLS,function(f){shakaDemoMain.setTrickPlayControlsEnabled(f.checked)}),shakaDemoMain.getTrickPlayControlsEnabled()&&(this.latestInput_.input().checked=!0));if(shaka.log){var c=shaka.log.Level,d=shaka.log.setLevel,e={info:shakaDemoMain.getLocalizedString(b.LOG_LEVEL_INFO),debug:shakaDemoMain.getLocalizedString(b.LOG_LEVEL_DEBUG),v:shakaDemoMain.getLocalizedString(b.LOG_LEVEL_V),
311
- vv:shakaDemoMain.getLocalizedString(b.LOG_LEVEL_VV)};this.addCustomSelectInput_(b.LOG_LEVEL,e,function(f){switch(f.value){case "info":d(c.INFO);break;case "debug":d(c.DEBUG);break;case "vv":d(c.V2);break;case "v":d(c.V1)}shakaDemoMain.remakeHash()});b=this.latestInput_.input();switch(shaka.log.currentLevel){case c.DEBUG:b.value="debug";break;case c.V2:b.value="vv";break;case c.V1:b.value="v";break;default:b.value="info"}}};
312
- shakaDemo.Config.prototype.resolveExternLink_=function(a){return"../docs/api/shaka.extern.html#"+a};shakaDemo.Config.prototype.addSection_=function(a,b){this.sections_.push(new shakaDemo.InputContainer(this.container_,a,a?shakaDemo.InputContainer.Style.ACCORDION:shakaDemo.InputContainer.Style.VERTICAL,b));return this};
313
- shakaDemo.Config.prototype.addBoolInput_=function(a,b,c){this.addCustomBoolInput_(a,function(d){shakaDemoMain.configure(b,d.checked);shakaDemoMain.remakeHash()},c);shakaDemoMain.getCurrentConfigValue(b)&&(this.latestInput_.input().checked=!0);return this};shakaDemo.Config.prototype.addCustomBoolInput_=function(a,b,c){this.createRow_(a,c);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.BoolInput(this.getLatestSection_(),a,b);return this};
314
- shakaDemo.Config.prototype.addTextInput_=function(a,b,c){this.addCustomTextInput_(a,function(d){shakaDemoMain.configure(b,d.value);shakaDemoMain.remakeHash()},c);this.latestInput_.input().value=shakaDemoMain.getCurrentConfigValue(b);return this};shakaDemo.Config.prototype.addCustomTextInput_=function(a,b,c){this.createRow_(a,c);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.TextInput(this.getLatestSection_(),a,b);return this};
315
- shakaDemo.Config.prototype.addNumberInput_=function(a,b,c,d,e,f){c=void 0===c?!1:c;d=void 0===d?!0:d;e=void 0===e?!1:e;this.createRow_(a,f);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.NumberInput(this.getLatestSection_(),a,function(g){shakaDemoMain.resetConfiguration(b);shakaDemoMain.remakeHash();"Infinity"==g.value?(shakaDemoMain.configure(b,Infinity),shakaDemoMain.remakeHash()):""==g.value&&e||(g=Number(g.value),0==g&&!d||isNaN(g)||Math.floor(g)!=g&&!c||(shakaDemoMain.configure(b,
316
- g),shakaDemoMain.remakeHash()))},c,d,e);this.latestInput_.input().value=shakaDemoMain.getCurrentConfigValue(b);isNaN(Number(this.latestInput_.input().value))&&e&&(this.latestInput_.input().value="");return this};shakaDemo.Config.prototype.addDatalistInput_=function(a,b,c,d){this.createRow_(a,d);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.DatalistInput(this.getLatestSection_(),a,c,b);return this};
317
- shakaDemo.Config.prototype.addCustomSelectInput_=function(a,b,c,d){this.createRow_(a,d);this.latestInput_=new shakaDemo.SelectInput(this.getLatestSection_(),null,c,b);return this};shakaDemo.Config.prototype.addSelectInput_=function(a,b,c,d,e){for(var f in c)f in d||(d[f]=f);this.addCustomSelectInput_(a,d,function(h){shakaDemoMain.configure(b,c[h.value]);shakaDemoMain.remakeHash()},e);a=shakaDemoMain.getCurrentConfigValue(b);for(var g in c)c[g]==a&&(this.latestInput_.input().value=g);return this};
318
- shakaDemo.Config.prototype.createRow_=function(a,b){this.getLatestSection_().addRow(a,b||null)};shakaDemo.Config.prototype.getLatestSection_=function(){goog.asserts.assert(0<this.sections_.length,"Must have at least one section.");return this.sections_[this.sections_.length-1]};document.addEventListener("shaka-main-loaded",shakaDemo.Config.init);document.addEventListener("shaka-main-cleanup",function(){shakaDemoConfig=null});var shakaDemoCustom;
319
- shakaDemo.Custom=function(a){var b=this;this.dialog_=document.createElement("dialog");this.dialog_.classList.add("mdl-dialog");a.appendChild(this.dialog_);this.dialog_.showModal||dialogPolyfill.registerDialog(this.dialog_);this.assets_=this.loadAssetInfos_();this.assetCards_=[];this.savedList_=document.createElement("div");a.appendChild(this.savedList_);var c=document.createElement("div");c.classList.add("add-button-container");a.appendChild(c);var d=this.makeButton_("add",shakaDemo.Custom.ButtonStyle_.FAB,function(){b.showAssetDialog_(ShakaDemoAssetInfo.makeBlankAsset())});
320
- c.appendChild(d);document.addEventListener("shaka-main-selected-asset-changed",function(){b.updateSelected_()});document.addEventListener("shaka-main-offline-progress",function(){b.updateOfflineProgress_()});document.addEventListener("shaka-main-locale-changed",function(){b.remakeSavedList_()});document.addEventListener("shaka-main-page-changed",function(){b.savedList_.childNodes.length||a.classList.contains("hidden")||b.remakeSavedList_()})};
321
- shakaDemo.Custom.init=function(){var a=shakaDemoMain.addNavButton("custom");shakaDemoCustom=new shakaDemo.Custom(a.container)};shakaDemo.Custom.prototype.assets=function(){return Array.from(this.assets_)};shakaDemo.Custom.prototype.updateOfflineProgress_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.updateProgress()};
322
- shakaDemo.Custom.prototype.makeField_=function(a,b,c,d,e){a.addRow(null,null);a=new shakaDemo.TextInput(a,b,d,e);a.extra().textContent=b;c(a.input(),a.container())};
323
- shakaDemo.Custom.prototype.makeAssetDialogContentsHeaders_=function(a,b){var c=this,d=document.createElement("div"),e=[],f=function(h,k){var l=document.createElement("div");d.appendChild(l);var m=new shakaDemo.InputContainer(l,shakaDemo.MessageIds.LICENSE_HEADER_TITLE,shakaDemo.InputContainer.Style.VERTICAL,null),n={headerName:h,div:l};e.push(n);var p=!h,q=function(r,u){h&&a.licenseRequestHeaders.delete(h);h=r;n.headerName=r;k=u;if(h&&k)for(p&&(p=!1,f(null,null),componentHandler.upgradeDom()),a.addLicenseRequestHeader(h,
324
- k),r=$jscomp.makeIterator(e),u=r.next();!u.done;u=r.next()){if(u=u.value,u!=n&&h==u.headerName){r=e.indexOf(u);e.splice(r,1);d.removeChild(u.div);break}}else p||d.removeChild(l)},t=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_HEADER_NAME);c.makeField_(m,t,function(r,u){h&&(r.value=h)},function(r){q(r.value,k)});t=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_HEADER_VALUE);c.makeField_(m,t,function(r,u){k&&(r.value=k)},function(r){q(h,r.value)})};if(0!=a.licenseRequestHeaders.size){b=
325
- $jscomp.makeIterator(a.licenseRequestHeaders.keys());for(var g=b.next();!g.done;g=b.next())g=g.value,f(g,a.licenseRequestHeaders.get(g))}f(null,null);return d};
326
- shakaDemo.Custom.prototype.makeAssetDialogContentsHLS_=function(a,b){b=document.createElement("div");var c=new shakaDemo.InputContainer(b,null,shakaDemo.InputContainer.Style.FLEX,null);c.getClassList().add("wide-input");c.setDefaultRowClass("wide-input");var d=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.HLS_FULL_MIME_TYPE);this.makeField_(c,d,function(e,f){a.mediaPlaylistFullMimeType&&(e.value=a.mediaPlaylistFullMimeType);f=shaka.util.PlayerConfiguration.createDefault();e.placeholder=f.manifest.hls.mediaPlaylistFullMimeType},
327
- function(e){a.setMediaPlaylistFullMimeType(e.value)});return b};
328
- shakaDemo.Custom.prototype.makeAssetDialogContentsAds_=function(a,b){var c=this;b=document.createElement("div");var d=new shakaDemo.InputContainer(b,null,shakaDemo.InputContainer.Style.VERTICAL,null),e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.AD_TAG_URL);this.makeField_(d,e,function(f,g){a.adTagUri&&(f.value=a.adTagUri)},function(f){a.adTagUri=f.value});e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_CONTENT_SRC_ID);this.makeField_(d,e,function(f,g){a.imaContentSrcId&&(f.value=
329
- a.imaContentSrcId);c.manifestField_.required=c.checkManifestRequired_(a)},function(f){a.imaContentSrcId=f.value;c.manifestField_.required=c.checkManifestRequired_(a)});e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_VIDEO_ID);this.makeField_(d,e,function(f,g){a.imaVideoId&&(f.value=a.imaVideoId);c.manifestField_.required=c.checkManifestRequired_(a)},function(f){a.imaVideoId=f.value;c.manifestField_.required=c.checkManifestRequired_(a)});e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_ASSET_KEY);
330
- this.makeField_(d,e,function(f,g){a.imaAssetKey&&(f.value=a.imaAssetKey);c.manifestField_.required=c.checkManifestRequired_(a)},function(f){a.imaAssetKey=f.value;c.manifestField_.required=c.checkManifestRequired_(a)});e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_MANIFEST_TYPE);this.makeField_(d,e,function(f,g){a.imaManifestType&&(f.value=a.imaManifestType);c.manifestField_.required=c.checkManifestRequired_(a)},function(f){a.imaManifestType=f.value;c.manifestField_.required=c.checkManifestRequired_(a)});
331
- return b};
332
- shakaDemo.Custom.prototype.makeAssetDialogContentsDrm_=function(a,b){b=document.createElement("div");var c=new shakaDemo.InputContainer(b,null,shakaDemo.InputContainer.Style.VERTICAL,null),d,e,f=function(){var h=d.value,k=e.value;if(h){a.licenseServers.clear();for(var l=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),m=l.next();!m.done;m=l.next())a.licenseServers.set(m.value,h);k&&a.licenseServers.set(k,h)}else a.licenseServers.clear()},g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_SERVER_URL);this.makeField_(c,
333
- g,function(h,k){d=h;(k=a.licenseServers.keys().next())&&k.value&&(h.value=a.licenseServers.get(k.value))},function(h){f()});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_CERTIFICATE_URL);this.makeField_(c,g,function(h,k){a.certificateUri&&(h.value=a.certificateUri)},function(h){a.certificateUri=h.value});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.DRM_SYSTEM);this.makeField_(c,g,function(h,k){e=h;k=a.licenseServers.keys();k=$jscomp.makeIterator(k);for(var l=k.next();!l.done;l=
334
- k.next())if(l=l.value,!shakaDemo.Main.commonDrmSystems.includes(l)){h.value=l;break}},function(h){f()});return b};
335
- shakaDemo.Custom.prototype.makeAssetDialogContentsExtra_=function(a,b){var c=document.createElement("div"),d=new shakaDemo.InputContainer(c,null,shakaDemo.InputContainer.Style.FLEX,null);d.getClassList().add("wide-input");d.setDefaultRowClass("wide-input");var e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.EXTRA_SHAKA_PLAYER_CONFIG);this.makeField_(d,e,function(f,g){f.setAttribute("rows",10);a.extraConfig&&(f.value=JSON.stringify(a.extraConfig,null,2));b.push(f);f=document.createElement("span");
336
- f.classList.add("mdl-textfield__error");f.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.INVALID_JSON_CONFIG_ERROR);g.appendChild(f)},function(f,g){try{if(f.value){var h=JSON.parse(f.value);a.extraConfig=h}else a.extraConfig=null;g.setValid(!0)}catch(k){g.setValid(!1)}},!0);return c};
337
- shakaDemo.Custom.prototype.makeAssetDialogContentsMain_=function(a,b,c){var d=this,e=document.createElement("div"),f=new shakaDemo.InputContainer(e,null,shakaDemo.InputContainer.Style.VERTICAL,null),g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL);this.makeField_(f,g,function(h,k){h.value=a.manifestUri;b.push(h);var l=document.createElement("span");l.classList.add("mdl-textfield__error");l.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL_ERROR);k.appendChild(l);
338
- h.required=d.checkManifestRequired_(a);h.pattern="^(?!([\r\n\t\f\v ]+)$).*$";d.manifestField_=h},function(h){a.manifestUri=h.value});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME);this.makeField_(f,g,function(h,k){h.value=a.name;b.push(h);var l=document.createElement("span");l.classList.add("mdl-textfield__error");l.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME_ERROR);k.appendChild(l);h.required=!0;h.pattern="^(?!( *";k=$jscomp.makeIterator(d.assets_);for(l=
339
- k.next();!l.done;l=k.next())l=l.value,l!=a&&(h.pattern+="|"+l.name.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));h.pattern+=")$).*$"},function(h){a.name=h.value});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.ICON_URL);this.makeField_(f,g,function(h,k){a.iconUri&&(h.value=a.iconUri,k=document.createElement("img"),k.src=h.value,k.alt="",c.appendChild(k))},function(h){shaka.util.Dom.removeAllChildren(c);if(a.iconUri=h.value){var k=document.createElement("img");k.src=h.value;k.alt="";c.appendChild(k)}});
340
- g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MIME_TYPE);this.makeField_(f,g,function(h,k){a.mimeType&&(h.value=a.mimeType)},function(h){a.mimeType=h.value||null});return e};shakaDemo.Custom.prototype.checkManifestRequired_=function(a){return!(a.imaContentSrcId&&a.imaVideoId||null!=a.imaAssetKey)};
341
- shakaDemo.Custom.prototype.makeAssetDialogContentsFinish_=function(a,b){var c=this,d=document.createElement("tr"),e=shakaDemo.Custom.ButtonStyle_.RAISED,f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.SAVE_BUTTON);d.appendChild(this.makeButton_(f,e,function(){for(var g=$jscomp.makeIterator(b),h=g.next();!h.done;h=g.next())if(!h.value.validity.valid)return;shakaDemoMain.setupOfflineSupport(a);c.assets_.add(a);c.saveAssetInfos_(c.assets_);c.remakeSavedList_();c.dialog_.close()}));f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CANCEL_BUTTON);
342
- d.appendChild(this.makeButton_(f,e,function(){c.dialog_.close()}));return d};
343
- shakaDemo.Custom.prototype.showAssetDialog_=function(a){var b=this;shaka.util.Dom.removeAllChildren(this.dialog_);var c=[],d=document.createElement("div"),e=this.makeAssetDialogContentsMain_(a,c,d),f=this.makeAssetDialogContentsDrm_(a,c),g=this.makeAssetDialogContentsHeaders_(a,c),h=this.makeAssetDialogContentsAds_(a,c),k=this.makeAssetDialogContentsHLS_(a,c),l=this.makeAssetDialogContentsExtra_(a,c);a=this.makeAssetDialogContentsFinish_(a,c);var m=document.createElement("tr"),n=[],p=[];c=function(q,
344
- t,r){var u=shakaDemo.Custom.ButtonStyle_.PLAIN;q=shakaDemoMain.getLocalizedString(q);var v=b.makeButton_(q,u,function(){for(var x=$jscomp.makeIterator(n),w=x.next();!w.done;w=x.next())w.value.classList.add("hidden");t.classList.remove("hidden");x=$jscomp.makeIterator(p);for(w=x.next();!w.done;w=x.next())w.value.classList.remove("mdl-button--accent");v.classList.add("mdl-button--accent")});m.appendChild(v);n.push(t);p.push(v);r?v.classList.add("mdl-button--accent"):t.classList.add("hidden")};c(shakaDemo.MessageIds.MAIN_TAB,
345
- e,!0);c(shakaDemo.MessageIds.DRM_TAB,f,!1);c(shakaDemo.MessageIds.HEADERS_TAB,g,!1);c(shakaDemo.MessageIds.ADS_TAB,h,!1);c(shakaDemo.MessageIds.HLS_TAB,k,!1);c(shakaDemo.MessageIds.EXTRA_TAB,l,!1);this.dialog_.appendChild(m);this.dialog_.appendChild(e);this.dialog_.appendChild(f);this.dialog_.appendChild(g);this.dialog_.appendChild(h);this.dialog_.appendChild(k);this.dialog_.appendChild(l);this.dialog_.appendChild(a);this.dialog_.appendChild(d);componentHandler.upgradeDom();this.dialog_.showModal()};
346
- shakaDemo.Custom.prototype.loadAssetInfos_=function(){var a=window.localStorage.getItem(shakaDemo.Custom.saveId_);return a?(a=JSON.parse(a),new Set(a.map(function(b){b=ShakaDemoAssetInfo.fromJSON(b);shakaDemoMain.setupOfflineSupport(b);return b}))):new Set};shakaDemo.Custom.prototype.saveAssetInfos_=function(a){var b=shakaDemo.Custom.saveId_;a=Array.from(a);window.localStorage.setItem(b,JSON.stringify(a))};
347
- shakaDemo.Custom.prototype.makeButton_=function(a,b,c){var d=document.createElement("button");switch(b){case shakaDemo.Custom.ButtonStyle_.FAB:d.classList.add("mdl-button--fab");d.classList.add("mdl-button--colored");b=document.createElement("i");b.classList.add("material-icons-round");b.textContent=a;d.appendChild(b);break;case shakaDemo.Custom.ButtonStyle_.RAISED:d.textContent=a;d.classList.add("mdl-button--raised");break;case shakaDemo.Custom.ButtonStyle_.PLAIN:d.textContent=a}d.addEventListener("click",
348
- c);d.classList.add("mdl-button");d.classList.add("mdl-js-button");d.classList.add("mdl-js-ripple-effect");return d};
349
- shakaDemo.Custom.prototype.createAssetCardFor_=function(a){var b=this;return new shakaDemo.AssetCard(this.savedList_,a,!1,function(c){c.addButton(shakaDemo.MessageIds.PLAY,function(){shakaDemoMain.loadAsset(a);b.updateSelected_()});c.addButton(shakaDemo.MessageIds.EDIT_CUSTOM,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress)return a.unstoreCallback?d.yield(a.unstoreCallback(),2):d.jumpTo(2);b.showAssetDialog_(a);d.jumpToEnd()})});c.addButton(shakaDemo.MessageIds.DELETE_CUSTOM,
350
- function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress)return b.assets_.delete(a),a.unstoreCallback?d.yield(a.unstoreCallback(),2):d.jumpTo(2);b.saveAssetInfos_(b.assets_);b.remakeSavedList_();d.jumpToEnd()})},shakaDemo.MessageIds.DELETE_CUSTOM);c.addStoreButton()})};shakaDemo.Custom.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};
351
- shakaDemo.Custom.prototype.remakeSavedList_=function(){var a=this;shaka.util.Dom.removeAllChildren(this.savedList_);if(0==this.assets_.size){var b=function(c,d){var e=document.createElement("h2");e.classList.add("mdl-typography--"+c);e.textContent=d;a.savedList_.appendChild(e)};b("title",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_ONE));b("body-2",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_TWO));b("body-1",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_THREE))}else this.assetCards_=
352
- Array.from(this.assets_).map(function(c){return a.createAssetCardFor_(c)}),this.updateSelected_()};shakaDemo.Custom.ButtonStyle_={RAISED:0,FAB:1,PLAIN:2};shakaDemo.Custom.saveId_="shakaPlayerDemoSavedAssets";document.addEventListener("shaka-main-loaded",shakaDemo.Custom.init);document.addEventListener("shaka-main-cleanup",function(){shakaDemoCustom=null});shakaDemo.Utils=function(){};
353
- shakaDemo.Utils.runThroughHashParams=function(a,b){var c=[],d=function(k,l){c.push(l);a(k,l)};d("audiolang","preferredAudioLanguage");d("textlang","preferredTextLanguage");d("textrole","preferredTextRole");d("channels","preferredAudioChannelCount");c.push("abr.enabled");c.push("drm.advanced");c.push("drm.servers");var e=[],f=[],g=function(k){for(var l in k){e.includes(l)&&!f.includes(l)&&f.push(l);e.push(l);var m=k[l];"number"!=typeof m&&"string"!=typeof m&&"boolean"!=typeof m&&g(m)}};g(b);var h=
354
- function(k,l){for(var m in k){var n=m,p=l+m;if(!c.includes(p)){f.includes(m)&&(n=p);var q=k[m];"number"==typeof q||"string"==typeof q||"boolean"==typeof q?a(n,p):h(q,p+".")}}};h(b,"")};shakaDemo.Utils.browserSupportsUncompiledMode=function(){try{return eval("async ()=>{}"),!0}catch(a){return!1}};var shakaDemoFront;
355
- shakaDemo.Front=function(a){var b=this;this.assetCards_=[];this.messageDiv_=document.createElement("div");this.assetCardDiv_=document.createElement("div");a.appendChild(this.messageDiv_);this.makeMessage_();a.appendChild(this.assetCardDiv_);document.addEventListener("shaka-main-selected-asset-changed",function(){b.updateSelected_()});document.addEventListener("shaka-main-offline-progress",function(){b.updateOfflineProgress_()});document.addEventListener("shaka-main-locale-changed",function(){b.remakeAssetCards_()});
356
- document.addEventListener("shaka-main-page-changed",function(){b.assetCardDiv_.childNodes.length||a.classList.contains("hidden")||b.remakeAssetCards_()})};shakaDemo.Front.init=function(){var a=shakaDemoMain.addNavButton("front");shakaDemoFront=new shakaDemo.Front(a.container)};
357
- shakaDemo.Front.prototype.makeMessage_=function(){var a=this;if(!window.localStorage.getItem("shakaPlayerHideFrontMessage")){var b=function(c,d){var e=document.createElement("h2");e.classList.add("mdl-typography--"+c);e.textContent=shakaDemoMain.getLocalizedString(d);a.messageDiv_.appendChild(e)};b("body-2",shakaDemo.MessageIds.FRONT_INTRO_ONE);b("body-1",shakaDemo.MessageIds.FRONT_INTRO_TWO);b=document.createElement("button");b.classList.add("mdl-button");b.classList.add("mdl-button--colored");b.classList.add("mdl-js-button");
358
- b.classList.add("mdl-js-ripple-effect");b.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.FRONT_INTRO_DISMISS);b.addEventListener("click",function(){shaka.util.Dom.removeAllChildren(a.messageDiv_);window.localStorage.setItem("shakaPlayerHideFrontMessage","true")});this.messageDiv_.appendChild(b)}};
359
- shakaDemo.Front.prototype.remakeAssetCards_=function(){var a=this;shaka.util.Dom.removeAllChildren(this.assetCardDiv_);this.assetCards_=shakaAssets.testAssets.filter(function(b){return b.isFeatured&&!b.disabled}).map(function(b){return a.createAssetCardFor_(b,a.assetCardDiv_)});this.updateSelected_()};
360
- shakaDemo.Front.prototype.createAssetCardFor_=function(a,b){var c=this;return new shakaDemo.AssetCard(b,a,!0,function(d){var e=shakaDemoMain.getAssetUnsupportedReason(a,!1);e?d.markAsUnsupported(e):(d.addButton(shakaDemo.MessageIds.PLAY,function(){shakaDemoMain.loadAsset(a);c.updateSelected_()}),d.addStoreButton())})};shakaDemo.Front.prototype.updateOfflineProgress_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.updateProgress()};
361
- shakaDemo.Front.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};document.addEventListener("shaka-main-loaded",shakaDemo.Front.init);document.addEventListener("shaka-main-cleanup",function(){shakaDemoFront=null});shakaDemo.Visualizer=function(a,b,c,d,e,f){var g=this;this.canvas_=a;this.div_=b;this.active=!1;this.screenshotDiv_=c;this.video_=e;this.player_=f;this.takeAutoScreenshots_=!1;this.timer_=new shaka.util.Timer(function(){g.ageUpdates_();g.updateCanvas_();g.takeAutomaticScreenshots_()});this.colorIOffset_=this.lastCurrentTime_=0;this.autoScreenshotTaken_=!1;this.updates_=[];f.addEventListener("segmentappended",function(h){g.updates_.push({age:0,start:h.start,end:h.end,contentType:h.contentType})});
362
- a=new shakaDemo.InputContainer(d,null,shakaDemo.InputContainer.Style.VERTICAL,null);a.addRow(null,null);this.screenshotButton_=document.createElement("button");a.latestElementContainer.appendChild(this.screenshotButton_);this.screenshotButton_.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.VISUALIZER_SCREENSHOT_BUTTON);this.screenshotButton_.classList.add("mdl-button");this.screenshotButton_.classList.add("mdl-button--colored");this.screenshotButton_.classList.add("mdl-js-button");
363
- this.screenshotButton_.classList.add("mdl-js-ripple-effect");this.screenshotButton_.addEventListener("click",function(){g.takeScreenshot_()});a.addRow(shakaDemo.MessageIds.VISUALIZER_AUTO_SCREENSHOT_TOGGLE,null);this.autoScreenshotToggle_=new shakaDemo.BoolInput(a,shakaDemo.MessageIds.VISUALIZER_AUTO_SCREENSHOT_TOGGLE,function(h){g.takeAutoScreenshots_=h.checked})};
364
- shakaDemo.Visualizer.prototype.start=function(){this.timer_.tickEvery(shakaDemo.Visualizer.updateFrequency_);this.div_.classList.remove("hidden");this.autoScreenshotTaken_=!0};shakaDemo.Visualizer.prototype.stop=function(){this.timer_.stop();this.div_.classList.add("hidden");this.updates_=[]};
365
- shakaDemo.Visualizer.prototype.drawBufferInfoCanvasBar_=function(a,b,c,d,e,f){var g=this,h=b.filter(function(v){return v.replaceAll("F","A").replaceAll("0","4")}),k=function(v){return Math.round((v-g.video_.currentTime)*e+g.canvas_.width/2)},l=Math.floor(d/4);a.textAlign="center";a.font="bold "+l+"px serif";a.textBaseline="bottom";for(var m=e>4*l,n=$jscomp.makeIterator(this.updates_),p=n.next();!p.done;p=n.next()){p=p.value;var q=k(p.start),t=k(p.end);if(0<=t&&q<this.canvas_.width){q=Math.max(q,0);
366
- t=Math.min(t,this.canvas_.width);a.fillStyle="#FFFFFF";a.globalAlpha=.1+.2*(1-p.age/shakaDemo.Visualizer.maxUpdateAge_);a.fillRect(q,c,t-q,d);a.globalAlpha=1;var r=p.contentType.toUpperCase();m||(r=r[0]);q+=(t-q)/2;t=c+d;switch(p.contentType){case "video":t-=2*l;break;case "audio":t-=l}a.fillText(r,q,t)}}m=this.player_.getConfiguration().streaming.gapDetectionThreshold;for(n=0;n<this.video_.buffered.length;n++){var u=k(this.video_.buffered.start(n));p=k(this.video_.buffered.end(n));0<=p&&u<this.canvas_.width&&
367
- (u=Math.max(u,0),p=Math.min(p,this.canvas_.width),r=(n-f+this.colorIOffset_+1E4*b.length)%b.length,q=(d-3*l)/b.length,t=c+r*q,a.fillStyle=b[r],a.fillRect(u,t,p-u,q),u=Math.max(u,k(this.video_.buffered.end(n)-m)),a.fillStyle=h[r],a.fillRect(u,t,p-u,q))}};shakaDemo.Visualizer.prototype.takeAutomaticScreenshots_=function(){2>=this.video_.readyState?!this.autoScreenshotTaken_&&this.takeAutoScreenshots_&&(this.takeScreenshot_(),this.autoScreenshotTaken_=!0):this.autoScreenshotTaken_=!1};
368
- shakaDemo.Visualizer.prototype.ageUpdates_=function(){for(var a=$jscomp.makeIterator(this.updates_),b=a.next();!b.done;b=a.next())b.value.age+=shakaDemo.Visualizer.updateFrequency_;this.updates_=this.updates_.filter(function(c){return c.age<shakaDemo.Visualizer.maxUpdateAge_})};
369
- shakaDemo.Visualizer.prototype.takeScreenshot_=function(){shaka.util.Dom.removeAllChildren(this.screenshotDiv_);var a=document.createElement("canvas");a.width=this.canvas_.width;a.height=this.canvas_.height;a.getContext("2d").drawImage(this.canvas_,0,0);this.screenshotDiv_.appendChild(a)};
370
- shakaDemo.Visualizer.prototype.updateCanvas_=function(){this.canvas_.width=this.canvas_.offsetWidth;this.canvas_.height=this.canvas_.offsetHeight;var a=this.canvas_.getContext("2d");a.imageSmoothingEnabled=!1;a.fillStyle="#000000";a.fillRect(0,0,this.canvas_.width,this.canvas_.height);for(var b=["#FF0000","#00FF00","#0000FF"],c=-1,d=-1,e=this.lastCurrentTime_,f=this.video_.currentTime,g=this.video_.buffered,h=0;h<g.length;h++)e>=g.start(h)&&e<=g.end(h)&&(d=h),f>=g.start(h)&&f<=g.end(h)&&(c=h);this.lastCurrentTime_=
371
- f;-1!=c&&-1!=d&&(this.colorIOffset_+=c-d);d=[50,5];e=this.canvas_.height/d.length;for(f=0;f<d.length;f++)g=.75*e,this.drawBufferInfoCanvasBar_(a,b,e*f+(e-g)/2,g,d[f],c);a.fillStyle="#FFFFFF";a.fillRect(this.canvas_.width/2-1,0,2,this.canvas_.height)};shakaDemo.Visualizer.maxUpdateAge_=20;shakaDemo.Visualizer.updateFrequency_=.05;shakaDemo.VisualizerButton=function(a,b){var c=shaka.ui.Element.call(this,a,b)||this;c.button_=document.createElement("button");c.button_.classList.add("shaka-pip-button");c.button_.classList.add("shaka-tooltip");c.icon_=document.createElement("i");c.icon_.classList.add("material-icons-round");c.setIcon_();c.button_.appendChild(c.icon_);a=document.createElement("label");a.classList.add("shaka-overflow-button-label");a.classList.add("shaka-overflow-menu-only");c.nameSpan_=document.createElement("span");
372
- a.appendChild(c.nameSpan_);c.currentPipState_=document.createElement("span");c.currentPipState_.classList.add("shaka-current-selection-span");a.appendChild(c.currentPipState_);c.button_.appendChild(a);c.parent.appendChild(c.button_);c.eventManager.listen(c.button_,"click",function(){shakaDemoMain.setIsVisualizerActive(!shakaDemoMain.getIsVisualizerActive());c.setIcon_()});c.eventManager.listen(c.localization,shaka.ui.Localization.LOCALE_UPDATED,function(){c.updateLocalizedStrings_()});c.eventManager.listen(c.localization,
373
- shaka.ui.Localization.LOCALE_CHANGED,function(){c.updateLocalizedStrings_()});return c};$jscomp.inherits(shakaDemo.VisualizerButton,shaka.ui.Element);shakaDemo.VisualizerButton.prototype.updateLocalizedStrings_=function(){this.nameSpan_.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.VISUALIZER_BUTTON)};shakaDemo.VisualizerButton.prototype.setIcon_=function(){shakaDemoMain.getIsVisualizerActive()?this.icon_.textContent="bar_chart":this.icon_.textContent="add_chart"};
374
- shakaDemo.VisualizerButton.Factory=function(){};shakaDemo.VisualizerButton.Factory.prototype.create=function(a,b){return new shakaDemo.VisualizerButton(a,b)};shakaDemo.Main=function(){this.localization_=this.selectedAsset=this.player_=this.container_=this.video_=null;this.fullyLoaded_=!1;this.controls_=null;this.nativeControlsEnabled_=this.trickPlayControlsEnabled_=!1;this.uiLocale_="";this.noInput_=!1;this.errorDisplayLink_=document.getElementById("error-display-link");this.currentErrorSeverity_=null;MaterialLayout.prototype.Constant_.MENU_ICON="settings";this.visualizer_=null};
375
- 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_()};
376
- shakaDemo.Main.prototype.initFailed=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress){b.initCommon_();b.makeVersionLinks_();c=document.getElementById("error-display-close-button");c.style.display="none";componentHandler.upgradeDom();d=[];e=$jscomp.makeIterator(document.getElementsByClassName("should-disable-on-fail"));for(f=e.next();!f.done;f=e.next())g=f.value,d.push(g);h=$jscomp.makeIterator(document.getElementsByClassName("mdl-layout__drawer-button"));
377
- for(f=h.next();!f.done;f=h.next())k=f.value,d.push(k);l=$jscomp.makeIterator(d);for(f=l.next();!f.done;f=l.next())m=f.value,m.tabIndex=-1,m.classList.add("disabled-by-fail");b.localization_=new shaka.ui.Localization("en");b.localization_.changeLocale(navigator.languages||[]);return t.yield(b.setupLocalization_(),2)}n=shaka.util.Error.Severity.CRITICAL;q=p="";switch(a){case shaka.ui.Overlay.FailReasonCode.NO_BROWSER_SUPPORT:q=b.getLocalizedString(shakaDemo.MessageIds.FAILURE_NO_BROWSER_SUPPORT);p=
378
- "https://github.com/shaka-project/shaka-player#platform-and-browser-support-matrix";break;case shaka.ui.Overlay.FailReasonCode.PLAYER_FAILED_TO_LOAD:q=b.getLocalizedString(shakaDemo.MessageIds.FAILURE_MISC)}b.handleError_(n,q,p);t.jumpToEnd()})};
379
- shakaDemo.Main.prototype.init=function(){var a=this,b,c,d,e,f,g,h,k,l,m,n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){switch(p.nextAddress){case 1:return a.initCommon_(),b=a,p.yield(shaka.Player.probeSupport(),2);case 2:return b.support_=p.yieldResult,a.video_=document.getElementById("video"),a.video_.poster=shakaDemo.Main.mainPoster_,a.container_=document.getElementsByClassName("video-container")[0],navigator.serviceWorker&&(console.debug("Registering service worker."),navigator.serviceWorker.register("service_worker.js")),
380
- a.noInput_="noinput"in a.getParams_(),p.yield(a.setupPlayer_(),3);case 3:return a.readHash_(),window.addEventListener("hashchange",function(){return a.hashChanged_()}),p.yield(a.setupStorage_(),4);case 4:a.setupBugButton_();if(a.noInput_){c=$jscomp.makeIterator(document.getElementsByClassName("should-hide-in-no-input-mode"));for(d=c.next();!d.done;d=c.next())e=d.value,a.hideElement_(e);f=$jscomp.makeIterator(document.getElementsByClassName("should-show-in-no-input-mode"));for(d=f.next();!d.done;d=
381
- f.next())g=d.value,a.showElement_(g);a.container_.classList.add("no-input-sized");document.getElementById("video-bar").classList.add("no-input-sized")}else goog.asserts.assert(a.player_,"Player should exist by now."),h=document.getElementById("visualizer-canvas"),k=document.getElementById("visualizer-div"),l=document.getElementById("visualizer-controls-div"),m=document.getElementById("visualizer-screenshot-div"),a.visualizer_=new shakaDemo.Visualizer(h,k,m,l,a.video_,a.player_);a.dispatchEventWithName_("shaka-main-loaded");
382
- return p.yield(Promise.resolve(),5);case 5:componentHandler.upgradeDom(),n=a.getLastAssetFromHash_(),a.fullyLoaded_=!0,a.remakeHash(),n&&!a.selectedAsset&&a.loadAsset(n),p.jumpToEnd()}})};
383
- shakaDemo.Main.prototype.loadText_=function(a){var b,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){return 1==k.nextAddress?(b=new shaka.net.NetworkingEngine,c=shaka.net.NetworkingEngine.defaultRetryParameters(),d=shaka.net.NetworkingEngine.makeRequest([a],c),e=shaka.net.NetworkingEngine.RequestType.APP,f=b.request(e,d),k.yield(f.promise,2)):3!=k.nextAddress?(g=k.yieldResult,h=shaka.util.StringUtils.fromUTF8(g.data),k.yield(b.destroy(),3)):k.return(h)})};
384
- shakaDemo.Main.prototype.reportBug_=function(){var a=this,b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){switch(f.nextAddress){case 1:return f.yield(a.loadText_("autoTemplate.txt"),2);case 2:b=f.yieldResult;c=function(g,h){b=b.replace(g,h)};c("RE:player",shaka.Player.version);c("RE:link",window.location.href);c("RE:browser",navigator.userAgent);if(!a.selectedAsset||a.selectedAsset.source!=shakaAssets.Source.CUSTOM){c("RE:customwarning\n","");f.jumpTo(3);break}return f.yield(a.loadText_("customWarning.txt"),
385
- 4);case 4:d=f.yieldResult,c("RE:customwarning",d);case 3:e="https://github.com/shaka-project/shaka-player/issues/new?",e+="body="+encodeURIComponent(b),window.open(e,"_blank"),f.jumpToEnd()}})};
386
- shakaDemo.Main.prototype.setupBugButton_=function(){var a=this,b=document.getElementById("bug-button");b.addEventListener("click",function(){return a.reportBug_()});navigator.onLine||b.setAttribute("disabled","");window.addEventListener("online",function(){b.removeAttribute("disabled")});window.addEventListener("offline",function(){b.setAttribute("disabled","")})};
387
- shakaDemo.Main.prototype.configureUI_=function(){var a=this.video_.ui,b=a.getConfiguration();b.addSeekBar=!0;b.controlPanelElements=b.controlPanelElements.filter(function(d){return"rewind"!=d&&"fast_forward"!=d});if(this.trickPlayControlsEnabled_){b.addSeekBar=!1;var c=b.controlPanelElements.indexOf("play_pause");b.controlPanelElements.splice(c,1,"rewind","play_pause","fast_forward")}b.controlPanelElements.includes("close")||b.controlPanelElements.push("close");b.overflowMenuButtons.includes("visualizer")||
388
- b.overflowMenuButtons.push("visualizer");a.configure(b)};
389
- shakaDemo.Main.prototype.setupPlayer_=function(){var a=this,b,c,d,e,f,g,h,k,l,m;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){if(1==n.nextAddress)return b=a.video_,c=b.ui,a.player_=c.getControls().getPlayer(),a.noInput_||(d=new shakaDemo.CloseButton.Factory,shaka.ui.Controls.registerElement("close",d),e=new shakaDemo.VisualizerButton.Factory,shaka.ui.OverflowMenu.registerElement("visualizer",e),a.configureUI_()),a.player_.configure("manifest.dash.clockSyncUri","https://shaka-player-demo.appspot.com/time.txt"),
390
- a.defaultConfig_=a.player_.getConfiguration(),a.desiredConfig_=a.player_.getConfiguration(),f=navigator.languages||["en-us"],a.configure("preferredAudioLanguage",f[0]),a.configure("preferredTextLanguage",f[0]),a.uiLocale_=f[0],g=function(p){return a.onErrorEvent_(p)},a.player_.addEventListener("error",g),a.controls_=c.getControls(),a.controls_.addEventListener("error",g),a.controls_.addEventListener("caststatuschanged",function(p){a.onCastStatusChange_(p.newStatus)}),a.localization_=a.controls_.getLocalization(),
391
- n.yield(a.setupLocalization_(),2);h=document.getElementById("drawer-close-button");h.addEventListener("click",function(){document.getElementById("main-layout").MaterialLayout.toggleDrawer();a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideElement_(h)});k=document.querySelector(".mdl-layout__drawer-button");goog.asserts.assert(k,"There should be a drawer button.");l=function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.showElement_(h)};k.addEventListener("click",l);
392
- k.addEventListener("keydown",function(p){p=p.key;" "!=p&&"Spacebar"!=p&&"Enter"!=p||l()});m=document.querySelector(".mdl-layout__obfuscator");goog.asserts.assert(m,"There should be an obfuscator.");m.addEventListener("click",function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideElement_(h)});a.hideElement_(h);n.jumpToEnd()})};
393
- shakaDemo.Main.prototype.setupLocalization_=function(){var a=this,b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return b=function(){a.localizeHTMLElements_();a.dispatchEventWithName_("shaka-main-locale-changed")},c=shaka.ui.Localization.UNKNOWN_LOCALES,a.localization_.addEventListener(c,function(g){var h={};g=$jscomp.makeIterator(g.locales);for(var k=g.next();!k.done;h={$jscomp$loop$prop$locale$82:h.$jscomp$loop$prop$locale$82},k=g.next())h.$jscomp$loop$prop$locale$82=
394
- k.value,a.loadUILocale_(h.$jscomp$loop$prop$locale$82).then(function(l){return function(){l.$jscomp$loop$prop$locale$82==a.uiLocale_&&b()}}(h))}),d=shaka.ui.Localization.LOCALE_CHANGED,a.localization_.addEventListener(d,function(g){b()}),e=[],e.push(a.loadUILocale_(a.uiLocale_)),a.uiLocale_.includes("-")&&e.push(a.loadUILocale_(a.uiLocale_.split("-")[0])),a.uiLocale_.startsWith("en")||e.push(a.loadUILocale_("en")),f.yield(Promise.all(e),2);a.localizeHTMLElements_();f.jumpToEnd()})};
395
- 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")};shakaDemo.Main.prototype.getIdentifierFromAsset_=function(a){return a.name+(a.source==shakaAssets.Source.CUSTOM?" [CUSTOM]":"")};
396
- shakaDemo.Main.prototype.makeStorageInstance_=function(){var a=this;if(!shaka.offline.Storage.support())return null;var b=new shaka.offline.Storage;b.configure(this.desiredConfig_);b.configure("offline.progressCallback",function(c,d){c=c.appMetadata.identifier;a:{for(var e=$jscomp.makeIterator(shakaAssets.testAssets),f=e.next();!f.done;f=e.next())if(f=f.value,a.getIdentifierFromAsset_(f)==c){c=f;break a}if(shakaDemoCustom)for(e=$jscomp.makeIterator(shakaDemoCustom.assets()),f=e.next();!f.done;f=e.next())if(f=
397
- f.value,a.getIdentifierFromAsset_(f)==c){c=f;break a}c=null}c&&(c.storedProgress=d,a.dispatchEventWithName_("shaka-main-offline-progress"))});return b};
398
- shakaDemo.Main.prototype.setupOfflineSupport=function(a){var b=this;if(this.initialStoredList_){a.storedContent=null;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(){var f,g,h,k,l,m;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){switch(n.nextAddress){case 1:f=b.makeStorageInstance_();if(!f)return n.return();n.setCatchFinallyBlocks(2);
399
- return n.yield(b.drmConfiguration_(a,f),4);case 4:return g={identifier:b.getIdentifierFromAsset_(a),downloaded:new Date},a.storedProgress=0,b.dispatchEventWithName_("shaka-main-offline-progress"),h=Date.now(),n.yield(f.store(a.manifestUri,g).promise,5);case 5:k=n.yieldResult;l=Date.now();console.log("Download time:",l-h);a.storedContent=k;n.leaveTryBlock(3);break;case 2:m=n.enterCatchBlock(),b.onError_(m),a.storedContent=null;case 3:f.destroy(),a.storedProgress=1,b.dispatchEventWithName_("shaka-main-offline-progress"),
400
- n.jumpToEnd()}})};a.unstoreCallback=function(){var f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:a==b.selectedAsset&&b.unload();if(!a.storedContent||!a.storedContent.offlineUri){h.jumpTo(0);break}f=b.makeStorageInstance_();if(!f)return h.return();h.setCatchFinallyBlocks(3);a.storedProgress=0;b.dispatchEventWithName_("shaka-main-offline-progress");return h.yield(f.remove(a.storedContent.offlineUri),5);case 5:a.storedContent=null;h.leaveTryBlock(4);
401
- break;case 3:g=h.enterCatchBlock(),b.onError_(g);case 4:f.destroy(),a.storedProgress=1,b.dispatchEventWithName_("shaka-main-offline-progress"),h.jumpToEnd()}})}}};
402
- shakaDemo.Main.prototype.setupStorage_=function(){var a=this,b,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:b=a.makeStorageInstance_();if(!b)return h.return();h.setCatchFinallyBlocks(2,3);c=a;return h.yield(b.list(),5);case 5:c.initialStoredList_=h.yieldResult;case 3:h.enterFinallyBlock();b.destroy();h.leaveFinallyBlock(4);break;case 2:d=h.enterCatchBlock();console.error(d);a.initialStoredList_=null;h.jumpTo(3);break;case 4:e=$jscomp.makeIterator(shakaAssets.testAssets);
403
- for(f=e.next();!f.done;f=e.next())g=f.value,a.getAssetUnsupportedReason(g,!0)||a.setupOfflineSupport(g);h.jumpToEnd()}})};shakaDemo.Main.prototype.hashChanged_=function(){this.readHash_();this.dispatchEventWithName_("shaka-main-config-change")};
404
- shakaDemo.Main.prototype.getAssetUnsupportedReason=function(a,b){var c=this;if(b&&(!shaka.offline.Storage.support()||!this.initialStoredList_))return shakaDemo.MessageIds.UNSUPPORTED_NO_OFFLINE;if(a.source==shakaAssets.Source.CUSTOM)return null;if(a.disabled)return shakaDemo.MessageIds.UNSUPPORTED_DISABLED;if(b&&!a.features.includes(shakaAssets.Feature.OFFLINE))return shakaDemo.MessageIds.UNSUPPORTED_NO_DOWNLOAD;if(!a.isClear()){if(!a.drm.some(function(d){return c.support_.drm[shakaAssets.identifierForKeySystem(d)]}))return shakaDemo.MessageIds.UNSUPPORTED_NO_KEY_SUPPORT;
405
- if(b&&!a.drm.some(function(d){d=shakaAssets.identifierForKeySystem(d);return c.support_.drm[d]&&c.support_.drm[d].persistentState}))return shakaDemo.MessageIds.UNSUPPORTED_NO_LICENSE_SUPPORT}if(a.features.includes(shakaAssets.Feature.DASH)&&!this.support_.manifest.mpd)return shakaDemo.MessageIds.UNSUPPORTED_NO_DASH_SUPPORT;if(a.features.includes(shakaAssets.Feature.HLS)&&!this.support_.manifest.m3u8)return shakaDemo.MessageIds.UNSUPPORTED_NO_HLS_SUPPORT;b=[];a.features.includes(shakaAssets.Feature.WEBM)&&
406
- b.push("video/webm");a.features.includes(shakaAssets.Feature.MP4)&&b.push("video/mp4");a.features.includes(shakaAssets.Feature.MP2TS)&&b.push("video/mp2t");a.features.includes(shakaAssets.Feature.CONTAINERLESS)&&b.push("audio/aac");return b.some(function(d){return c.support_.media[d]})?null:shakaDemo.MessageIds.UNSUPPORTED_NO_FORMAT_SUPPORT};shakaDemo.Main.prototype.setTrickPlayControlsEnabled=function(a){this.trickPlayControlsEnabled_=a;this.configureUI_();this.remakeHash()};
407
- shakaDemo.Main.prototype.getTrickPlayControlsEnabled=function(){return this.trickPlayControlsEnabled_};shakaDemo.Main.prototype.setNativeControlsEnabled=function(a){this.nativeControlsEnabled_=a;this.remakeHash()};shakaDemo.Main.prototype.getNativeControlsEnabled=function(){return this.nativeControlsEnabled_};
408
- shakaDemo.Main.prototype.localizeHTMLElements_=function(){for(var a=$jscomp.makeIterator(document.querySelectorAll("[localized-string]")),b=a.next();!b.done;b=a.next()){b=b.value;var c=b.getAttribute("localized-string");if(c=shakaDemo.MessageIds[c])b.textContent=this.getLocalizedString(c)}};shakaDemo.Main.prototype.getLocalizedString=function(a){return this.localization_.resolve(a)};
409
- shakaDemo.Main.prototype.loadUILocale_=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(!a)return d.return();c=function(e){var f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress)return f=e+"/locales/"+a+".json",l.setCatchFinallyBlocks(2),l.yield(b.loadText_(f),4);if(2!=l.nextAddress)return g=l.yieldResult,h=JSON.parse(g),k=new Map(Object.entries(h)),b.localization_.insert(a,k),l.leaveTryBlock(0);l.enterCatchBlock();
410
- console.warn("Unable to load locale",a,"for url",f);l.jumpToEnd()})};return d.yield(Promise.all([c("../ui"),c("../demo")]),0)})};shakaDemo.Main.prototype.setUILocale=function(a){this.uiLocale_=a;a=[a].concat(navigator.languages);this.localization_.changeLocale(a)};shakaDemo.Main.prototype.getUILocale=function(){return this.uiLocale_};
411
- shakaDemo.Main.prototype.getLastAssetFromHash_=function(){var a=this.getParams_(),b=a.asset,c=a.adTagUri;if(b){for(var d=$jscomp.makeIterator(shakaAssets.testAssets),e=d.next();!e.done;e=d.next())if(e=e.value,e.manifestUri==b&&e.adTagUri==c)return e;c=$jscomp.makeIterator(shakaDemoCustom.assets());for(e=c.next();!e.done;e=c.next())if(d=e.value,d.manifestUri==b)return d;b=new ShakaDemoAssetInfo("loaded asset","",b,shakaAssets.Source.CUSTOM);if("license"in a)for(c=shakaDemo.Main.commonDrmSystems,("drmSystem"in
412
- a)&&(c=[a.drmSystem]),c=$jscomp.makeIterator(c),d=c.next();!d.done;d=c.next())b.addLicenseServer(d.value,a.license);"certificate"in a&&b.addCertificateUri(a.certificate);return b}return null};
413
- shakaDemo.Main.prototype.readHash_=function(){var a=this,b=this.getParams_();if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(f,g){if(f in b){var h=a.getCurrentConfigValue(g);f=b[f];"boolean"==typeof h?f="true"==f:"number"==typeof h&&(f=parseFloat(f));a.configure(g,f)}},c);if(c=this.getCurrentConfigValue("drm.advanced"))for(var d=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),e=d.next();!e.done;e=d.next())e=e.value,c[e]||(c[e]=shakaDemo.Main.defaultAdvancedDrmConfig()),
414
- "videoRobustness"in b&&(c[e].videoRobustness=b.videoRobustness),"audioRobustness"in b&&(c[e].audioRobustness=b.audioRobustness)}"lang"in b&&(c=b.lang,this.configure("preferredAudioLanguage",c),this.configure("preferredTextLanguage",c),this.setUILocale(c));"uilang"in b&&this.setUILocale(b.uilang);"noadaptation"in b&&this.configure("abr.enabled",!1);this.makeVersionLinks_();this.nativeControlsEnabled_="nativecontrols"in b;"trickplay"in b&&(this.trickPlayControlsEnabled_=!0,this.configureUI_());shakaDemo.Utils.browserSupportsUncompiledMode()||
415
- (c=document.getElementById("uncompiled-link"),goog.asserts.assert(c instanceof HTMLAnchorElement,"Wrong element type!"),c.setAttribute("disabled",""),c.removeAttribute("href"),c.title="requires a newer browser");shaka.log&&("vv"in b?shaka.log.setLevel(shaka.log.Level.V2):"v"in b?shaka.log.setLevel(shaka.log.Level.V1):"debug"in b?shaka.log.setLevel(shaka.log.Level.DEBUG):"info"in b&&shaka.log.setLevel(shaka.log.Level.INFO))};
416
- shakaDemo.Main.prototype.makeVersionLinks_=function(){var a=this,b=this.getParams_(),c="uncompiled";"build"in b?c=b.build:"compiled"in b&&(c="compiled");b={};for(var d=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]),e=d.next();!e.done;b={$jscomp$loop$prop$type$84:b.$jscomp$loop$prop$type$84},e=d.next())b.$jscomp$loop$prop$type$84=e.value,e=document.getElementById(b.$jscomp$loop$prop$type$84.split("_").join("-")+"-link"),goog.asserts.assert(e instanceof HTMLAnchorElement,"Wrong element type!"),
417
- c==b.$jscomp$loop$prop$type$84?(e.setAttribute("disabled",""),e.removeAttribute("href"),e.title="currently selected"):(e.removeAttribute("disabled"),e.addEventListener("click",function(f){return function(){var g=location.hash.substr(1).split(";").filter(function(h){return"compiled"!=h&&"build"!=h.split("=")[0]});g.push("build="+f.$jscomp$loop$prop$type$84);a.setNewHashSilent_(g.join(";"));location.reload();return!1}}(b)))};
418
- shakaDemo.Main.prototype.getParams_=function(){var a=location.search.substr(1);a=a?a.split(";"):[];var b=location.hash.substr(1);b=b?b.split(";"):[];b=a.concat(b);a={};b=$jscomp.makeIterator(b);for(var c=b.next();!c.done;c=b.next())c=c.value.split("="),a[c[0]]=c.slice(1).join("=");return a};shakaDemo.Main.prototype.getValueFromGivenConfig_=function(a,b){for(;a;){var c=a.split(/\.(.+)/);if(3==c.length)a=c[1],b=b[c[0]];else return b[c[0]]}};
419
- shakaDemo.Main.prototype.getCurrentConfigValue=function(a){return this.getValueFromGivenConfig_(a,this.desiredConfig_)};shakaDemo.Main.prototype.resetConfiguration=function(a){this.configure(a,void 0)};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)};
420
- shakaDemo.Main.prototype.getConfiguration=function(){return this.desiredConfig_};shakaDemo.Main.prototype.requestCertificate_=function(a,b){var c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return c=shaka.net.NetworkingEngine.RequestType.APP,d={uris:[a]},f.yield(b.request(c,d).promise,2);e=f.yieldResult;return f.return(e.data)})};shakaDemo.Main.prototype.getIsVisualizerActive=function(){return this.visualizer_?this.visualizer_.active:!1};
421
- shakaDemo.Main.prototype.setIsVisualizerActive=function(a){if(this.visualizer_){var b=this.visualizer_.active;this.visualizer_.active=a;b!=a&&(a?this.visualizer_.start():this.visualizer_.stop())}};
422
- shakaDemo.Main.prototype.unload=function(){this.visualizer_&&this.visualizer_.stop();this.selectedAsset=null;var a=document.getElementById("video-bar");this.hideElement_(a);this.video_.poster=shakaDemo.Main.mainPoster_;document.fullscreenElement&&document.exitFullscreen();this.video_.webkitDisplayingFullscreen&&this.video_.webkitExitFullscreen();document.pictureInPictureElement&&document.exitPictureInPicture();this.player_.unload();this.dispatchEventWithName_("shaka-main-selected-asset-changed");
423
- navigator.mediaSession&&(navigator.mediaSession.metadata=null);this.remakeHash()};
424
- shakaDemo.Main.prototype.drmConfiguration_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p;return $jscomp.asyncExecutePromiseGeneratorProgram(function(q){if(1==q.nextAddress){d=b?b.getNetworkingEngine():c.player_.getNetworkingEngine();goog.asserts.assert(d,"There should be a net engine.");a.applyFilters(d);e=a.getConfiguration();b?b.configure(e):(c.player_.resetConfiguration(),c.player_.configure(c.desiredConfig_),c.player_.configure(e));f=b?b.getConfiguration():c.player_.getConfiguration();if(!a.certificateUri){g=
425
- $jscomp.makeIterator(a.licenseServers.keys());for(h=g.next();!h.done;h=g.next())k=h.value,f.drm.advanced[k]&&delete f.drm.advanced[k].serverCertificate;return q.jumpTo(2)}return q.yield(c.requestCertificate_(a.certificateUri,d),3)}if(2!=q.nextAddress)for(l=q.yieldResult,m=shaka.util.BufferUtils.toUint8(l),n=$jscomp.makeIterator(a.licenseServers.keys()),h=n.next();!h.done;h=n.next())p=h.value,f.drm.advanced[p]=f.drm.advanced[p]||{},f.drm.advanced[p].serverCertificate=m;b?b.configure(f):c.player_.configure("drm.advanced",
426
- f.drm.advanced);c.remakeHash();q.jumpToEnd()})};shakaDemo.Main.prototype.showPlayer_=function(){var a=document.getElementById("video-bar");this.showElement_(a);this.closeError_();this.video_.poster=shakaDemo.Main.mainPoster_;a.scrollIntoView({behavior:"smooth",block:"start"})};
427
- shakaDemo.Main.prototype.loadAsset=function(a){var b=this,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){switch(k.nextAddress){case 1:return k.setCatchFinallyBlocks(2),b.selectedAsset=a,b.showPlayer_(),b.dispatchEventWithName_("shaka-main-selected-asset-changed"),b.nativeControlsEnabled_?(b.controls_.setEnabledShakaControls(!1),b.controls_.setEnabledNativeControls(!0),b.player_.setVideoContainer(null)):(b.controls_.setEnabledShakaControls(!0),b.controls_.setEnabledNativeControls(!1),
428
- b.player_.setVideoContainer(b.container_)),k.yield(b.drmConfiguration_(a),4);case 4:b.controls_.getCastProxy().setAppData({asset:a});c=a.manifestUri;a.storedContent&&a.storedContent.offlineUri&&(c=a.storedContent.offlineUri);if(!(a.imaAssetKey||a.imaContentSrcId&&a.imaVideoId)){k.jumpTo(5);break}return k.yield(b.getManifestUriFromAdManager_(a),6);case 6:c=k.yieldResult;case 5:return k.yield(b.player_.load(c,null,a.mimeType||void 0),7);case 7:b.player_.isAudioOnly()&&(b.video_.poster=shakaDemo.Main.audioOnlyPoster_);
429
- if((d=b.player_.getAdManager())&&a.adTagUri)try{goog.asserts.assert(null!=b.video_,"this.video should exist!"),d.initClientSide(b.controls_.getClientSideAdContainer(),b.video_),e=new google.ima.AdsRequest,e.adTagUrl=a.adTagUri,d.requestClientSideAds(e)}catch(l){console.log(l),console.warn("Ads code has been prevented from running. Proceeding without ads.")}navigator.mediaSession&&(f={title:a.name,artwork:[{src:a.iconUri}]},f.artist=a.source,navigator.mediaSession.metadata=new MediaMetadata(f));b.visualizer_&&
430
- b.visualizer_.active&&b.visualizer_.start();k.leaveTryBlock(3);break;case 2:if(h=g=k.enterCatchBlock(),h.code==shaka.util.Error.Code.LOAD_INTERRUPTED)console.debug("load() interrupted");else b.onError_(h);case 3:b.remakeHash(),k.jumpToEnd()}})};
431
- 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(f,g){var h=a.getCurrentConfigValue(g);g=a.getValueFromGivenConfig_(g,a.defaultConfig_);var k=isNaN(h)&&isNaN(g);h==g||k||b.push(f+"="+h)},c);var d=this.getCurrentConfigValue("drm.advanced");if(d){var e=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems);for(c=e.next();!c.done;c=e.next())if(c=d[c.value]){c.videoRobustness&&
432
- b.push("videoRobustness="+c.videoRobustness);c.audioRobustness&&b.push("audioRobustness="+c.audioRobustness);break}}}this.getCurrentConfigValue("abr.enabled")||b.push("noadaptation");b.push("uilang="+this.getUILocale());if(this.selectedAsset){d=shakaAssets.testAssets.includes(this.selectedAsset);b.push("asset="+this.selectedAsset.manifestUri);this.selectedAsset.adTagUri&&b.push("adTagUri="+this.selectedAsset.adTagUri);if(!d&&this.selectedAsset.licenseServers.size)for(c=this.selectedAsset.licenseServers.values().next().value,
433
- b.push("license="+c),e=$jscomp.makeIterator(this.selectedAsset.licenseServers.keys()),c=e.next();!c.done;c=e.next())if(c=c.value,!shakaDemo.Main.commonDrmSystems.includes(c)){b.push("drmSystem="+c);break}!d&&this.selectedAsset.certificateUri&&b.push("certificate="+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&&(goog.asserts.assert(d instanceof HTMLElement,
434
- "Wrong node type!"),d.classList.contains("mdl-button--accent"))){b.push("panel="+d.getAttribute("tab-identifier"));(c=d.getAttribute("tab-hash"))&&b.push("panelData="+c);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_&&b.push("noinput");this.nativeControlsEnabled_&&b.push("nativecontrols");this.trickPlayControlsEnabled_&&
435
- b.push("trickplay");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)};shakaDemo.Main.prototype.getHamburgerMenu=function(){return document.getElementById("hamburger-menu-contents")};
436
- shakaDemo.Main.prototype.hideElement_=function(a){a.classList.add("hidden")};shakaDemo.Main.prototype.showElement_=function(a){a.classList.remove("hidden")};
437
- shakaDemo.Main.prototype.getManifestUriFromAdManager_=function(a){var b=this,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress){c=b.player_.getAdManager();d=b.controls_.getServerSideAdContainer();h.setCatchFinallyBlocks(2);goog.asserts.assert(null!=b.video_,"Video should not be null!");c.initServerSide(d,b.video_);null!=a.imaAssetKey?(e=new google.ima.dai.api.LiveStreamRequest,e.assetKey=a.imaAssetKey):(goog.asserts.assert(null!=a.imaContentSrcId&&null!=
438
- a.imaVideoId,"Asset should have ima ids!"),e=new google.ima.dai.api.VODStreamRequest,e.contentSourceId=a.imaContentSrcId,e.videoId=a.imaVideoId);switch(a.imaManifestType){case "DASH":case "dash":case "MPD":case "mpd":e.format=google.ima.dai.api.StreamRequest.StreamFormat.DASH;break;case "HLS":case "hls":case "M3U8":case "m3u8":e.format=google.ima.dai.api.StreamRequest.StreamFormat.HLS}return h.yield(c.requestServerSideStream(e,a.manifestUri),4)}if(2!=h.nextAddress)return f=h.yieldResult,h.return(f);
439
- g=h.enterCatchBlock();console.log(g);console.warn("Ads code has been prevented from running or returned an error. Proceeding without ads.");return h.return(a.manifestUri)})};
440
- 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.getAttribute("tab-identifier")))?(f=f.panelData)&&e.setAttribute("tab-hash",f):f.panel||(a=null!=e.getAttribute("defaultselected"));var g=document.createElement("div");this.hideElement_(g);d.appendChild(g);f=function(){for(var h=$jscomp.makeIterator(c.childNodes),k=
441
- h.next();!k.done;k=h.next())k=k.value,k.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(k instanceof Element,"Wrong node type!"),k.classList.remove("mdl-button--accent"));h=$jscomp.makeIterator(d.childNodes);for(k=h.next();!k.done;k=h.next())k=k.value,k.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(k instanceof Element,"Wrong node type!"),b.hideElement_(k));e.classList.add("mdl-button--accent");b.showElement_(g);b.remakeHash();b.dispatchEventWithName_("shaka-main-page-changed");g.scrollIntoView({behavior:"smooth",
442
- block:"start"})};e.addEventListener("click",f);a&&Promise.resolve().then(f);return{container:g,button:e}};shakaDemo.Main.prototype.dispatchEventWithName_=function(a){var b=document.createEvent("CustomEvent");b.initCustomEvent(a,!1,!1,null);document.dispatchEvent(b)};
443
- 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={$jscomp$loop$prop$whitelisted$86:c.$jscomp$loop$prop$whitelisted$86},e=d.next())c.$jscomp$loop$prop$whitelisted$86=e.value,a.includes(c.$jscomp$loop$prop$whitelisted$86)&&(b.push(c.$jscomp$loop$prop$whitelisted$86),a=a.filter(function(f){return function(g){return g!=f.$jscomp$loop$prop$whitelisted$86}}(c)));c=document.getElementsByClassName("version-string");
444
- c=$jscomp.makeIterator(c);for(d=c.next();!d.done;d=c.next())d=d.value,d.textContent=a.join("-"),0<b.length&&(d.textContent+=" ("+b.join(", ")+")")};shakaDemo.Main.prototype.closeError_=function(){document.getElementById("error-display").classList.add("hidden");this.errorDisplayLink_.href="";this.errorDisplayLink_.textContent="";this.currentErrorSeverity_=null};shakaDemo.Main.prototype.onErrorEvent_=function(a){this.onError_(a.detail)};
445
- 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)};
446
- shakaDemo.Main.prototype.handleError_=function(a,b,c){if(null==this.currentErrorSeverity_||a>this.currentErrorSeverity_)this.errorDisplayLink_.href=c,void 0===this.errorDisplayLink_.textContent?this.errorDisplayLink_.innerText=b:this.errorDisplayLink_.textContent=b,this.currentErrorSeverity_=a,this.errorDisplayLink_.href?this.errorDisplayLink_.classList.remove("input-disabled"):this.errorDisplayLink_.classList.add("input-disabled"),document.getElementById("error-display").classList.remove("hidden")};
447
- shakaDemo.Main.prototype.onCastStatusChange_=function(a){a&&!this.selectedAsset&&(this.selectedAsset=ShakaDemoAssetInfo.makeBlankAsset(),this.showPlayer_())};shakaDemo.Main.defaultAdvancedDrmConfig=function(){return{distinctiveIdentifierRequired:!1,persistentStateRequired:!1,videoRobustness:"",audioRobustness:"",sessionType:"",serverCertificate:new Uint8Array(0),serverCertificateUri:"",individualizationServer:""}};
448
- shakaDemo.Main.commonDrmSystems=["com.widevine.alpha","com.microsoft.playready","com.apple.fps","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";
449
- shakaDemo.Main.initWrapper=function(a){var b;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){if(1==c.nextAddress)return c.setCatchFinallyBlocks(2),c.yield(a(),4);if(2!=c.nextAddress)return c.leaveTryBlock(0);b=c.enterCatchBlock();shakaDemoMain.onError_(b);console.error(b);c.jumpToEnd()})};document.addEventListener("shaka-ui-loaded",function(){shakaDemo.Main.initWrapper(function(){return shakaDemoMain.init()})});document.addEventListener("shaka-ui-load-failed",function(a){shakaDemo.Main.initWrapper(function(){shakaDemoMain.initFailed(a.detail.reasonCode)})});var shakaDemoSearch;
450
- shakaDemo.Search=function(a,b){var c=this;this.desiredFeatures_=[];this.button_=b;this.resultsDiv_=document.createElement("div");this.assetCards_=[];document.addEventListener("shaka-main-selected-asset-changed",function(){c.updateSelected_()});document.addEventListener("shaka-main-offline-progress",function(){c.updateOfflineProgress_()});document.addEventListener("shaka-main-locale-changed",function(){c.remakeSearchDiv_(a);c.remakeResultsDiv_();componentHandler.upgradeDom()});document.addEventListener("shaka-main-page-changed",
451
- function(){c.resultsDiv_.childNodes.length||a.classList.contains("hidden")||c.remakeResultsDiv_()});this.readHashParameters_();this.updateHashParameters_();this.remakeSearchDiv_(a)};shakaDemo.Search.init=function(){var a=shakaDemoMain.addNavButton("search");shakaDemoSearch=new shakaDemo.Search(a.container,a.button)};
452
- shakaDemo.Search.prototype.readHashParameters_=function(){var a=this.button_.getAttribute("tab-hash");if(a){a=$jscomp.makeIterator(a.split(","));for(var b=a.next();!b.done;b=a.next())if(b=b.value,b.startsWith("drm:")){if(b=b.split("drm:")[1],b=shakaAssets.KeySystem[b])this.desiredDRM_=b}else if(b.startsWith("source:")){if(b=b.split("source:")[1],b=shakaAssets.Source[b])this.desiredSource_=b}else(b=shakaAssets.Feature[b])&&this.desiredFeatures_.push(b)}};
453
- shakaDemo.Search.prototype.updateHashParameters_=function(){var a=[];if(this.desiredSource_)for(var b in shakaAssets.Source)shakaAssets.Source[b]==this.desiredSource_&&a.push("source:"+b);if(this.desiredDRM_)for(var c in shakaAssets.KeySystem)shakaAssets.KeySystem[c]==this.desiredDRM_&&a.push("drm:"+c);b=$jscomp.makeIterator(this.desiredFeatures_);for(c=b.next();!c.done;c=b.next()){c=c.value;for(var d in shakaAssets.Feature)shakaAssets.Feature[d]==c&&a.push(d)}0<a.length?this.button_.setAttribute("tab-hash",
454
- a.join(",")):this.button_.removeAttribute("tab-hash");shakaDemoMain.remakeHash()};shakaDemo.Search.prototype.createAssetCardFor_=function(a){var b=this;return new shakaDemo.AssetCard(this.resultsDiv_,a,!1,function(c){var d=shakaDemoMain.getAssetUnsupportedReason(a,!1);d?c.markAsUnsupported(d):(c.addButton(shakaDemo.MessageIds.PLAY,function(){shakaDemoMain.loadAsset(a);b.updateSelected_()}),c.addStoreButton())})};
455
- shakaDemo.Search.prototype.updateOfflineProgress_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.updateProgress()};shakaDemo.Search.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};
456
- shakaDemo.Search.prototype.remakeResultsDiv_=function(){var a=this;shaka.util.Dom.removeAllChildren(this.resultsDiv_);this.assetCards_=this.searchResults_().map(function(b){return a.createAssetCardFor_(b)});this.updateSelected_()};
457
- shakaDemo.Search.prototype.checkDesiredTerm_=function(a,b){switch(b){case shakaDemo.Search.TermType.DRM:return this.desiredDRM_==a;case shakaDemo.Search.TermType.SOURCE:return this.desiredSource_==a;case shakaDemo.Search.TermType.FEATURE:return this.desiredFeatures_.includes(a);default:return!1}};
458
- shakaDemo.Search.prototype.addDesiredTerm_=function(a,b,c){switch(b){case shakaDemo.Search.TermType.DRM:this.desiredDRM_=a;break;case shakaDemo.Search.TermType.SOURCE:this.desiredSource_=a;break;case shakaDemo.Search.TermType.FEATURE:b=$jscomp.makeIterator(c);for(c=b.next();!c.done;c=b.next())c=this.desiredFeatures_.indexOf(c.value),-1!=c&&this.desiredFeatures_.splice(c,1);this.desiredFeatures_.push(a)}};
459
- shakaDemo.Search.prototype.removeDesiredTerm_=function(a,b){switch(b){case shakaDemo.Search.TermType.DRM:this.desiredDRM_=null;break;case shakaDemo.Search.TermType.SOURCE:this.desiredSource_=null;break;case shakaDemo.Search.TermType.FEATURE:a=this.desiredFeatures_.indexOf(a),-1!=a&&this.desiredFeatures_.splice(a,1)}};
460
- shakaDemo.Search.prototype.makeBooleanInput_=function(a,b,c,d){var e=this;a.addRow(b,d,"significant-right-padding");(new shakaDemo.BoolInput(a,b,function(f){f.checked?e.addDesiredTerm_(b,c,[b]):e.removeDesiredTerm_(b,c);e.remakeResultsDiv_();componentHandler.upgradeDom();e.updateHashParameters_()})).input().checked=this.checkDesiredTerm_(b,c)};
461
- shakaDemo.Search.prototype.makeSelectInput_=function(a,b,c,d){var e=this;a.addRow(null,null);for(var f={},g=$jscomp.makeIterator(c),h=g.next();!h.done;h=g.next())h=h.value,f[h]=shakaDemoMain.getLocalizedString(h);var k=f["---"]="---";a=new shakaDemo.SelectInput(a,b,function(l){"---"!=l.value?e.addDesiredTerm_(l.value,d,c):e.removeDesiredTerm_(k,d);k=l.value;e.remakeResultsDiv_();componentHandler.upgradeDom();e.updateHashParameters_()},f);a.input().value="---";b=$jscomp.makeIterator(c);for(f=b.next();!f.done;f=
462
- b.next())if(f=f.value,this.checkDesiredTerm_(f,d)){k=a.input().value=f;break}};
463
- shakaDemo.Search.prototype.remakeSearchDiv_=function(a){shaka.util.Dom.removeAllChildren(a);var b=shakaAssets.Feature,c=shakaDemo.Search.TermType.FEATURE,d=shakaDemo.Search.TermType.DRM,e=shakaDemo.Search.TermType.SOURCE,f=new shakaDemo.InputContainer(a,null,shakaDemo.InputContainer.Style.FLEX,null);this.makeSelectInput_(f,shakaDemo.MessageIds.MANIFEST_SEARCH,[b.DASH,b.HLS],c);this.makeSelectInput_(f,shakaDemo.MessageIds.CONTAINER_SEARCH,[b.MP4,b.MP2TS,b.WEBM,b.CONTAINERLESS],c);this.makeSelectInput_(f,
464
- shakaDemo.MessageIds.DRM_SEARCH,Object.values(shakaAssets.KeySystem),d);this.makeSelectInput_(f,shakaDemo.MessageIds.SOURCE_SEARCH,Object.values(shakaAssets.Source).filter(function(g){return g!=shakaAssets.Source.CUSTOM}),e);this.makeSelectInput_(f,shakaDemo.MessageIds.LIVE_SEARCH,[b.LIVE,b.VOD],c);d=new shakaDemo.InputContainer(a,null,shakaDemo.InputContainer.Style.FLEX,null);this.makeBooleanInput_(d,b.HIGH_DEFINITION,c,shakaDemo.MessageIds.HIGH_DEFINITION_SEARCH);this.makeBooleanInput_(d,b.XLINK,
465
- c,shakaDemo.MessageIds.XLINK_SEARCH);this.makeBooleanInput_(d,b.SUBTITLES,c,shakaDemo.MessageIds.SUBTITLES_SEARCH);this.makeBooleanInput_(d,b.TRICK_MODE,c,shakaDemo.MessageIds.TRICK_MODE_SEARCH);this.makeBooleanInput_(d,b.SURROUND,c,shakaDemo.MessageIds.SURROUND_SEARCH);this.makeBooleanInput_(d,b.OFFLINE,c,shakaDemo.MessageIds.OFFLINE_SEARCH);this.makeBooleanInput_(d,b.STORED,c,shakaDemo.MessageIds.STORED_SEARCH);this.makeBooleanInput_(d,b.ADS,c,shakaDemo.MessageIds.AD_SEARCH);this.makeBooleanInput_(d,
466
- b.AUDIO_ONLY,c,shakaDemo.MessageIds.AUDIO_ONLY_SEARCH);this.makeBooleanInput_(d,b.THUMBNAILS,c,shakaDemo.MessageIds.THUMBNAILS);this.makeBooleanInput_(d,b.LCEVC,c,shakaDemo.MessageIds.LCEVC);a.appendChild(this.resultsDiv_)};
467
- shakaDemo.Search.prototype.searchResults_=function(){var a=this;return shakaAssets.testAssets.filter(function(b){if(b.disabled||a.desiredDRM_&&!b.drm.includes(a.desiredDRM_)||a.desiredSource_&&b.source!=a.desiredSource_)return!1;for(var c=$jscomp.makeIterator(a.desiredFeatures_),d=c.next();!d.done;d=c.next())if(d=d.value,d==shakaAssets.Feature.STORED){if(!b.isStored())return!1}else if(!b.features.includes(d))return!1;return!0})};shakaDemo.Search.TermType={FEATURE:"Feature",DRM:"DRM",SOURCE:"Source"};
468
- document.addEventListener("shaka-main-loaded",shakaDemo.Search.init);document.addEventListener("shaka-main-cleanup",function(){shakaDemoSearch=null});
186
+ forceTransmux:!0},lcevc:{enabled:!0,dynamicPerformanceScaling:!0,logLevel:0,drawLogo:!1}})];shakaDemo.Tooltips=class{static make(a,b){tippy(a,{content:shakaDemoMain.getLocalizedString(b),placement:"bottom",arrow:!0,animation:"scale",size:"large"})}};shakaDemo.AssetCard=class{constructor(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",
187
+ "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");
188
+ e.srcset=b.iconUri.replace(/.png$/,".webp");e.type="image/webp";const f=document.createElement("source");f.srcset=b.iconUri;f.type="image/png";const 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);
189
+ 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_.classList.add("progress-circle-svg");
190
+ this.progressCircleBack_.classList.add("progress-circle-back");this.progressCircleBar_.classList.add("progress-circle-bar");a.appendChild(this.card_);this.remakeButtons()}styleProgressCircle_(a){const 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))}addFeatureIcon_(a,b){const c=document.createElement("div");c.classList.add("feature-icon");c.setAttribute("icon",a);this.featureIconsContainer_.appendChild(c);
191
+ shakaDemo.Tooltips.make(c,b)}addFeatureIcons_(a){var b=shakaAssets.Feature;const 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.ADS,"ad").set(b.AUDIO_ONLY,"audio_only");for(const d of a.features){const e=b.get(d);e&&this.addFeatureIcon_(e,
192
+ d)}for(const d of a.drm)switch(d){case c.WIDEVINE:this.addFeatureIcon_("widevine",d);break;case c.CLEAR_KEY:this.addFeatureIcon_("clear_key",d);break;case c.PLAYREADY:this.addFeatureIcon_("playready",d)}}markAsUnsupported(a){this.card_.classList.add("asset-card-unsupported");this.makeUnsupportedButton_(shakaDemo.MessageIds.UNSUPPORTED,a)}makeUnsupportedButton_(a,b){a=this.addButton(a,()=>{});a.setAttribute("disabled","");const c=document.createElement("div");a.parentElement&&a.parentElement.removeChild(a);
193
+ c.classList.add("tooltip-attach-point");c.appendChild(a);this.actions_.appendChild(c);shakaDemo.Tooltips.make(c,b);return a}selectByAsset(a){this.card_.classList.remove("selected");this.asset_==a&&this.card_.classList.add("selected")}remakeButtons(){shaka.util.Dom.removeAllChildren(this.actions_);this.remakeButtonsFn_(this)}addStoreButton(){const a=(c,d,e)=>{d.classList.add("asset-card-corner-button");d=document.createElement("i");d.textContent=e;d.classList.add("material-icons-round");c.appendChild(d)};
194
+ var b=shakaDemoMain.getAssetUnsupportedReason(this.asset_,!0);b||goog.asserts.assert(this.asset_.storeCallback,"A storage callback is expected for all supported assets!");if(b)b=this.makeUnsupportedButton_(null,b),a(b,b.parentElement||b,"get_app");else if(this.asset_.isStored()){const c=this.addButton(null,()=>{this.attachDeleteDialog_(c)});a(c,c,"offline_pin")}else{const c=this.addButton(null,async()=>{c.disabled=!0;await this.asset_.storeCallback();this.remakeButtons()});a(c,c,"get_app")}}attachDeleteDialog_(a){const b=
195
+ this.card_.parentElement;b&&this.makeYesNoDialogue_(b,shakaDemo.MessageIds.DELETE_STORED_PROMPT,async()=>{a.disabled=!0;await this.asset_.unstoreCallback()})}makeYesNoDialogue_(a,b,c){const d=document.createElement("dialog");d.classList.add("mdl-dialog");a.appendChild(d);d.showModal||dialogPolyfill.registerDialog(d);a=document.createElement("h2");a.classList.add("mdl-typography--title");a.textContent=shakaDemoMain.getLocalizedString(b);d.appendChild(a);const e=document.createElement("div");d.appendChild(e);
196
+ b=(f,g)=>{const h=document.createElement("button");h.textContent=shakaDemoMain.getLocalizedString(f);h.classList.add("mdl-button");h.classList.add("mdl-button--colored");h.classList.add("mdl-js-button");h.classList.add("mdl-js-ripple-effect");h.addEventListener("click",()=>{g()});e.appendChild(h);h.blur()};b(shakaDemo.MessageIds.PROMPT_YES,async()=>{d.close();await c();this.remakeButtons()});b(shakaDemo.MessageIds.PROMPT_NO,()=>{d.close()});d.showModal()}updateProgress(){if(1>this.asset_.storedProgress){this.progressCircle_.classList.remove("hidden");
197
+ for(const a of this.actions_.childNodes)a instanceof HTMLButtonElement&&(a.disabled=!0)}else{this.progressCircle_.classList.add("hidden");for(const a of this.actions_.childNodes)a instanceof HTMLButtonElement&&(a.disabled=!1)}this.styleProgressCircle_(this.asset_.storedProgress)}addButton(a,b,c){const d=document.createElement("button");d.classList.add("mdl-button");d.classList.add("mdl-button--colored");d.classList.add("mdl-js-button");d.classList.add("mdl-js-ripple-effect");d.textContent=a?shakaDemoMain.getLocalizedString(a):
198
+ "";d.addEventListener("click",()=>{d.hasAttribute("disabled")||(c?this.makeYesNoDialogue_(this.actions_,c,b):b())});this.actions_.appendChild(d);return d}};shakaDemo.CloseButton=class extends shaka.ui.Element{constructor(a,b){super(a,b);this.button_=document.createElement("button");this.button_.classList.add("material-icons-round");this.button_.classList.add("close-button");this.button_.textContent="close";this.parent.appendChild(this.button_);this.button_.addEventListener("click",()=>{shakaDemoMain.unload()})}};shakaDemo.CloseButton.Factory=class{create(a,b){return new shakaDemo.CloseButton(a,b)}};shakaDemo.Input=class{constructor(a,b,c,d,e){this.container_=document.createElement(c);a.latestElementContainer.appendChild(this.container_);this.input_=document.createElement(b);this.input_.onchange=()=>{e(this.input_,this)};"textarea"==b&&(this.input_.oninput=()=>{e(this.input_,this)});this.input_.id=shakaDemo.Input.generateNewId_("input");this.container_.appendChild(this.input_);a.latestTooltip&&(b=document.createElement("span"),b.textContent=a.latestTooltip,b.classList.add("hidden"),b.id=shakaDemo.Input.generateNewId_("extra-info"),
199
+ this.container_.appendChild(b),this.input_.setAttribute("aria-describedby",b.id));this.extra_=null;d&&(this.extra_=document.createElement(d),this.container_.appendChild(this.extra_))}input(){return this.input_}container(){return this.container_}extra(){return this.extra_}setValid(a){a?(this.input_.setCustomValidity(""),this.container_.classList.remove("is-invalid")):(this.input_.setCustomValidity("invalid"),this.container_.parentElement.classList.add("is-invalid"))}static generateNewId_(a){const b=
200
+ shakaDemo.Input.lastId_;shakaDemo.Input.lastId_+=1;return a+"-labeled-"+b}};shakaDemo.Input.lastId_=0;
201
+ shakaDemo.SelectInput=class extends shakaDemo.Input{constructor(a,b,c,d){super(a,"select","div","label",c);this.container_.classList.add("mdl-textfield");this.container_.classList.add("mdl-js-textfield");this.container_.classList.add("mdl-textfield--floating-label");this.input_.classList.add("mdl-textfield__input");this.extra_.classList.add("mdl-textfield__label");this.extra_.setAttribute("for",this.input_.id);b&&(this.extra_.textContent=shakaDemoMain.getLocalizedString(b));for(const e of Object.keys(d))a=
202
+ document.createElement("option"),a.textContent=d[e],a.value=e,this.input_.appendChild(a)}};shakaDemo.BoolInput=class extends shakaDemo.Input{constructor(a,b,c){super(a,"input","label","span",c);this.input_.type="checkbox";this.container_.classList.add("mdl-switch");this.container_.classList.add("mdl-js-switch");this.container_.classList.add("mdl-js-ripple-effect");this.container_.setAttribute("for",this.input_.id);this.input_.classList.add("mdl-switch__input");this.extra_.classList.add("mdl-switch__label")}};
203
+ shakaDemo.TextInput=class extends shakaDemo.Input{constructor(a,b,c,d){super(a,d?"textarea":"input","div","label",c);this.container_.classList.add("mdl-textfield");this.container_.classList.add("mdl-js-textfield");this.container_.classList.add("mdl-textfield--floating-label");this.input_.classList.add("mdl-textfield__input");this.extra_.classList.add("mdl-textfield__label");this.extra_.setAttribute("for",this.input_.id)}};
204
+ shakaDemo.DatalistInput=class extends shakaDemo.TextInput{constructor(a,b,c,d){super(a,b,c,!1);const e=new Awesomplete(this.input_);e.list=d.slice();e.minChars=0;this.input_.addEventListener("focus",()=>{e.evaluate()});this.input_.addEventListener("awesomplete-selectcomplete",()=>{c(this.input_,this)})}};
205
+ shakaDemo.NumberInput=class extends shakaDemo.TextInput{constructor(a,b,c,d,e,f){super(a,b,c,!1);a=document.createElement("span");a.classList.add("mdl-textfield__error");this.container_.appendChild(a);b=shakaDemo.MessageIds;a.textContent=e&&d?shakaDemoMain.getLocalizedString(b.NUMBER_DECIMAL_WARNING):e?shakaDemoMain.getLocalizedString(b.NUMBER_INTEGER_WARNING):d?shakaDemoMain.getLocalizedString(b.NUMBER_NONZERO_DECIMAL_WARNING):shakaDemoMain.getLocalizedString(b.NUMBER_NONZERO_INTEGER_WARNING);this.input_.pattern=
206
+ "(Infinity|";this.input_.pattern=e?this.input_.pattern+"[0-9]*":this.input_.pattern+"[0-9]*[1-9][0-9]*";d&&(this.input_.pattern+="(.[0-9]+)?");this.input_.pattern+=")";f&&(this.input_.pattern+="?")}};shakaDemo.InputContainer=class{constructor(a,b,c,d){this.style_=c;this.table_=document.createElement("div");this.defaultRowClass_=null;this.numRows_=0;b&&this.createHeader_(a,b);this.table_.classList.add(c);c==shakaDemo.InputContainer.Style.ACCORDION&&this.table_.classList.add("hidden");a.appendChild(this.table_);d&&this.addDocLink_(this.table_,d)}getIsOpen(){return this.style_==shakaDemo.InputContainer.Style.ACCORDION?this.table_.classList.contains("show"):!1}open(){!this.style_!=shakaDemo.InputContainer.Style.ACCORDION&&
207
+ (this.table_.classList.remove("hidden"),setTimeout(()=>{this.table_.classList.add("show")},20),this.header_.classList.add("mdl-button--colored"))}close(){this.style_==shakaDemo.InputContainer.Style.ACCORDION&&(this.table_.classList.remove("show"),this.table_.addEventListener("transitionend",a=>{this.table_.classList.add("hidden")},{once:!0}),this.header_.classList.remove("mdl-button--colored"))}createHeader_(a,b){this.style_==shakaDemo.InputContainer.Style.ACCORDION?(this.header_=document.createElement("button"),
208
+ 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",()=>{this.getIsOpen()?this.close():this.open()})):(this.header_=document.createElement("div"),this.header_.classList.add("input-header"));this.header_.textContent=shakaDemoMain.getLocalizedString(b);a.appendChild(this.header_)}addDocLink_(a,b){const c=document.createElement("a");
209
+ 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");b=document.createElement("i");b.classList.add("material-icons-round");b.textContent="help";c.appendChild(b);a.appendChild(c)}setDefaultRowClass(a){this.defaultRowClass_=a}getClassList(){return this.table_.classList}addRow(a,b,c){c=c||this.defaultRowClass_||"";this.latestRow_=document.createElement("div");c&&this.latestRow_.classList.add(c);
210
+ this.table_.appendChild(this.latestRow_);c="input-container-row-"+this.numRows_;this.numRows_+=1;if(a){const d=document.createElement("label");d.setAttribute("for",c);d.classList.add("input-container-label");const e=document.createElement("b");e.textContent=shakaDemoMain.getLocalizedString(a);d.appendChild(e);this.latestRow_.appendChild(d)}this.latestElementContainer=document.createElement("div");this.latestRow_.appendChild(this.latestElementContainer);this.latestElementContainer.classList.add("input-container-row");
211
+ 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"};let shakaDemoConfig;
212
+ shakaDemo.Config=class{static init(){const a=shakaDemoMain.getHamburgerMenu();shakaDemoConfig=new shakaDemo.Config(a)}constructor(a){this.container_=a;this.sections_=[];this.latestInput_=null;this.reload_();document.addEventListener("shaka-main-config-change",()=>{this.reloadAndSaveState_()});document.addEventListener("shaka-main-locale-changed",()=>{this.reloadAndSaveState_()});document.addEventListener("shaka-main-drawer-state-change",()=>{this.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())});this.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())}setContentAvailability_(a){a?
213
+ this.container_.classList.remove("hidden"):this.container_.classList.add("hidden")}reload_(){shaka.util.Dom.removeAllChildren(this.container_);this.sections_=[];this.addMetaSection_();this.addLanguageSection_();this.addAbrSection_();this.addOfflineSection_();this.addDrmSection_();this.addStreamingSection_();this.addMediaSourceSection_();this.addManifestSection_();this.addRetrictionsSection_("",shakaDemo.MessageIds.RESTRICTIONS_SECTION_HEADER);this.addCmcdSection_();this.addLcevcSection_()}reloadAndSaveState_(){const a=
214
+ this.sections_.map(b=>b.getIsOpen());this.reload_();for(let b=0;b<a.length;b++){const c=this.sections_[b];a[b]&&c.open()}componentHandler.upgradeDom()}addDrmSection_(){const a=shakaDemo.MessageIds;var b=this.resolveExternLink_(".DrmConfiguration");this.addSection_(a.DRM_SECTION_HEADER,b).addBoolInput_(a.DELAY_LICENSE,"drm.delayLicenseRequestUntilPlayed").addBoolInput_(a.LOG_LICENSE_EXCHANGE,"drm.logLicenseExchange").addNumberInput_(a.UPDATE_EXPIRATION_TIME,"drm.updateExpirationTime",!0,!1,!0).addBoolInput_(a.PARSE_INBAND_PSSH_ENABLED,
215
+ "drm.parseInbandPsshEnabled");const c=shakaDemoMain.getConfiguration().drm.advanced||{};b=(e,f,g)=>{this.addDatalistInput_(e,g,h=>{for(const k of shakaDemo.Main.commonDrmSystems)k in c||(c[k]=shakaDemo.Main.defaultAdvancedDrmConfig());for(const k in c)c[k][f]=h.value;shakaDemoMain.configure("drm.advanced",c);shakaDemoMain.remakeHash()});if(e=Object.keys(c)[0])e=c[e][f],this.latestInput_.input().value=e};const d="SW_SECURE_CRYPTO SW_SECURE_DECODE HW_SECURE_CRYPTO HW_SECURE_DECODE HW_SECURE_ALL 150 2000 3000".split(" ");
216
+ b(a.VIDEO_ROBUSTNESS,"videoRobustness",d);b(a.AUDIO_ROBUSTNESS,"audioRobustness",d);b(a.DRM_SESSION_TYPE,"sessionType",["temporary","persistent-license"]);this.addRetrySection_("drm",a.DRM_RETRY_SECTION_HEADER)}addManifestSection_(){const a=shakaDemo.MessageIds,b=this.resolveExternLink_(".ManifestConfiguration");this.addSection_(a.MANIFEST_SECTION_HEADER,b).addBoolInput_(a.IGNORE_DASH_DRM,"manifest.dash.ignoreDrmInfo").addBoolInput_(a.AUTO_CORRECT_DASH_DRIFT,"manifest.dash.autoCorrectDrift").addBoolInput_(a.DISABLE_XLINK_PROCESSING,
217
+ "manifest.dash.disableXlinkProcessing").addBoolInput_(a.XLINK_FAIL_GRACEFULLY,"manifest.dash.xlinkFailGracefully").addBoolInput_(a.IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY,"manifest.dash.ignoreSuggestedPresentationDelay").addBoolInput_(a.IGNORE_DASH_EMPTY_ADAPTATION_SET,"manifest.dash.ignoreEmptyAdaptationSet").addBoolInput_(a.IGNORE_DASH_MAX_SEGMENT_DURATION,"manifest.dash.ignoreMaxSegmentDuration").addBoolInput_(a.IGNORE_HLS_TEXT_FAILURES,"manifest.hls.ignoreTextStreamFailures").addBoolInput_(a.IGNORE_HLS_IMAGE_FAILURES,
218
+ "manifest.hls.ignoreImageStreamFailures").addTextInput_(a.DEFAULT_AUDIO_CODEC,"manifest.hls.defaultAudioCodec").addTextInput_(a.DEFAULT_VIDEO_CODEC,"manifest.hls.defaultVideoCodec").addBoolInput_(a.IGNORE_MANIFEST_PROGRAM_DATE_TIME,"manifest.hls.ignoreManifestProgramDateTime").addBoolInput_(a.USE_SAFARI_BEHAVIOR_FOR_LIVE,"manifest.hls.useSafariBehaviorForLive").addNumberInput_(a.LIVE_SEGMENTS_DELAY,"manifest.hls.liveSegmentsDelay").addNumberInput_(a.AVAILABILITY_WINDOW_OVERRIDE,"manifest.availabilityWindowOverride",
219
+ !0,!1,!0).addTextInput_(a.CLOCK_SYNC_URI,"manifest.dash.clockSyncUri").addNumberInput_(a.DEFAULT_PRESENTATION_DELAY,"manifest.defaultPresentationDelay").addBoolInput_(a.IGNORE_MIN_BUFFER_TIME,"manifest.dash.ignoreMinBufferTime").addNumberInput_(a.INITIAL_SEGMENT_LIMIT,"manifest.dash.initialSegmentLimit",!1,!1,!0).addBoolInput_(a.SEQUENCE_MODE,"manifest.dash.sequenceMode").addBoolInput_(a.DISABLE_AUDIO,"manifest.disableAudio").addBoolInput_(a.DISABLE_VIDEO,"manifest.disableVideo").addBoolInput_(a.DISABLE_TEXT,
220
+ "manifest.disableText").addBoolInput_(a.DISABLE_THUMBNAILS,"manifest.disableThumbnails").addBoolInput_(a.SEGMENT_RELATIVE_VTT_TIMING,"manifest.segmentRelativeVttTiming");this.addRetrySection_("manifest",a.MANIFEST_RETRY_SECTION_HEADER)}addAbrSection_(){const a=shakaDemo.MessageIds,b=this.resolveExternLink_(".AbrConfiguration");this.addSection_(a.ADAPTATION_SECTION_HEADER,b).addBoolInput_(a.ENABLED,"abr.enabled").addBoolInput_(a.NETWORK_INFORMATION,"abr.useNetworkInformation").addNumberInput_(a.BANDWIDTH_ESTIMATE,
221
+ "abr.defaultBandwidthEstimate").addNumberInput_(a.BANDWIDTH_DOWNGRADE,"abr.bandwidthDowngradeTarget",!0).addNumberInput_(a.BANDWIDTH_UPGRADE,"abr.bandwidthUpgradeTarget",!0).addNumberInput_(a.SWITCH_INTERVAL,"abr.switchInterval",!0).addNumberInput_(a.MIN_TOTAL_BYTES,"abr.advanced.minTotalBytes").addNumberInput_(a.MIN_BYTES,"abr.advanced.minBytes").addNumberInput_(a.FAST_HALF_LIFE,"abr.advanced.fastHalfLife",!0).addNumberInput_(a.SLOW_HALF_LIFE,"abr.advanced.slowHalfLife",!0).addBoolInput_(a.RESTRICT_TO_ELEMENT_SIZE,
222
+ "abr.restrictToElementSize").addBoolInput_(a.RESTRICT_TO_SCREEN_SIZE,"abr.restrictToScreenSize").addBoolInput_(a.IGNORE_DEVICE_PIXEL_RATIO,"abr.ignoreDevicePixelRatio");this.addRetrictionsSection_("abr",a.ADAPTATION_RESTRICTIONS_SECTION_HEADER)}addCmcdSection_(){const a=shakaDemo.MessageIds,b=this.resolveExternLink_(".CmcdConfiguration");this.addSection_(a.CMCD_SECTION_HEADER,b).addBoolInput_(a.ENABLED,"cmcd.enabled").addTextInput_(a.SESSION_ID,"cmcd.sessionId").addTextInput_(a.CONTENT_ID,"cmcd.contentId").addBoolInput_(a.USE_HEADERS,
223
+ "cmcd.useHeaders")}addLcevcSection_(){const a=shakaDemo.MessageIds,b=this.resolveExternLink_(".LcevcConfiguration");this.addSection_(a.LCEVC_SECTION_HEADER,b).addBoolInput_(a.ENABLED,"lcevc.enabled").addBoolInput_(a.LCEVC_DYNAMIC_PERFORMANCE_SCALING,"lcevc.dynamicPerformanceScaling").addNumberInput_(a.LCEVC_LOG_LEVEL,"lcevc.logLevel").addBoolInput_(a.LCEVC_DRAW_LOGO,"lcevc.drawLogo")}addRetrictionsSection_(a,b){const c=shakaDemo.MessageIds;a=(a?a+".":"")+"restrictions.";const d=this.resolveExternLink_(".Restrictions");
224
+ this.addSection_(b,d).addNumberInput_(c.MIN_WIDTH,a+"minWidth").addNumberInput_(c.MAX_WIDTH,a+"maxWidth").addNumberInput_(c.MIN_HEIGHT,a+"minHeight").addNumberInput_(c.MAX_HEIGHT,a+"maxHeight").addNumberInput_(c.MIN_PIXELS,a+"minPixels").addNumberInput_(c.MAX_PIXELS,a+"maxPixels").addNumberInput_(c.MIN_FRAMERATE,a+"minFrameRate").addNumberInput_(c.MAX_FRAMERATE,a+"maxFrameRate").addNumberInput_(c.MIN_BANDWIDTH,a+"minBandwidth").addNumberInput_(c.MAX_BANDWIDTH,a+"maxBandwidth")}addRetrySection_(a,
225
+ b){const c=shakaDemo.MessageIds;a+=".retryParameters.";const d=this.resolveExternLink_(".RetryParameters");this.addSection_(b,d).addNumberInput_(c.MAX_ATTEMPTS,a+"maxAttempts").addNumberInput_(c.BASE_DELAY,a+"baseDelay",!0).addNumberInput_(c.BACKOFF_FACTOR,a+"backoffFactor",!0).addNumberInput_(c.FUZZ_FACTOR,a+"fuzzFactor",!0).addNumberInput_(c.TIMEOUT,a+"timeout",!0).addNumberInput_(c.STALL_TIMEOUT,a+"stallTimeout",!0).addNumberInput_(c.CONNECTION_TIMEOUT,a+"connectionTimeout",!0)}addOfflineSection_(){const a=
226
+ shakaDemo.MessageIds,b=this.resolveExternLink_(".OfflineConfiguration");this.addSection_(a.OFFLINE_SECTION_HEADER,b).addBoolInput_(a.USE_PERSISTENT_LICENSES,"offline.usePersistentLicense").addNumberInput_(a.NUMBER_OF_PARALLEL_DOWNLOADS,"offline.numberOfParallelDownloads")}addStreamingSection_(){const a=shakaDemo.MessageIds,b=this.resolveExternLink_(".StreamingConfiguration");this.addSection_(a.STREAMING_SECTION_HEADER,b).addNumberInput_(a.GAP_DETECTION_THRESHOLD,"streaming.gapDetectionThreshold",
227
+ !0).addNumberInput_(a.BUFFERING_GOAL,"streaming.bufferingGoal",!0).addNumberInput_(a.DURATION_BACKOFF,"streaming.durationBackoff",!0).addNumberInput_(a.REBUFFERING_GOAL,"streaming.rebufferingGoal",!0).addNumberInput_(a.BUFFER_BEHIND,"streaming.bufferBehind",!0).addNumberInput_(a.SAFE_SEEK_OFFSET,"streaming.safeSeekOffset",!0).addNumberInput_(a.STALL_THRESHOLD,"streaming.stallThreshold",!0).addNumberInput_(a.SAFE_SKIP_DISTANCE,"streaming.stallSkip",!0).addNumberInput_(a.INACCURATE_MANIFEST_TOLERANCE,
228
+ "streaming.inaccurateManifestTolerance",!0).addBoolInput_(a.LOW_LATENCY,"streaming.lowLatencyMode").addBoolInput_(a.AUTO_LOW_LATENCY,"streaming.autoLowLatencyMode").addBoolInput_(a.FORCE_HTTPS,"streaming.forceHTTPS").addBoolInput_(a.PREFER_NATIVE_HLS,"streaming.preferNativeHls").addNumberInput_(a.UPDATE_INTERVAL_SECONDS,"streaming.updateIntervalSeconds",!0).addBoolInput_(a.DISPATCH_ALL_EMSG_BOXES,"streaming.dispatchAllEmsgBoxes").addBoolInput_(a.OBSERVE_QUALITY_CHANGES,"streaming.observeQualityChanges").addNumberInput_(a.MAX_DISABLED_TIME,
229
+ "streaming.maxDisabledTime");shakaDemoMain.getNativeControlsEnabled()?(this.addCustomBoolInput_(a.ALWAYS_STREAM_TEXT,c=>{},a.ALWAYS_STREAM_TEXT_WARNING),this.latestInput_.input().disabled=!0,this.latestInput_.input().checked=!0):this.addBoolInput_(a.ALWAYS_STREAM_TEXT,"streaming.alwaysStreamText");this.addBoolInput_(a.FORCE_TRANSMUX,"streaming.forceTransmux").addBoolInput_(a.START_AT_SEGMENT_BOUNDARY,"streaming.startAtSegmentBoundary").addBoolInput_(a.IGNORE_TEXT_FAILURES,"streaming.ignoreTextStreamFailures").addBoolInput_(a.STALL_DETECTOR_ENABLED,
230
+ "streaming.stallEnabled").addBoolInput_(a.USE_NATIVE_HLS_SAFARI,"streaming.useNativeHlsOnSafari");this.addRetrySection_("streaming",a.STREAMING_RETRY_SECTION_HEADER)}addMediaSourceSection_(){const a=shakaDemo.MessageIds,b=this.resolveExternLink_(".MediaSourceConfiguration");this.addSection_(a.MEDIA_SOURCE_SECTION_HEADER,b).addTextInput_(a.SOURCE_BUFFER_EXTRA_FEATURES,"mediaSource.sourceBufferExtraFeatures")}addLanguageSection_(){const a=shakaDemo.MessageIds,b=this.resolveExternLink_(".PlayerConfiguration"),
231
+ c=shaka.config.AutoShowText,d={NEVER:shakaDemoMain.getLocalizedString(a.AUTO_SHOW_TEXT_NEVER),ALWAYS:shakaDemoMain.getLocalizedString(a.AUTO_SHOW_TEXT_ALWAYS),IF_PREFERRED_TEXT_LANGUAGE:shakaDemoMain.getLocalizedString(a.AUTO_SHOW_TEXT_IF_PREFERRED_TEXT_LANGUAGE),IF_SUBTITLES_MAY_BE_NEEDED:shakaDemoMain.getLocalizedString(a.AUTO_SHOW_TEXT_IF_SUBTITLES_MAY_BE_NEEDED)};this.addSection_(a.LANGUAGE_SECTION_HEADER,b).addTextInput_(a.AUDIO_LANGUAGE,"preferredAudioLanguage").addTextInput_(a.TEXT_LANGUAGE,
232
+ "preferredTextLanguage").addTextInput_(a.TEXT_ROLE,"preferredTextRole").addSelectInput_(a.AUTO_SHOW_TEXT,"autoShowText",c,d);this.addCustomTextInput_(a.UI_LOCALE,e=>{shakaDemoMain.setUILocale(e.value);shakaDemoMain.remakeHash()});this.latestInput_.input().value=shakaDemoMain.getUILocale();this.addNumberInput_(a.AUDIO_CHANNEL_COUNT,"preferredAudioChannelCount");this.addBoolInput_(a.PREFER_FORCED_SUBS,"preferForcedSubs")}addMetaSection_(){var a=shakaDemo.MessageIds;this.addSection_(null,null);this.addCustomBoolInput_(a.SHAKA_CONTROLS,
233
+ e=>{shakaDemoMain.setNativeControlsEnabled(!e.checked);e.checked&&(shakaDemoMain.configure("streaming.alwaysStreamText",!0),shakaDemoMain.remakeHash());this.reloadAndSaveState_()});shakaDemoMain.getNativeControlsEnabled()||(this.latestInput_.input().checked=!0);shakaDemoMain.getNativeControlsEnabled()?(this.addCustomBoolInput_(a.TRICK_PLAY_CONTROLS,e=>{},a.TRICK_PLAY_CONTROLS_WARNING),this.latestInput_.input().disabled=!0,this.latestInput_.input().checked=!1):(this.addCustomBoolInput_(a.TRICK_PLAY_CONTROLS,
234
+ e=>{shakaDemoMain.setTrickPlayControlsEnabled(e.checked)}),shakaDemoMain.getTrickPlayControlsEnabled()&&(this.latestInput_.input().checked=!0));if(shaka.log){var b=shaka.log.Level,c=shaka.log.setLevel,d={info:shakaDemoMain.getLocalizedString(a.LOG_LEVEL_INFO),debug:shakaDemoMain.getLocalizedString(a.LOG_LEVEL_DEBUG),v:shakaDemoMain.getLocalizedString(a.LOG_LEVEL_V),vv:shakaDemoMain.getLocalizedString(a.LOG_LEVEL_VV)};this.addCustomSelectInput_(a.LOG_LEVEL,d,e=>{switch(e.value){case "info":c(b.INFO);
235
+ break;case "debug":c(b.DEBUG);break;case "vv":c(b.V2);break;case "v":c(b.V1)}shakaDemoMain.remakeHash()});a=this.latestInput_.input();switch(shaka.log.currentLevel){case b.DEBUG:a.value="debug";break;case b.V2:a.value="vv";break;case b.V1:a.value="v";break;default:a.value="info"}}}resolveExternLink_(a){return"../docs/api/shaka.extern.html#"+a}addSection_(a,b){this.sections_.push(new shakaDemo.InputContainer(this.container_,a,a?shakaDemo.InputContainer.Style.ACCORDION:shakaDemo.InputContainer.Style.VERTICAL,
236
+ b));return this}addBoolInput_(a,b,c){this.addCustomBoolInput_(a,d=>{shakaDemoMain.configure(b,d.checked);shakaDemoMain.remakeHash()},c);shakaDemoMain.getCurrentConfigValue(b)&&(this.latestInput_.input().checked=!0);return this}addCustomBoolInput_(a,b,c){this.createRow_(a,c);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.BoolInput(this.getLatestSection_(),a,b);return this}addTextInput_(a,b,c){this.addCustomTextInput_(a,d=>{shakaDemoMain.configure(b,d.value);shakaDemoMain.remakeHash()},
237
+ c);this.latestInput_.input().value=shakaDemoMain.getCurrentConfigValue(b);return this}addCustomTextInput_(a,b,c){this.createRow_(a,c);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.TextInput(this.getLatestSection_(),a,b);return this}addNumberInput_(a,b,c=!1,d=!0,e=!1,f){this.createRow_(a,f);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.NumberInput(this.getLatestSection_(),a,g=>{shakaDemoMain.resetConfiguration(b);shakaDemoMain.remakeHash();"Infinity"==
238
+ g.value?(shakaDemoMain.configure(b,Infinity),shakaDemoMain.remakeHash()):""==g.value&&e||(g=Number(g.value),0==g&&!d||isNaN(g)||Math.floor(g)!=g&&!c||(shakaDemoMain.configure(b,g),shakaDemoMain.remakeHash()))},c,d,e);this.latestInput_.input().value=shakaDemoMain.getCurrentConfigValue(b);isNaN(Number(this.latestInput_.input().value))&&e&&(this.latestInput_.input().value="");return this}addDatalistInput_(a,b,c,d){this.createRow_(a,d);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.DatalistInput(this.getLatestSection_(),
239
+ a,c,b);return this}addCustomSelectInput_(a,b,c,d){this.createRow_(a,d);this.latestInput_=new shakaDemo.SelectInput(this.getLatestSection_(),null,c,b);return this}addSelectInput_(a,b,c,d,e){for(const f in c)f in d||(d[f]=f);this.addCustomSelectInput_(a,d,f=>{shakaDemoMain.configure(b,c[f.value]);shakaDemoMain.remakeHash()},e);a=shakaDemoMain.getCurrentConfigValue(b);for(const f in c)c[f]==a&&(this.latestInput_.input().value=f);return this}createRow_(a,b){this.getLatestSection_().addRow(a,b||null)}getLatestSection_(){goog.asserts.assert(0<
240
+ this.sections_.length,"Must have at least one section.");return this.sections_[this.sections_.length-1]}};document.addEventListener("shaka-main-loaded",shakaDemo.Config.init);document.addEventListener("shaka-main-cleanup",()=>{shakaDemoConfig=null});let shakaDemoCustom;
241
+ shakaDemo.Custom=class{static init(){const a=shakaDemoMain.addNavButton("custom");shakaDemoCustom=new shakaDemo.Custom(a.container)}constructor(a){this.dialog_=document.createElement("dialog");this.dialog_.classList.add("mdl-dialog");a.appendChild(this.dialog_);this.dialog_.showModal||dialogPolyfill.registerDialog(this.dialog_);this.assets_=this.loadAssetInfos_();this.assetCards_=[];this.savedList_=document.createElement("div");a.appendChild(this.savedList_);const b=document.createElement("div");b.classList.add("add-button-container");
242
+ a.appendChild(b);const c=this.makeButton_("add",shakaDemo.Custom.ButtonStyle_.FAB,()=>{this.showAssetDialog_(ShakaDemoAssetInfo.makeBlankAsset())});b.appendChild(c);document.addEventListener("shaka-main-selected-asset-changed",()=>{this.updateSelected_()});document.addEventListener("shaka-main-offline-progress",()=>{this.updateOfflineProgress_()});document.addEventListener("shaka-main-locale-changed",()=>{this.remakeSavedList_()});document.addEventListener("shaka-main-page-changed",()=>{this.savedList_.childNodes.length||
243
+ a.classList.contains("hidden")||this.remakeSavedList_()})}assets(){return Array.from(this.assets_)}updateOfflineProgress_(){for(const a of this.assetCards_)a.updateProgress()}makeField_(a,b,c,d,e){a.addRow(null,null);a=new shakaDemo.TextInput(a,b,d,e);a.extra().textContent=b;c(a.input(),a.container())}makeAssetDialogContentsHeaders_(a,b){const c=document.createElement("div"),d=[],e=(f,g)=>{const h=document.createElement("div");c.appendChild(h);const k=new shakaDemo.InputContainer(h,shakaDemo.MessageIds.LICENSE_HEADER_TITLE,
244
+ shakaDemo.InputContainer.Style.VERTICAL,null),l={headerName:f,div:h};d.push(l);let m=!f;const n=(q,r)=>{f&&a.licenseRequestHeaders.delete(f);f=q;l.headerName=q;g=r;if(f&&g){m&&(m=!1,e(null,null),componentHandler.upgradeDom());a.addLicenseRequestHeader(f,g);for(const t of d)if(t!=l&&f==t.headerName){q=d.indexOf(t);d.splice(q,1);c.removeChild(t.div);break}}else m||c.removeChild(h)};var p=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_HEADER_NAME);this.makeField_(k,p,(q,r)=>{f&&(q.value=
245
+ f)},q=>{n(q.value,g)});p=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_HEADER_VALUE);this.makeField_(k,p,(q,r)=>{g&&(q.value=g)},q=>{n(f,q.value)})};if(0!=a.licenseRequestHeaders.size)for(const f of a.licenseRequestHeaders.keys())e(f,a.licenseRequestHeaders.get(f));e(null,null);return c}makeAssetDialogContentsHLS_(a,b){b=document.createElement("div");const c=new shakaDemo.InputContainer(b,null,shakaDemo.InputContainer.Style.FLEX,null);c.getClassList().add("wide-input");c.setDefaultRowClass("wide-input");
246
+ const d=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.HLS_FULL_MIME_TYPE);this.makeField_(c,d,(e,f)=>{a.mediaPlaylistFullMimeType&&(e.value=a.mediaPlaylistFullMimeType);f=shaka.util.PlayerConfiguration.createDefault();e.placeholder=f.manifest.hls.mediaPlaylistFullMimeType},e=>{a.setMediaPlaylistFullMimeType(e.value)});return b}makeAssetDialogContentsAds_(a,b){b=document.createElement("div");const c=new shakaDemo.InputContainer(b,null,shakaDemo.InputContainer.Style.VERTICAL,null);var d=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.AD_TAG_URL);
247
+ this.makeField_(c,d,(e,f)=>{a.adTagUri&&(e.value=a.adTagUri)},e=>{a.adTagUri=e.value});d=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_CONTENT_SRC_ID);this.makeField_(c,d,(e,f)=>{a.imaContentSrcId&&(e.value=a.imaContentSrcId);this.manifestField_.required=this.checkManifestRequired_(a)},e=>{a.imaContentSrcId=e.value;this.manifestField_.required=this.checkManifestRequired_(a)});d=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_VIDEO_ID);this.makeField_(c,d,(e,f)=>{a.imaVideoId&&
248
+ (e.value=a.imaVideoId);this.manifestField_.required=this.checkManifestRequired_(a)},e=>{a.imaVideoId=e.value;this.manifestField_.required=this.checkManifestRequired_(a)});d=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_ASSET_KEY);this.makeField_(c,d,(e,f)=>{a.imaAssetKey&&(e.value=a.imaAssetKey);this.manifestField_.required=this.checkManifestRequired_(a)},e=>{a.imaAssetKey=e.value;this.manifestField_.required=this.checkManifestRequired_(a)});d=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_MANIFEST_TYPE);
249
+ this.makeField_(c,d,(e,f)=>{a.imaManifestType&&(e.value=a.imaManifestType);this.manifestField_.required=this.checkManifestRequired_(a)},e=>{a.imaManifestType=e.value;this.manifestField_.required=this.checkManifestRequired_(a)});return b}makeAssetDialogContentsDrm_(a,b){b=document.createElement("div");const c=new shakaDemo.InputContainer(b,null,shakaDemo.InputContainer.Style.VERTICAL,null);let d,e;const f=()=>{const h=d.value,k=e.value;if(h){a.licenseServers.clear();for(const l of shakaDemo.Main.commonDrmSystems)a.licenseServers.set(l,
250
+ h);k&&a.licenseServers.set(k,h)}else a.licenseServers.clear()};var g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_SERVER_URL);this.makeField_(c,g,(h,k)=>{d=h;(k=a.licenseServers.keys().next())&&k.value&&(h.value=a.licenseServers.get(k.value))},h=>{f()});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_CERTIFICATE_URL);this.makeField_(c,g,(h,k)=>{a.certificateUri&&(h.value=a.certificateUri)},h=>{a.certificateUri=h.value});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.DRM_SYSTEM);
251
+ this.makeField_(c,g,(h,k)=>{e=h;k=a.licenseServers.keys();for(const l of k)if(!shakaDemo.Main.commonDrmSystems.includes(l)){h.value=l;break}},h=>{f()});return b}makeAssetDialogContentsExtra_(a,b){const c=document.createElement("div"),d=new shakaDemo.InputContainer(c,null,shakaDemo.InputContainer.Style.FLEX,null);d.getClassList().add("wide-input");d.setDefaultRowClass("wide-input");const e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.EXTRA_SHAKA_PLAYER_CONFIG);this.makeField_(d,e,(f,g)=>{f.setAttribute("rows",
252
+ 10);a.extraConfig&&(f.value=JSON.stringify(a.extraConfig,null,2));b.push(f);f=document.createElement("span");f.classList.add("mdl-textfield__error");f.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.INVALID_JSON_CONFIG_ERROR);g.appendChild(f)},(f,g)=>{try{if(f.value){const h=JSON.parse(f.value);a.extraConfig=h}else a.extraConfig=null;g.setValid(!0)}catch(h){g.setValid(!1)}},!0);return c}makeAssetDialogContentsMain_(a,b,c){const d=document.createElement("div"),e=new shakaDemo.InputContainer(d,
253
+ null,shakaDemo.InputContainer.Style.VERTICAL,null);var f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL);this.makeField_(e,f,(g,h)=>{g.value=a.manifestUri;b.push(g);const k=document.createElement("span");k.classList.add("mdl-textfield__error");k.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL_ERROR);h.appendChild(k);g.required=this.checkManifestRequired_(a);g.pattern="^(?!([\r\n\t\f\v ]+)$).*$";this.manifestField_=g},g=>{a.manifestUri=g.value});f=
254
+ shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME);this.makeField_(e,f,(g,h)=>{g.value=a.name;b.push(g);const k=document.createElement("span");k.classList.add("mdl-textfield__error");k.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME_ERROR);h.appendChild(k);g.required=!0;g.pattern="^(?!( *";for(const l of this.assets_)l!=a&&(g.pattern+="|"+l.name.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));g.pattern+=")$).*$"},g=>{a.name=g.value});f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.ICON_URL);
255
+ this.makeField_(e,f,(g,h)=>{a.iconUri&&(g.value=a.iconUri,h=document.createElement("img"),h.src=g.value,h.alt="",c.appendChild(h))},g=>{shaka.util.Dom.removeAllChildren(c);if(a.iconUri=g.value){const h=document.createElement("img");h.src=g.value;h.alt="";c.appendChild(h)}});f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MIME_TYPE);this.makeField_(e,f,(g,h)=>{a.mimeType&&(g.value=a.mimeType)},g=>{a.mimeType=g.value||null});return d}checkManifestRequired_(a){return!(a.imaContentSrcId&&a.imaVideoId||
256
+ null!=a.imaAssetKey)}makeAssetDialogContentsFinish_(a,b){const c=document.createElement("tr"),d=shakaDemo.Custom.ButtonStyle_.RAISED;var e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.SAVE_BUTTON);c.appendChild(this.makeButton_(e,d,()=>{for(const f of b)if(!f.validity.valid)return;shakaDemoMain.setupOfflineSupport(a);this.assets_.add(a);this.saveAssetInfos_(this.assets_);this.remakeSavedList_();this.dialog_.close()}));e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CANCEL_BUTTON);
257
+ c.appendChild(this.makeButton_(e,d,()=>{this.dialog_.close()}));return c}showAssetDialog_(a){shaka.util.Dom.removeAllChildren(this.dialog_);var b=[];const c=document.createElement("div"),d=this.makeAssetDialogContentsMain_(a,b,c),e=this.makeAssetDialogContentsDrm_(a,b),f=this.makeAssetDialogContentsHeaders_(a,b),g=this.makeAssetDialogContentsAds_(a,b),h=this.makeAssetDialogContentsHLS_(a,b),k=this.makeAssetDialogContentsExtra_(a,b);a=this.makeAssetDialogContentsFinish_(a,b);const l=document.createElement("tr"),
258
+ m=[],n=[];b=(p,q,r)=>{const t=shakaDemo.Custom.ButtonStyle_.PLAIN;p=shakaDemoMain.getLocalizedString(p);const u=this.makeButton_(p,t,()=>{for(const v of m)v.classList.add("hidden");q.classList.remove("hidden");for(const v of n)v.classList.remove("mdl-button--accent");u.classList.add("mdl-button--accent")});l.appendChild(u);m.push(q);n.push(u);r?u.classList.add("mdl-button--accent"):q.classList.add("hidden")};b(shakaDemo.MessageIds.MAIN_TAB,d,!0);b(shakaDemo.MessageIds.DRM_TAB,e,!1);b(shakaDemo.MessageIds.HEADERS_TAB,
259
+ f,!1);b(shakaDemo.MessageIds.ADS_TAB,g,!1);b(shakaDemo.MessageIds.HLS_TAB,h,!1);b(shakaDemo.MessageIds.EXTRA_TAB,k,!1);this.dialog_.appendChild(l);this.dialog_.appendChild(d);this.dialog_.appendChild(e);this.dialog_.appendChild(f);this.dialog_.appendChild(g);this.dialog_.appendChild(h);this.dialog_.appendChild(k);this.dialog_.appendChild(a);this.dialog_.appendChild(c);componentHandler.upgradeDom();this.dialog_.showModal()}loadAssetInfos_(){var a=window.localStorage.getItem(shakaDemo.Custom.saveId_);
260
+ return a?(a=JSON.parse(a),new Set(a.map(b=>{b=ShakaDemoAssetInfo.fromJSON(b);shakaDemoMain.setupOfflineSupport(b);return b}))):new Set}saveAssetInfos_(a){const b=shakaDemo.Custom.saveId_;a=Array.from(a);window.localStorage.setItem(b,JSON.stringify(a))}makeButton_(a,b,c){const d=document.createElement("button");switch(b){case shakaDemo.Custom.ButtonStyle_.FAB:d.classList.add("mdl-button--fab");d.classList.add("mdl-button--colored");b=document.createElement("i");b.classList.add("material-icons-round");
261
+ b.textContent=a;d.appendChild(b);break;case shakaDemo.Custom.ButtonStyle_.RAISED:d.textContent=a;d.classList.add("mdl-button--raised");break;case shakaDemo.Custom.ButtonStyle_.PLAIN:d.textContent=a}d.addEventListener("click",c);d.classList.add("mdl-button");d.classList.add("mdl-js-button");d.classList.add("mdl-js-ripple-effect");return d}createAssetCardFor_(a){return new shakaDemo.AssetCard(this.savedList_,a,!1,b=>{b.addButton(shakaDemo.MessageIds.PLAY,()=>{shakaDemoMain.loadAsset(a);this.updateSelected_()});
262
+ b.addButton(shakaDemo.MessageIds.EDIT_CUSTOM,async()=>{a.unstoreCallback&&await a.unstoreCallback();this.showAssetDialog_(a)});b.addButton(shakaDemo.MessageIds.DELETE_CUSTOM,async()=>{this.assets_.delete(a);a.unstoreCallback&&await a.unstoreCallback();this.saveAssetInfos_(this.assets_);this.remakeSavedList_()},shakaDemo.MessageIds.DELETE_CUSTOM);b.addStoreButton()})}updateSelected_(){for(const a of this.assetCards_)a.selectByAsset(shakaDemoMain.selectedAsset)}remakeSavedList_(){shaka.util.Dom.removeAllChildren(this.savedList_);
263
+ if(0==this.assets_.size){const a=(b,c)=>{const d=document.createElement("h2");d.classList.add("mdl-typography--"+b);d.textContent=c;this.savedList_.appendChild(d)};a("title",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_ONE));a("body-2",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_TWO));a("body-1",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_THREE))}else this.assetCards_=Array.from(this.assets_).map(a=>this.createAssetCardFor_(a)),this.updateSelected_()}};
264
+ shakaDemo.Custom.ButtonStyle_={RAISED:0,FAB:1,PLAIN:2};shakaDemo.Custom.saveId_="shakaPlayerDemoSavedAssets";document.addEventListener("shaka-main-loaded",shakaDemo.Custom.init);document.addEventListener("shaka-main-cleanup",()=>{shakaDemoCustom=null});shakaDemo.Utils=class{static runThroughHashParams(a,b){const c=[],d=(k,l)=>{c.push(l);a(k,l)};d("audiolang","preferredAudioLanguage");d("textlang","preferredTextLanguage");d("textrole","preferredTextRole");d("channels","preferredAudioChannelCount");c.push("abr.enabled");c.push("drm.advanced");c.push("drm.servers");const e=[],f=[],g=k=>{for(const l in k){e.includes(l)&&!f.includes(l)&&f.push(l);e.push(l);const m=k[l];"number"!=typeof m&&"string"!=typeof m&&"boolean"!=typeof m&&g(m)}};g(b);const h=
265
+ (k,l)=>{for(const m in k){let n=m;const p=l+m;if(c.includes(p))continue;f.includes(m)&&(n=p);const q=k[m];"number"==typeof q||"string"==typeof q||"boolean"==typeof q?a(n,p):h(q,p+".")}};h(b,"")}static browserSupportsUncompiledMode(){try{return eval("async ()=>{}"),!0}catch(a){return!1}}};let shakaDemoFront;
266
+ shakaDemo.Front=class{static init(){const a=shakaDemoMain.addNavButton("front");shakaDemoFront=new shakaDemo.Front(a.container)}constructor(a){this.assetCards_=[];this.messageDiv_=document.createElement("div");this.assetCardDiv_=document.createElement("div");a.appendChild(this.messageDiv_);this.makeMessage_();a.appendChild(this.assetCardDiv_);document.addEventListener("shaka-main-selected-asset-changed",()=>{this.updateSelected_()});document.addEventListener("shaka-main-offline-progress",()=>{this.updateOfflineProgress_()});
267
+ document.addEventListener("shaka-main-locale-changed",()=>{this.remakeAssetCards_()});document.addEventListener("shaka-main-page-changed",()=>{this.assetCardDiv_.childNodes.length||a.classList.contains("hidden")||this.remakeAssetCards_()})}makeMessage_(){if(!window.localStorage.getItem("shakaPlayerHideFrontMessage")){var a=(b,c)=>{const d=document.createElement("h2");d.classList.add("mdl-typography--"+b);d.textContent=shakaDemoMain.getLocalizedString(c);this.messageDiv_.appendChild(d)};a("body-2",
268
+ shakaDemo.MessageIds.FRONT_INTRO_ONE);a("body-1",shakaDemo.MessageIds.FRONT_INTRO_TWO);a=document.createElement("button");a.classList.add("mdl-button");a.classList.add("mdl-button--colored");a.classList.add("mdl-js-button");a.classList.add("mdl-js-ripple-effect");a.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.FRONT_INTRO_DISMISS);a.addEventListener("click",()=>{shaka.util.Dom.removeAllChildren(this.messageDiv_);window.localStorage.setItem("shakaPlayerHideFrontMessage","true")});
269
+ this.messageDiv_.appendChild(a)}}remakeAssetCards_(){shaka.util.Dom.removeAllChildren(this.assetCardDiv_);this.assetCards_=shakaAssets.testAssets.filter(a=>a.isFeatured&&!a.disabled).map(a=>this.createAssetCardFor_(a,this.assetCardDiv_));this.updateSelected_()}createAssetCardFor_(a,b){return new shakaDemo.AssetCard(b,a,!0,c=>{const d=shakaDemoMain.getAssetUnsupportedReason(a,!1);d?c.markAsUnsupported(d):(c.addButton(shakaDemo.MessageIds.PLAY,()=>{shakaDemoMain.loadAsset(a);this.updateSelected_()}),
270
+ c.addStoreButton())})}updateOfflineProgress_(){for(const a of this.assetCards_)a.updateProgress()}updateSelected_(){for(const a of this.assetCards_)a.selectByAsset(shakaDemoMain.selectedAsset)}};document.addEventListener("shaka-main-loaded",shakaDemo.Front.init);document.addEventListener("shaka-main-cleanup",()=>{shakaDemoFront=null});shakaDemo.Visualizer=class{constructor(a,b,c,d,e,f){this.canvas_=a;this.div_=b;this.active=!1;this.screenshotDiv_=c;this.video_=e;this.player_=f;this.takeAutoScreenshots_=!1;this.timer_=new shaka.util.Timer(()=>{this.ageUpdates_();this.updateCanvas_();this.takeAutomaticScreenshots_()});this.colorIOffset_=this.lastCurrentTime_=0;this.autoScreenshotTaken_=!1;this.updates_=[];f.addEventListener("segmentappended",g=>{this.updates_.push({age:0,start:g.start,end:g.end,contentType:g.contentType})});a=new shakaDemo.InputContainer(d,
271
+ null,shakaDemo.InputContainer.Style.VERTICAL,null);a.addRow(null,null);this.screenshotButton_=document.createElement("button");a.latestElementContainer.appendChild(this.screenshotButton_);this.screenshotButton_.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.VISUALIZER_SCREENSHOT_BUTTON);this.screenshotButton_.classList.add("mdl-button");this.screenshotButton_.classList.add("mdl-button--colored");this.screenshotButton_.classList.add("mdl-js-button");this.screenshotButton_.classList.add("mdl-js-ripple-effect");
272
+ this.screenshotButton_.addEventListener("click",()=>{this.takeScreenshot_()});a.addRow(shakaDemo.MessageIds.VISUALIZER_AUTO_SCREENSHOT_TOGGLE,null);this.autoScreenshotToggle_=new shakaDemo.BoolInput(a,shakaDemo.MessageIds.VISUALIZER_AUTO_SCREENSHOT_TOGGLE,g=>{this.takeAutoScreenshots_=g.checked})}start(){this.timer_.tickEvery(shakaDemo.Visualizer.updateFrequency_);this.div_.classList.remove("hidden");this.autoScreenshotTaken_=!0}stop(){this.timer_.stop();this.div_.classList.add("hidden");this.updates_=
273
+ []}drawBufferInfoCanvasBar_(a,b,c,d,e,f){const g=b.filter(t=>t.replaceAll("F","A").replaceAll("0","4")),h=t=>Math.round((t-this.video_.currentTime)*e+this.canvas_.width/2),k=Math.floor(d/4);a.textAlign="center";a.font="bold "+k+"px serif";a.textBaseline="bottom";var l=e>4*k;for(var m of this.updates_){var n=h(m.start),p=h(m.end);if(0<=p&&n<this.canvas_.width){n=Math.max(n,0);p=Math.min(p,this.canvas_.width);a.fillStyle="#FFFFFF";a.globalAlpha=.1+.2*(1-m.age/shakaDemo.Visualizer.maxUpdateAge_);a.fillRect(n,
274
+ c,p-n,d);a.globalAlpha=1;var q=m.contentType.toUpperCase();l||(q=q[0]);n+=(p-n)/2;p=c+d;switch(m.contentType){case "video":p-=2*k;break;case "audio":p-=k}a.fillText(q,n,p)}}l=this.player_.getConfiguration().streaming.gapDetectionThreshold;for(m=0;m<this.video_.buffered.length;m++){var r=h(this.video_.buffered.start(m));q=h(this.video_.buffered.end(m));if(0<=q&&r<this.canvas_.width){r=Math.max(r,0);q=Math.min(q,this.canvas_.width);n=(m-f+this.colorIOffset_+1E4*b.length)%b.length;p=(d-3*k)/b.length;
275
+ const t=c+n*p;a.fillStyle=b[n];a.fillRect(r,t,q-r,p);r=Math.max(r,h(this.video_.buffered.end(m)-l));a.fillStyle=g[n];a.fillRect(r,t,q-r,p)}}}takeAutomaticScreenshots_(){2>=this.video_.readyState?!this.autoScreenshotTaken_&&this.takeAutoScreenshots_&&(this.takeScreenshot_(),this.autoScreenshotTaken_=!0):this.autoScreenshotTaken_=!1}ageUpdates_(){for(const a of this.updates_)a.age+=shakaDemo.Visualizer.updateFrequency_;this.updates_=this.updates_.filter(a=>a.age<shakaDemo.Visualizer.maxUpdateAge_)}takeScreenshot_(){shaka.util.Dom.removeAllChildren(this.screenshotDiv_);
276
+ const a=document.createElement("canvas");a.width=this.canvas_.width;a.height=this.canvas_.height;a.getContext("2d").drawImage(this.canvas_,0,0);this.screenshotDiv_.appendChild(a)}updateCanvas_(){this.canvas_.width=this.canvas_.offsetWidth;this.canvas_.height=this.canvas_.offsetHeight;const a=this.canvas_.getContext("2d");a.imageSmoothingEnabled=!1;a.fillStyle="#000000";a.fillRect(0,0,this.canvas_.width,this.canvas_.height);const b=["#FF0000","#00FF00","#0000FF"];let c=-1;var d=-1,e=this.lastCurrentTime_,
277
+ f=this.video_.currentTime,g=this.video_.buffered;for(let h=0;h<g.length;h++)e>=g.start(h)&&e<=g.end(h)&&(d=h),f>=g.start(h)&&f<=g.end(h)&&(c=h);this.lastCurrentTime_=f;-1!=c&&-1!=d&&(this.colorIOffset_+=c-d);d=[50,5];e=this.canvas_.height/d.length;for(f=0;f<d.length;f++)g=.75*e,this.drawBufferInfoCanvasBar_(a,b,e*f+(e-g)/2,g,d[f],c);a.fillStyle="#FFFFFF";a.fillRect(this.canvas_.width/2-1,0,2,this.canvas_.height)}};shakaDemo.Visualizer.maxUpdateAge_=20;shakaDemo.Visualizer.updateFrequency_=.05;shakaDemo.VisualizerButton=class extends shaka.ui.Element{constructor(a,b){super(a,b);this.button_=document.createElement("button");this.button_.classList.add("shaka-pip-button");this.button_.classList.add("shaka-tooltip");this.icon_=document.createElement("i");this.icon_.classList.add("material-icons-round");this.setIcon_();this.button_.appendChild(this.icon_);a=document.createElement("label");a.classList.add("shaka-overflow-button-label");a.classList.add("shaka-overflow-menu-only");this.nameSpan_=
278
+ document.createElement("span");a.appendChild(this.nameSpan_);this.currentPipState_=document.createElement("span");this.currentPipState_.classList.add("shaka-current-selection-span");a.appendChild(this.currentPipState_);this.button_.appendChild(a);this.parent.appendChild(this.button_);this.eventManager.listen(this.button_,"click",()=>{shakaDemoMain.setIsVisualizerActive(!shakaDemoMain.getIsVisualizerActive());this.setIcon_()});this.eventManager.listen(this.localization,shaka.ui.Localization.LOCALE_UPDATED,
279
+ ()=>{this.updateLocalizedStrings_()});this.eventManager.listen(this.localization,shaka.ui.Localization.LOCALE_CHANGED,()=>{this.updateLocalizedStrings_()})}updateLocalizedStrings_(){this.nameSpan_.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.VISUALIZER_BUTTON)}setIcon_(){shakaDemoMain.getIsVisualizerActive()?this.icon_.textContent="bar_chart":this.icon_.textContent="add_chart"}};shakaDemo.VisualizerButton.Factory=class{create(a,b){return new shakaDemo.VisualizerButton(a,b)}};shakaDemo.Main=class{constructor(){this.localization_=this.selectedAsset=this.player_=this.container_=this.video_=null;this.fullyLoaded_=!1;this.controls_=null;this.nativeControlsEnabled_=this.trickPlayControlsEnabled_=!1;this.uiLocale_="";this.noInput_=!1;this.errorDisplayLink_=document.getElementById("error-display-link");this.currentErrorSeverity_=null;MaterialLayout.prototype.Constant_.MENU_ICON="settings";this.visualizer_=null}initCommon_(){window.addEventListener("error",a=>{if(!a.message.includes("cvox.Api"))this.onError_(a.error)});
280
+ document.getElementById("error-display-close-button").addEventListener("click",a=>this.closeError_());this.setUpVersionStrings_()}async initFailed(a){this.initCommon_();this.makeVersionLinks_();document.getElementById("error-display-close-button").style.display="none";componentHandler.upgradeDom();var b=[];for(var c of document.getElementsByClassName("should-disable-on-fail"))b.push(c);for(var d of document.getElementsByClassName("mdl-layout__drawer-button"))b.push(d);for(const e of b)e.tabIndex=
281
+ -1,e.classList.add("disabled-by-fail");this.localization_=new shaka.ui.Localization("en");this.localization_.changeLocale(navigator.languages||[]);await this.setupLocalization_();b=shaka.util.Error.Severity.CRITICAL;d=c="";switch(a){case shaka.ui.Overlay.FailReasonCode.NO_BROWSER_SUPPORT:d=this.getLocalizedString(shakaDemo.MessageIds.FAILURE_NO_BROWSER_SUPPORT);c="https://github.com/shaka-project/shaka-player#platform-and-browser-support-matrix";break;case shaka.ui.Overlay.FailReasonCode.PLAYER_FAILED_TO_LOAD:d=
282
+ this.getLocalizedString(shakaDemo.MessageIds.FAILURE_MISC)}this.handleError_(b,d,c)}async init(){this.initCommon_();this.support_=await shaka.Player.probeSupport();this.video_=document.getElementById("video");this.video_.poster=shakaDemo.Main.mainPoster_;this.container_=document.getElementsByClassName("video-container")[0];navigator.serviceWorker&&(console.debug("Registering service worker."),navigator.serviceWorker.register("service_worker.js"));this.noInput_="noinput"in this.getParams_();await this.setupPlayer_();
283
+ this.readHash_();window.addEventListener("hashchange",()=>this.hashChanged_());await this.setupStorage_();this.setupBugButton_();if(this.noInput_){for(var a of document.getElementsByClassName("should-hide-in-no-input-mode"))this.hideElement_(a);for(var b of document.getElementsByClassName("should-show-in-no-input-mode"))this.showElement_(b);this.container_.classList.add("no-input-sized");document.getElementById("video-bar").classList.add("no-input-sized")}else{goog.asserts.assert(this.player_,"Player should exist by now.");
284
+ a=document.getElementById("visualizer-canvas");b=document.getElementById("visualizer-div");const c=document.getElementById("visualizer-controls-div"),d=document.getElementById("visualizer-screenshot-div");this.visualizer_=new shakaDemo.Visualizer(a,b,d,c,this.video_,this.player_)}this.dispatchEventWithName_("shaka-main-loaded");await Promise.resolve();componentHandler.upgradeDom();a=this.getLastAssetFromHash_();this.fullyLoaded_=!0;this.remakeHash();a&&!this.selectedAsset&&this.loadAsset(a)}async loadText_(a){const b=
285
+ new shaka.net.NetworkingEngine,c=shaka.net.NetworkingEngine.defaultRetryParameters();a=shaka.net.NetworkingEngine.makeRequest([a],c);a=await b.request(shaka.net.NetworkingEngine.RequestType.APP,a).promise;a=shaka.util.StringUtils.fromUTF8(a.data);await b.destroy();return a}async reportBug_(){var a=await this.loadText_("autoTemplate.txt");a=a.replace("RE:player",shaka.Player.version);a=a.replace("RE:link",window.location.href);a=a.replace("RE:browser",navigator.userAgent);if(this.selectedAsset&&this.selectedAsset.source==
286
+ shakaAssets.Source.CUSTOM){const b=await this.loadText_("customWarning.txt");a=a.replace("RE:customwarning",b)}else a=a.replace("RE:customwarning\n","");a="https://github.com/shaka-project/shaka-player/issues/new?body="+encodeURIComponent(a);window.open(a,"_blank")}setupBugButton_(){const a=document.getElementById("bug-button");a.addEventListener("click",()=>this.reportBug_());navigator.onLine||a.setAttribute("disabled","");window.addEventListener("online",()=>{a.removeAttribute("disabled")});window.addEventListener("offline",
287
+ ()=>{a.setAttribute("disabled","")})}configureUI_(){const a=this.video_.ui,b=a.getConfiguration();b.addSeekBar=!0;b.controlPanelElements=b.controlPanelElements.filter(c=>"rewind"!=c&&"fast_forward"!=c);if(this.trickPlayControlsEnabled_){b.addSeekBar=!1;const c=b.controlPanelElements.indexOf("play_pause");b.controlPanelElements.splice(c,1,"rewind","play_pause","fast_forward")}b.controlPanelElements.includes("close")||b.controlPanelElements.push("close");b.overflowMenuButtons.includes("visualizer")||
288
+ b.overflowMenuButtons.push("visualizer");a.configure(b)}async setupPlayer_(){var a=this.video_.ui;this.player_=a.getControls().getPlayer();if(!this.noInput_){var b=new shakaDemo.CloseButton.Factory;shaka.ui.Controls.registerElement("close",b);b=new shakaDemo.VisualizerButton.Factory;shaka.ui.OverflowMenu.registerElement("visualizer",b);this.configureUI_()}this.player_.configure("manifest.dash.clockSyncUri","https://shaka-player-demo.appspot.com/time.txt");this.defaultConfig_=this.player_.getConfiguration();
289
+ this.desiredConfig_=this.player_.getConfiguration();b=navigator.languages||["en-us"];this.configure("preferredAudioLanguage",b[0]);this.configure("preferredTextLanguage",b[0]);this.uiLocale_=b[0];b=e=>this.onErrorEvent_(e);this.player_.addEventListener("error",b);this.controls_=a.getControls();this.controls_.addEventListener("error",b);this.controls_.addEventListener("caststatuschanged",e=>{this.onCastStatusChange_(e.newStatus)});this.localization_=this.controls_.getLocalization();await this.setupLocalization_();
290
+ const c=document.getElementById("drawer-close-button");c.addEventListener("click",()=>{document.getElementById("main-layout").MaterialLayout.toggleDrawer();this.dispatchEventWithName_("shaka-main-drawer-state-change");this.hideElement_(c)});a=document.querySelector(".mdl-layout__drawer-button");goog.asserts.assert(a,"There should be a drawer button.");const d=()=>{this.dispatchEventWithName_("shaka-main-drawer-state-change");this.showElement_(c)};a.addEventListener("click",d);a.addEventListener("keydown",
291
+ e=>{e=e.key;" "!=e&&"Spacebar"!=e&&"Enter"!=e||d()});a=document.querySelector(".mdl-layout__obfuscator");goog.asserts.assert(a,"There should be an obfuscator.");a.addEventListener("click",()=>{this.dispatchEventWithName_("shaka-main-drawer-state-change");this.hideElement_(c)});this.hideElement_(c)}async setupLocalization_(){const a=()=>{this.localizeHTMLElements_();this.dispatchEventWithName_("shaka-main-locale-changed")};this.localization_.addEventListener(shaka.ui.Localization.UNKNOWN_LOCALES,c=>
292
+ {for(const d of c.locales)this.loadUILocale_(d).then(()=>{d==this.uiLocale_&&a()})});this.localization_.addEventListener(shaka.ui.Localization.LOCALE_CHANGED,c=>{a()});const b=[];b.push(this.loadUILocale_(this.uiLocale_));this.uiLocale_.includes("-")&&b.push(this.loadUILocale_(this.uiLocale_.split("-")[0]));this.uiLocale_.startsWith("en")||b.push(this.loadUILocale_("en"));await Promise.all(b);this.localizeHTMLElements_()}getIsDrawerOpen(){const a=document.querySelector(".mdl-layout__drawer");goog.asserts.assert(a,
293
+ "There should be a drawer.");return a.classList.contains("is-visible")}getIdentifierFromAsset_(a){return a.name+(a.source==shakaAssets.Source.CUSTOM?" [CUSTOM]":"")}makeStorageInstance_(){if(!shaka.offline.Storage.support())return null;const a=new shaka.offline.Storage,b=c=>{for(const d of shakaAssets.testAssets)if(this.getIdentifierFromAsset_(d)==c)return d;if(shakaDemoCustom)for(const d of shakaDemoCustom.assets())if(this.getIdentifierFromAsset_(d)==c)return d;return null};a.configure(this.desiredConfig_);
294
+ a.configure("offline.progressCallback",(c,d)=>{if(c=b(c.appMetadata.identifier))c.storedProgress=d,this.dispatchEventWithName_("shaka-main-offline-progress")});return a}setupOfflineSupport(a){if(this.initialStoredList_){a.storedContent=null;for(const b of this.initialStoredList_){const c=b.appMetadata.identifier;this.getIdentifierFromAsset_(a)==c&&(a.storedContent=b)}a.storeCallback=async()=>{const b=this.makeStorageInstance_();if(b){try{await this.drmConfiguration_(a,b);const c={identifier:this.getIdentifierFromAsset_(a),
295
+ downloaded:new Date};a.storedProgress=0;this.dispatchEventWithName_("shaka-main-offline-progress");const d=Date.now(),e=await b.store(a.manifestUri,c).promise,f=Date.now();console.log("Download time:",f-d);a.storedContent=e}catch(c){this.onError_(c),a.storedContent=null}b.destroy();a.storedProgress=1;this.dispatchEventWithName_("shaka-main-offline-progress")}};a.unstoreCallback=async()=>{a==this.selectedAsset&&this.unload();if(a.storedContent&&a.storedContent.offlineUri){const b=this.makeStorageInstance_();
296
+ if(b){try{a.storedProgress=0,this.dispatchEventWithName_("shaka-main-offline-progress"),await b.remove(a.storedContent.offlineUri),a.storedContent=null}catch(c){this.onError_(c)}b.destroy();a.storedProgress=1;this.dispatchEventWithName_("shaka-main-offline-progress")}}}}}async setupStorage_(){const a=this.makeStorageInstance_();if(a){try{this.initialStoredList_=await a.list()}catch(b){console.error(b),this.initialStoredList_=null}finally{a.destroy()}for(const b of shakaAssets.testAssets)this.getAssetUnsupportedReason(b,
297
+ !0)||this.setupOfflineSupport(b)}}hashChanged_(){this.readHash_();this.dispatchEventWithName_("shaka-main-config-change")}getAssetUnsupportedReason(a,b){if(b&&(!shaka.offline.Storage.support()||!this.initialStoredList_))return shakaDemo.MessageIds.UNSUPPORTED_NO_OFFLINE;if(a.source==shakaAssets.Source.CUSTOM)return null;if(a.disabled)return shakaDemo.MessageIds.UNSUPPORTED_DISABLED;if(b&&!a.features.includes(shakaAssets.Feature.OFFLINE))return shakaDemo.MessageIds.UNSUPPORTED_NO_DOWNLOAD;if(!a.isClear()){if(!a.drm.some(c=>
298
+ this.support_.drm[shakaAssets.identifierForKeySystem(c)]))return shakaDemo.MessageIds.UNSUPPORTED_NO_KEY_SUPPORT;if(b&&!a.drm.some(c=>{c=shakaAssets.identifierForKeySystem(c);return this.support_.drm[c]&&this.support_.drm[c].persistentState}))return shakaDemo.MessageIds.UNSUPPORTED_NO_LICENSE_SUPPORT}if(a.features.includes(shakaAssets.Feature.DASH)&&!this.support_.manifest.mpd)return shakaDemo.MessageIds.UNSUPPORTED_NO_DASH_SUPPORT;if(a.features.includes(shakaAssets.Feature.HLS)&&!this.support_.manifest.m3u8)return shakaDemo.MessageIds.UNSUPPORTED_NO_HLS_SUPPORT;
299
+ b=[];a.features.includes(shakaAssets.Feature.WEBM)&&b.push("video/webm");a.features.includes(shakaAssets.Feature.MP4)&&b.push("video/mp4");a.features.includes(shakaAssets.Feature.MP2TS)&&b.push("video/mp2t");a.features.includes(shakaAssets.Feature.CONTAINERLESS)&&b.push("audio/aac");return b.some(c=>this.support_.media[c])?null:shakaDemo.MessageIds.UNSUPPORTED_NO_FORMAT_SUPPORT}setTrickPlayControlsEnabled(a){this.trickPlayControlsEnabled_=a;this.configureUI_();this.remakeHash()}getTrickPlayControlsEnabled(){return this.trickPlayControlsEnabled_}setNativeControlsEnabled(a){this.nativeControlsEnabled_=
300
+ a;this.remakeHash()}getNativeControlsEnabled(){return this.nativeControlsEnabled_}localizeHTMLElements_(){for(const b of document.querySelectorAll("[localized-string]")){var a=b.getAttribute("localized-string");if(a=shakaDemo.MessageIds[a])b.textContent=this.getLocalizedString(a)}}getLocalizedString(a){return this.localization_.resolve(a)}async loadUILocale_(a){if(a){var b=async c=>{c=c+"/locales/"+a+".json";try{const d=await this.loadText_(c),e=JSON.parse(d),f=new Map(Object.entries(e));this.localization_.insert(a,
301
+ f)}catch(d){console.warn("Unable to load locale",a,"for url",c)}};await Promise.all([b("../ui"),b("../demo")])}}setUILocale(a){this.uiLocale_=a;a=[a].concat(navigator.languages);this.localization_.changeLocale(a)}getUILocale(){return this.uiLocale_}getLastAssetFromHash_(){const a=this.getParams_();var b=a.asset,c=a.adTagUri;if(b){for(const d of shakaAssets.testAssets)if(d.manifestUri==b&&d.adTagUri==c)return d;for(const d of shakaDemoCustom.assets())if(d.manifestUri==b)return d;b=new ShakaDemoAssetInfo("loaded asset",
302
+ "",b,shakaAssets.Source.CUSTOM);if("license"in a){c=shakaDemo.Main.commonDrmSystems;"drmSystem"in a&&(c=[a.drmSystem]);for(const d of c)b.addLicenseServer(d,a.license)}"certificate"in a&&b.addCertificateUri(a.certificate);return b}return null}readHash_(){const a=this.getParams_();if(this.player_){var b=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams((d,e)=>{if(d in a){const f=this.getCurrentConfigValue(e);d=a[d];"boolean"==typeof f?d="true"==d:"number"==typeof f&&(d=parseFloat(d));
303
+ this.configure(e,d)}},b);if(b=this.getCurrentConfigValue("drm.advanced"))for(var c of shakaDemo.Main.commonDrmSystems)b[c]||(b[c]=shakaDemo.Main.defaultAdvancedDrmConfig()),"videoRobustness"in a&&(b[c].videoRobustness=a.videoRobustness),"audioRobustness"in a&&(b[c].audioRobustness=a.audioRobustness)}"lang"in a&&(c=a.lang,this.configure("preferredAudioLanguage",c),this.configure("preferredTextLanguage",c),this.setUILocale(c));"uilang"in a&&this.setUILocale(a.uilang);"noadaptation"in a&&this.configure("abr.enabled",
304
+ !1);this.makeVersionLinks_();this.nativeControlsEnabled_="nativecontrols"in a;"trickplay"in a&&(this.trickPlayControlsEnabled_=!0,this.configureUI_());shakaDemo.Utils.browserSupportsUncompiledMode()||(c=document.getElementById("uncompiled-link"),goog.asserts.assert(c instanceof HTMLAnchorElement,"Wrong element type!"),c.setAttribute("disabled",""),c.removeAttribute("href"),c.title="requires a newer browser");shaka.log&&("vv"in a?shaka.log.setLevel(shaka.log.Level.V2):"v"in a?shaka.log.setLevel(shaka.log.Level.V1):
305
+ "debug"in a?shaka.log.setLevel(shaka.log.Level.DEBUG):"info"in a&&shaka.log.setLevel(shaka.log.Level.INFO))}makeVersionLinks_(){var a=this.getParams_();let b="uncompiled";"build"in a?b=a.build:"compiled"in a&&(b="compiled");for(const c of["compiled","debug_compiled","uncompiled"])a=document.getElementById(c.split("_").join("-")+"-link"),goog.asserts.assert(a instanceof HTMLAnchorElement,"Wrong element type!"),b==c?(a.setAttribute("disabled",""),a.removeAttribute("href"),a.title="currently selected"):
306
+ (a.removeAttribute("disabled"),a.addEventListener("click",()=>{const d=location.hash.substr(1).split(";").filter(e=>"compiled"!=e&&"build"!=e.split("=")[0]);d.push("build="+c);this.setNewHashSilent_(d.join(";"));location.reload();return!1}))}getParams_(){var a=location.search.substr(1);a=a?a.split(";"):[];var b=location.hash.substr(1);b=b?b.split(";"):[];b=a.concat(b);a={};for(const c of b)b=c.split("="),a[b[0]]=b.slice(1).join("=");return a}getValueFromGivenConfig_(a,b){for(;a;){const c=a.split(/\.(.+)/);
307
+ if(3==c.length)a=c[1],b=b[c[0]];else return b[c[0]]}}getCurrentConfigValue(a){return this.getValueFromGivenConfig_(a,this.desiredConfig_)}resetConfiguration(a){this.configure(a,void 0)}configure(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)}getConfiguration(){return this.desiredConfig_}async requestCertificate_(a,b){return(await b.request(shaka.net.NetworkingEngine.RequestType.APP,
308
+ {uris:[a]}).promise).data}getIsVisualizerActive(){return this.visualizer_?this.visualizer_.active:!1}setIsVisualizerActive(a){if(this.visualizer_){const b=this.visualizer_.active;this.visualizer_.active=a;b!=a&&(a?this.visualizer_.start():this.visualizer_.stop())}}unload(){this.visualizer_&&this.visualizer_.stop();this.selectedAsset=null;const a=document.getElementById("video-bar");this.hideElement_(a);this.video_.poster=shakaDemo.Main.mainPoster_;document.fullscreenElement&&document.exitFullscreen();
309
+ this.video_.webkitDisplayingFullscreen&&this.video_.webkitExitFullscreen();document.pictureInPictureElement&&document.exitPictureInPicture();this.player_.unload();this.dispatchEventWithName_("shaka-main-selected-asset-changed");navigator.mediaSession&&(navigator.mediaSession.metadata=null);this.remakeHash()}async drmConfiguration_(a,b){var c=b?b.getNetworkingEngine():this.player_.getNetworkingEngine();goog.asserts.assert(c,"There should be a net engine.");a.applyFilters(c);var d=a.getConfiguration();
310
+ b?b.configure(d):(this.player_.resetConfiguration(),this.player_.configure(this.desiredConfig_),this.player_.configure(d));d=b?b.getConfiguration():this.player_.getConfiguration();if(a.certificateUri){c=await this.requestCertificate_(a.certificateUri,c);c=shaka.util.BufferUtils.toUint8(c);for(const e of a.licenseServers.keys())d.drm.advanced[e]=d.drm.advanced[e]||{},d.drm.advanced[e].serverCertificate=c}else for(const e of a.licenseServers.keys())d.drm.advanced[e]&&delete d.drm.advanced[e].serverCertificate;
311
+ b?b.configure(d):this.player_.configure("drm.advanced",d.drm.advanced);this.remakeHash()}showPlayer_(){const a=document.getElementById("video-bar");this.showElement_(a);this.closeError_();this.video_.poster=shakaDemo.Main.mainPoster_;a.scrollIntoView({behavior:"smooth",block:"start"})}async loadAsset(a){try{this.selectedAsset=a;this.showPlayer_();this.dispatchEventWithName_("shaka-main-selected-asset-changed");this.nativeControlsEnabled_?(this.controls_.setEnabledShakaControls(!1),this.controls_.setEnabledNativeControls(!0),
312
+ this.player_.setVideoContainer(null)):(this.controls_.setEnabledShakaControls(!0),this.controls_.setEnabledNativeControls(!1),this.player_.setVideoContainer(this.container_));await this.drmConfiguration_(a);this.controls_.getCastProxy().setAppData({asset:a});let b=a.manifestUri;a.storedContent&&a.storedContent.offlineUri&&(b=a.storedContent.offlineUri);if(a.imaAssetKey||a.imaContentSrcId&&a.imaVideoId)b=await this.getManifestUriFromAdManager_(a);await this.player_.load(b,null,a.mimeType||void 0);
313
+ this.player_.isAudioOnly()&&(this.video_.poster=shakaDemo.Main.audioOnlyPoster_);const c=this.player_.getAdManager();if(c&&a.adTagUri)try{goog.asserts.assert(null!=this.video_,"this.video should exist!");c.initClientSide(this.controls_.getClientSideAdContainer(),this.video_);const d=new google.ima.AdsRequest;d.adTagUrl=a.adTagUri;c.requestClientSideAds(d)}catch(d){console.log(d),console.warn("Ads code has been prevented from running. Proceeding without ads.")}if(navigator.mediaSession){const d={title:a.name,
314
+ artwork:[{src:a.iconUri}]};d.artist=a.source;navigator.mediaSession.metadata=new MediaMetadata(d)}this.visualizer_&&this.visualizer_.active&&this.visualizer_.start()}catch(b){if(b.code==shaka.util.Error.Code.LOAD_INTERRUPTED)console.debug("load() interrupted");else this.onError_(b)}this.remakeHash()}remakeHash(){if(this.fullyLoaded_){var a=[];if(this.player_){var b=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams((f,g)=>{const h=this.getCurrentConfigValue(g);g=this.getValueFromGivenConfig_(g,
315
+ this.defaultConfig_);const k=isNaN(h)&&isNaN(g);h==g||k||a.push(f+"="+h)},b);if(b=this.getCurrentConfigValue("drm.advanced"))for(var c of shakaDemo.Main.commonDrmSystems){const f=b[c];if(f){f.videoRobustness&&a.push("videoRobustness="+f.videoRobustness);f.audioRobustness&&a.push("audioRobustness="+f.audioRobustness);break}}}this.getCurrentConfigValue("abr.enabled")||a.push("noadaptation");a.push("uilang="+this.getUILocale());if(this.selectedAsset){c=shakaAssets.testAssets.includes(this.selectedAsset);
316
+ a.push("asset="+this.selectedAsset.manifestUri);this.selectedAsset.adTagUri&&a.push("adTagUri="+this.selectedAsset.adTagUri);if(!c&&this.selectedAsset.licenseServers.size){b=this.selectedAsset.licenseServers.values().next().value;a.push("license="+b);for(var d of this.selectedAsset.licenseServers.keys())if(!shakaDemo.Main.commonDrmSystems.includes(d)){a.push("drmSystem="+d);break}}!c&&this.selectedAsset.certificateUri&&a.push("certificate="+this.selectedAsset.certificateUri)}d=document.getElementById("nav-button-container");
317
+ for(var e of d.childNodes)if(e.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(e instanceof HTMLElement,"Wrong node type!"),e.classList.contains("mdl-button--accent"))){a.push("panel="+e.getAttribute("tab-identifier"));(e=e.getAttribute("tab-hash"))&&a.push("panelData="+e);break}for(const f of["compiled","debug_compiled","uncompiled"])document.getElementById(f.split("_").join("-")+"-link").hasAttribute("disabled")&&a.push("build="+f);this.noInput_&&a.push("noinput");this.nativeControlsEnabled_&&
318
+ a.push("nativecontrols");this.trickPlayControlsEnabled_&&a.push("trickplay");if(shaka.log&&shaka.log.currentLevel!=shaka.log.MAX_LOG_LEVEL)switch(shaka.log.currentLevel){case shaka.log.Level.INFO:a.push("info");break;case shaka.log.Level.DEBUG:a.push("debug");break;case shaka.log.Level.V2:a.push("vv");break;case shaka.log.Level.V1:a.push("v")}this.setNewHashSilent_(a.join(";"))}}setNewHashSilent_(a){history.replaceState(null,"",document.location.pathname+"#"+a)}getHamburgerMenu(){return document.getElementById("hamburger-menu-contents")}hideElement_(a){a.classList.add("hidden")}showElement_(a){a.classList.remove("hidden")}async getManifestUriFromAdManager_(a){const b=
319
+ this.player_.getAdManager(),c=this.controls_.getServerSideAdContainer();try{goog.asserts.assert(null!=this.video_,"Video should not be null!");b.initServerSide(c,this.video_);let d;null!=a.imaAssetKey?(d=new google.ima.dai.api.LiveStreamRequest,d.assetKey=a.imaAssetKey):(goog.asserts.assert(null!=a.imaContentSrcId&&null!=a.imaVideoId,"Asset should have ima ids!"),d=new google.ima.dai.api.VODStreamRequest,d.contentSourceId=a.imaContentSrcId,d.videoId=a.imaVideoId);switch(a.imaManifestType){case "DASH":case "dash":case "MPD":case "mpd":d.format=
320
+ google.ima.dai.api.StreamRequest.StreamFormat.DASH;break;case "HLS":case "hls":case "M3U8":case "m3u8":d.format=google.ima.dai.api.StreamRequest.StreamFormat.HLS}return await b.requestServerSideStream(d,a.manifestUri)}catch(d){return console.log(d),console.warn("Ads code has been prevented from running or returned an error. Proceeding without ads."),a.manifestUri}}addNavButton(a){const b=document.getElementById("nav-button-container"),c=document.getElementById("contents"),d=document.getElementById("nav-button-"+
321
+ a);var e=this.getParams_();(a=e.panel==encodeURI(d.getAttribute("tab-identifier")))?(e=e.panelData)&&d.setAttribute("tab-hash",e):e.panel||(a=null!=d.getAttribute("defaultselected"));const f=document.createElement("div");this.hideElement_(f);c.appendChild(f);e=()=>{for(const g of b.childNodes)g.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(g instanceof Element,"Wrong node type!"),g.classList.remove("mdl-button--accent"));for(const g of c.childNodes)g.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(g instanceof
322
+ Element,"Wrong node type!"),this.hideElement_(g));d.classList.add("mdl-button--accent");this.showElement_(f);this.remakeHash();this.dispatchEventWithName_("shaka-main-page-changed");f.scrollIntoView({behavior:"smooth",block:"start"})};d.addEventListener("click",e);a&&Promise.resolve().then(e);return{container:f,button:d}}dispatchEventWithName_(a){const b=document.createEvent("CustomEvent");b.initCustomEvent(a,!1,!1,null);document.dispatchEvent(b)}setUpVersionStrings_(){let a=shaka.Player.version.split("-");
323
+ const b=[];for(const d of["debug","uncompiled"])a.includes(d)&&(b.push(d),a=a.filter(e=>e!=d));const c=document.getElementsByClassName("version-string");for(const d of c)d.textContent=a.join("-"),0<b.length&&(d.textContent+=" ("+b.join(", ")+")")}closeError_(){document.getElementById("error-display").classList.add("hidden");this.errorDisplayLink_.href="";this.errorDisplayLink_.textContent="";this.currentErrorSeverity_=null}onErrorEvent_(a){this.onError_(a.detail)}onError_(a){let b=a.severity;if(null==
324
+ b||void 0==a.severity)b=shaka.util.Error.Severity.CRITICAL;const c=a.message||"Error code "+a.code;let d="";a.code&&(d="../docs/api/shaka.util.Error.html#value:"+a.code);console.error(a);this.handleError_(b,c,d)}handleError_(a,b,c){if(null==this.currentErrorSeverity_||a>this.currentErrorSeverity_)this.errorDisplayLink_.href=c,void 0===this.errorDisplayLink_.textContent?this.errorDisplayLink_.innerText=b:this.errorDisplayLink_.textContent=b,this.currentErrorSeverity_=a,this.errorDisplayLink_.href?
325
+ this.errorDisplayLink_.classList.remove("input-disabled"):this.errorDisplayLink_.classList.add("input-disabled"),document.getElementById("error-display").classList.remove("hidden")}onCastStatusChange_(a){a&&!this.selectedAsset&&(this.selectedAsset=ShakaDemoAssetInfo.makeBlankAsset(),this.showPlayer_())}static defaultAdvancedDrmConfig(){return{distinctiveIdentifierRequired:!1,persistentStateRequired:!1,videoRobustness:"",audioRobustness:"",sessionType:"",serverCertificate:new Uint8Array(0),serverCertificateUri:"",
326
+ individualizationServer:""}}};shakaDemo.Main.commonDrmSystems=["com.widevine.alpha","com.microsoft.playready","com.apple.fps","com.adobe.primetime","org.w3.clearkey"];const 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";shakaDemo.Main.initWrapper=async a=>{try{await a()}catch(b){shakaDemoMain.onError_(b),console.error(b)}};
327
+ document.addEventListener("shaka-ui-loaded",()=>{shakaDemo.Main.initWrapper(()=>shakaDemoMain.init())});document.addEventListener("shaka-ui-load-failed",a=>{shakaDemo.Main.initWrapper(()=>{shakaDemoMain.initFailed(a.detail.reasonCode)})});let shakaDemoSearch;
328
+ shakaDemo.Search=class{static init(){const a=shakaDemoMain.addNavButton("search");shakaDemoSearch=new shakaDemo.Search(a.container,a.button)}constructor(a,b){this.desiredFeatures_=[];this.button_=b;this.resultsDiv_=document.createElement("div");this.assetCards_=[];document.addEventListener("shaka-main-selected-asset-changed",()=>{this.updateSelected_()});document.addEventListener("shaka-main-offline-progress",()=>{this.updateOfflineProgress_()});document.addEventListener("shaka-main-locale-changed",()=>
329
+ {this.remakeSearchDiv_(a);this.remakeResultsDiv_();componentHandler.upgradeDom()});document.addEventListener("shaka-main-page-changed",()=>{this.resultsDiv_.childNodes.length||a.classList.contains("hidden")||this.remakeResultsDiv_()});this.readHashParameters_();this.updateHashParameters_();this.remakeSearchDiv_(a)}readHashParameters_(){var a=this.button_.getAttribute("tab-hash");if(a)for(const b of a.split(","))if(b.startsWith("drm:")){if(a=b.split("drm:")[1],a=shakaAssets.KeySystem[a])this.desiredDRM_=
330
+ a}else if(b.startsWith("source:")){if(a=b.split("source:")[1],a=shakaAssets.Source[a])this.desiredSource_=a}else(a=shakaAssets.Feature[b])&&this.desiredFeatures_.push(a)}updateHashParameters_(){const a=[];if(this.desiredSource_)for(const b in shakaAssets.Source)shakaAssets.Source[b]==this.desiredSource_&&a.push("source:"+b);if(this.desiredDRM_)for(const b in shakaAssets.KeySystem)shakaAssets.KeySystem[b]==this.desiredDRM_&&a.push("drm:"+b);for(const b of this.desiredFeatures_)for(const c in shakaAssets.Feature)shakaAssets.Feature[c]==
331
+ b&&a.push(c);0<a.length?this.button_.setAttribute("tab-hash",a.join(",")):this.button_.removeAttribute("tab-hash");shakaDemoMain.remakeHash()}createAssetCardFor_(a){return new shakaDemo.AssetCard(this.resultsDiv_,a,!1,b=>{const c=shakaDemoMain.getAssetUnsupportedReason(a,!1);c?b.markAsUnsupported(c):(b.addButton(shakaDemo.MessageIds.PLAY,()=>{shakaDemoMain.loadAsset(a);this.updateSelected_()}),b.addStoreButton())})}updateOfflineProgress_(){for(const a of this.assetCards_)a.updateProgress()}updateSelected_(){for(const a of this.assetCards_)a.selectByAsset(shakaDemoMain.selectedAsset)}remakeResultsDiv_(){shaka.util.Dom.removeAllChildren(this.resultsDiv_);
332
+ this.assetCards_=this.searchResults_().map(a=>this.createAssetCardFor_(a));this.updateSelected_()}checkDesiredTerm_(a,b){switch(b){case shakaDemo.Search.TermType.DRM:return this.desiredDRM_==a;case shakaDemo.Search.TermType.SOURCE:return this.desiredSource_==a;case shakaDemo.Search.TermType.FEATURE:return this.desiredFeatures_.includes(a);default:return!1}}addDesiredTerm_(a,b,c){switch(b){case shakaDemo.Search.TermType.DRM:this.desiredDRM_=a;break;case shakaDemo.Search.TermType.SOURCE:this.desiredSource_=
333
+ a;break;case shakaDemo.Search.TermType.FEATURE:for(const d of c)b=this.desiredFeatures_.indexOf(d),-1!=b&&this.desiredFeatures_.splice(b,1);this.desiredFeatures_.push(a)}}removeDesiredTerm_(a,b){switch(b){case shakaDemo.Search.TermType.DRM:this.desiredDRM_=null;break;case shakaDemo.Search.TermType.SOURCE:this.desiredSource_=null;break;case shakaDemo.Search.TermType.FEATURE:a=this.desiredFeatures_.indexOf(a),-1!=a&&this.desiredFeatures_.splice(a,1)}}makeBooleanInput_(a,b,c,d){a.addRow(b,d,"significant-right-padding");
334
+ (new shakaDemo.BoolInput(a,b,e=>{e.checked?this.addDesiredTerm_(b,c,[b]):this.removeDesiredTerm_(b,c);this.remakeResultsDiv_();componentHandler.upgradeDom();this.updateHashParameters_()})).input().checked=this.checkDesiredTerm_(b,c)}makeSelectInput_(a,b,c,d){a.addRow(null,null);const e={};for(const g of c)e[g]=shakaDemoMain.getLocalizedString(g);let f=e["---"]="---";a=new shakaDemo.SelectInput(a,b,g=>{"---"!=g.value?this.addDesiredTerm_(g.value,d,c):this.removeDesiredTerm_(f,d);f=g.value;this.remakeResultsDiv_();
335
+ componentHandler.upgradeDom();this.updateHashParameters_()},e);a.input().value="---";for(const g of c)if(this.checkDesiredTerm_(g,d)){f=a.input().value=g;break}}remakeSearchDiv_(a){shaka.util.Dom.removeAllChildren(a);const b=shakaAssets.Feature,c=shakaDemo.Search.TermType.FEATURE;var d=shakaDemo.Search.TermType.DRM;const e=shakaDemo.Search.TermType.SOURCE,f=new shakaDemo.InputContainer(a,null,shakaDemo.InputContainer.Style.FLEX,null);this.makeSelectInput_(f,shakaDemo.MessageIds.MANIFEST_SEARCH,[b.DASH,
336
+ b.HLS],c);this.makeSelectInput_(f,shakaDemo.MessageIds.CONTAINER_SEARCH,[b.MP4,b.MP2TS,b.WEBM,b.CONTAINERLESS],c);this.makeSelectInput_(f,shakaDemo.MessageIds.DRM_SEARCH,Object.values(shakaAssets.KeySystem),d);this.makeSelectInput_(f,shakaDemo.MessageIds.SOURCE_SEARCH,Object.values(shakaAssets.Source).filter(g=>g!=shakaAssets.Source.CUSTOM),e);this.makeSelectInput_(f,shakaDemo.MessageIds.LIVE_SEARCH,[b.LIVE,b.VOD],c);d=new shakaDemo.InputContainer(a,null,shakaDemo.InputContainer.Style.FLEX,null);
337
+ this.makeBooleanInput_(d,b.HIGH_DEFINITION,c,shakaDemo.MessageIds.HIGH_DEFINITION_SEARCH);this.makeBooleanInput_(d,b.XLINK,c,shakaDemo.MessageIds.XLINK_SEARCH);this.makeBooleanInput_(d,b.SUBTITLES,c,shakaDemo.MessageIds.SUBTITLES_SEARCH);this.makeBooleanInput_(d,b.TRICK_MODE,c,shakaDemo.MessageIds.TRICK_MODE_SEARCH);this.makeBooleanInput_(d,b.SURROUND,c,shakaDemo.MessageIds.SURROUND_SEARCH);this.makeBooleanInput_(d,b.OFFLINE,c,shakaDemo.MessageIds.OFFLINE_SEARCH);this.makeBooleanInput_(d,b.STORED,
338
+ c,shakaDemo.MessageIds.STORED_SEARCH);this.makeBooleanInput_(d,b.ADS,c,shakaDemo.MessageIds.AD_SEARCH);this.makeBooleanInput_(d,b.AUDIO_ONLY,c,shakaDemo.MessageIds.AUDIO_ONLY_SEARCH);this.makeBooleanInput_(d,b.THUMBNAILS,c,shakaDemo.MessageIds.THUMBNAILS);this.makeBooleanInput_(d,b.LCEVC,c,shakaDemo.MessageIds.LCEVC);a.appendChild(this.resultsDiv_)}searchResults_(){return shakaAssets.testAssets.filter(a=>{if(a.disabled||this.desiredDRM_&&!a.drm.includes(this.desiredDRM_)||this.desiredSource_&&a.source!=
339
+ this.desiredSource_)return!1;for(const b of this.desiredFeatures_)if(b==shakaAssets.Feature.STORED){if(!a.isStored())return!1}else if(!a.features.includes(b))return!1;return!0})}};shakaDemo.Search.TermType={FEATURE:"Feature",DRM:"DRM",SOURCE:"Source"};document.addEventListener("shaka-main-loaded",shakaDemo.Search.init);document.addEventListener("shaka-main-cleanup",()=>{shakaDemoSearch=null});
469
340
  //# sourceMappingURL=demo.compiled.map