@playkit-js/playkit-js-providers 2.40.1-canary.0-f2a1cb3 → 2.40.2-canary.0-c7a43ae

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 (135) hide show
  1. package/dist/index.d.ts +1624 -0
  2. package/dist/playkit-analytics-service.js +1 -1
  3. package/dist/playkit-analytics-service.js.map +1 -1
  4. package/dist/playkit-bookmark-service.js +1 -1
  5. package/dist/playkit-bookmark-service.js.map +1 -1
  6. package/dist/playkit-ott-provider.js +1 -1
  7. package/dist/playkit-ott-provider.js.map +1 -1
  8. package/dist/playkit-ovp-provider.js +1 -1
  9. package/dist/playkit-ovp-provider.js.map +1 -1
  10. package/dist/playkit-stats-service.js +1 -1
  11. package/dist/playkit-stats-service.js.map +1 -1
  12. package/dist/tsdoc-metadata.json +11 -0
  13. package/flow-typed/types/media-config-sources.js +1 -1
  14. package/flow-typed/types/media-sources.js +1 -1
  15. package/package.json +49 -46
  16. package/playkit-analytics-service/package.json +5 -0
  17. package/playkit-bookmark-service/package.json +5 -0
  18. package/playkit-ott-provider/package.json +5 -0
  19. package/playkit-ovp-provider/package.json +5 -0
  20. package/playkit-stats-service/package.json +5 -0
  21. package/src/entities/bumper.ts +21 -0
  22. package/src/entities/drm.ts +47 -0
  23. package/src/entities/entry-list.ts +13 -0
  24. package/src/entities/image-source.ts +36 -0
  25. package/src/entities/media-entry.ts +104 -0
  26. package/src/entities/media-format.ts +47 -0
  27. package/src/entities/media-source.ts +70 -0
  28. package/src/entities/media-sources.ts +79 -0
  29. package/src/entities/playlist.ts +41 -0
  30. package/src/k-provider/common/base-provider-parser.ts +0 -0
  31. package/src/k-provider/common/base-provider.ts +112 -0
  32. package/src/k-provider/common/base-service-result.ts +56 -0
  33. package/src/k-provider/common/data-loader-manager.ts +115 -0
  34. package/src/k-provider/common/multi-request-builder.ts +111 -0
  35. package/src/k-provider/common/response-types/kaltura-access-control-message.ts +21 -0
  36. package/src/k-provider/common/response-types/kaltura-drm-playback-plugin-data.ts +38 -0
  37. package/src/k-provider/ott/config.ts +22 -0
  38. package/src/k-provider/ott/index.ts +14 -0
  39. package/src/k-provider/ott/loaders/asset-list-loader.ts +68 -0
  40. package/src/k-provider/ott/loaders/asset-loader.ts +69 -0
  41. package/src/k-provider/ott/loaders/data-loader-manager.ts +15 -0
  42. package/src/k-provider/ott/loaders/session-loader.ts +62 -0
  43. package/src/k-provider/ott/provider-parser.ts +285 -0
  44. package/src/k-provider/ott/provider.ts +252 -0
  45. package/src/k-provider/ott/response-types/kaltura-asset.ts +105 -0
  46. package/src/k-provider/ott/response-types/kaltura-bumper-playback-plugin-data.ts +27 -0
  47. package/src/k-provider/ott/response-types/kaltura-playback-context.ts +73 -0
  48. package/src/k-provider/ott/response-types/kaltura-playback-source.ts +62 -0
  49. package/src/k-provider/ott/response-types/kaltura-rule-action.ts +25 -0
  50. package/src/k-provider/ott/services/asset-service.ts +50 -0
  51. package/src/k-provider/ott/services/bookmark/bookmark-service.ts +48 -0
  52. package/src/k-provider/ott/services/bookmark/index.ts +11 -0
  53. package/src/k-provider/ott/services/ott-service.ts +33 -0
  54. package/src/k-provider/ott/services/user-service.ts +31 -0
  55. package/src/k-provider/ovp/config.ts +28 -0
  56. package/src/k-provider/ovp/external-captions-builder.ts +37 -0
  57. package/src/k-provider/ovp/index.ts +13 -0
  58. package/src/k-provider/ovp/loaders/data-loader-manager.ts +17 -0
  59. package/src/k-provider/ovp/loaders/entry-list-loader.ts +69 -0
  60. package/src/k-provider/ovp/loaders/media-entry-loader.ts +84 -0
  61. package/src/k-provider/ovp/loaders/playlist-loader.ts +69 -0
  62. package/src/k-provider/ovp/loaders/session-loader.ts +62 -0
  63. package/src/k-provider/ovp/loaders/ui-config-loader.ts +71 -0
  64. package/src/k-provider/ovp/play-source-url-builder.ts +59 -0
  65. package/src/k-provider/ovp/provider-parser.ts +461 -0
  66. package/src/k-provider/ovp/provider.ts +358 -0
  67. package/src/k-provider/ovp/regex-action-handler.ts +149 -0
  68. package/src/k-provider/ovp/request-params/base-entry-response-profile.ts +28 -0
  69. package/src/k-provider/ovp/response-types/index.ts +21 -0
  70. package/src/k-provider/ovp/response-types/kaltura-access-control-modify-request-host-regex-action.ts +35 -0
  71. package/src/k-provider/ovp/response-types/kaltura-base-entry-list-response.ts +30 -0
  72. package/src/k-provider/ovp/response-types/kaltura-bumper.ts +25 -0
  73. package/src/k-provider/ovp/response-types/kaltura-flavor-asset.ts +108 -0
  74. package/src/k-provider/ovp/response-types/kaltura-media-entries.ts +28 -0
  75. package/src/k-provider/ovp/response-types/kaltura-media-entry.ts +189 -0
  76. package/src/k-provider/ovp/response-types/kaltura-metadata-list-response.ts +22 -0
  77. package/src/k-provider/ovp/response-types/kaltura-metadata.ts +50 -0
  78. package/src/k-provider/ovp/response-types/kaltura-playback-context.ts +95 -0
  79. package/src/k-provider/ovp/response-types/kaltura-playback-source.ts +89 -0
  80. package/src/k-provider/ovp/response-types/kaltura-playlist.ts +33 -0
  81. package/src/k-provider/ovp/response-types/kaltura-rule-action.ts +27 -0
  82. package/src/k-provider/ovp/response-types/kaltura-ui-conf-response.ts +89 -0
  83. package/src/k-provider/ovp/response-types/kaltura-user-entry-list-response.ts +30 -0
  84. package/src/k-provider/ovp/response-types/kaltura-user-entry.ts +57 -0
  85. package/src/k-provider/ovp/services/analytics/analytics-service.ts +58 -0
  86. package/src/k-provider/ovp/services/analytics/index.ts +11 -0
  87. package/src/k-provider/ovp/services/base-entry-service.ts +75 -0
  88. package/src/k-provider/ovp/services/meta-data-service.ts +29 -0
  89. package/src/k-provider/ovp/services/ovp-service.ts +32 -0
  90. package/src/k-provider/ovp/services/playlist-service.ts +95 -0
  91. package/src/k-provider/ovp/services/session-service.ts +27 -0
  92. package/src/k-provider/ovp/services/stats/index.ts +11 -0
  93. package/src/k-provider/ovp/services/stats/stats-service.ts +32 -0
  94. package/src/k-provider/ovp/services/ui-conf-service.ts +32 -0
  95. package/src/types/adapter-data-config.ts +1 -0
  96. package/src/types/caption-type.ts +1 -0
  97. package/src/types/drm-data.ts +5 -0
  98. package/src/types/entry-list.ts +6 -0
  99. package/src/types/env-config.ts +7 -0
  100. package/src/types/external-caption-object.ts +7 -0
  101. package/src/types/filter-options.ts +3 -0
  102. package/src/types/index.ts +34 -0
  103. package/src/types/loader.ts +7 -0
  104. package/src/types/media-config-metadata.ts +13 -0
  105. package/src/types/media-config-session.ts +6 -0
  106. package/src/types/media-config-sources.ts +20 -0
  107. package/src/types/media-config.ts +8 -0
  108. package/src/types/media-entry.ts +16 -0
  109. package/src/types/media-format.ts +5 -0
  110. package/src/types/media-info.ts +21 -0
  111. package/src/types/media-source.ts +12 -0
  112. package/src/types/media-sources.ts +11 -0
  113. package/src/types/network-retry-parameters.ts +5 -0
  114. package/src/types/playback-context.ts +10 -0
  115. package/src/types/playlist-info.ts +4 -0
  116. package/src/types/playlist-item.ts +5 -0
  117. package/src/types/playlist-metadata.ts +4 -0
  118. package/src/types/playlist.ts +10 -0
  119. package/src/types/poster.ts +5 -0
  120. package/src/types/provider-options.ts +17 -0
  121. package/src/types/request-loader.ts +6 -0
  122. package/src/util/clone.ts +23 -0
  123. package/src/util/error/category.ts +11 -0
  124. package/src/util/error/code.ts +77 -0
  125. package/src/util/error/error.ts +47 -0
  126. package/src/util/error/severity.ts +21 -0
  127. package/src/util/logger.ts +108 -0
  128. package/src/util/param.ts +45 -0
  129. package/src/util/request-builder.ts +187 -0
  130. package/src/util/xml-parser.ts +39 -0
  131. package/CHANGELOG.md +0 -959
  132. package/samples/ott/bookmark.html +0 -23
  133. package/samples/ott/provider.html +0 -28
  134. package/samples/ovp/provider.html +0 -30
  135. package/samples/ovp/stats.html +0 -17
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ott=t():(e.playkit=e.playkit||{},e.playkit.providers=e.playkit.providers||{},e.playkit.providers.ott=t())}(window,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=19)}([function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(2);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i=function e(t,r,n,a){void 0===a&&(a={}),this.severity=t,this.category=r,this.code=n,this.data=a,e._logger.error("Category:"+r+" | Code:"+n+" |",a)};a(i,"Severity",{RECOVERABLE:1,CRITICAL:2}),a(i,"Category",{NETWORK:1,SERVICE:2,PROVIDER:3}),a(i,"Code",{UNSUPPORTED_SCHEME:1e3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,BAD_SERVER_RESPONSE:1005,MULTIREQUEST_API_ERROR:1006,API_RESPONSE_MISMATCH:1007,ERROR:2e3,BLOCK_ACTION:2001,MEDIA_STATUS_NOT_READY:2002,MISSING_MANDATORY_PARAMS:3e3,MISSING_PLAY_SOURCE:3001,METHOD_NOT_IMPLEMENTED:3002}),a(i,"_logger",Object(n.b)("Error"))},function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(8);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i=function(){function e(){this.metadata=new Map,this.sources=new n.a,this.type=e.Type.UNKNOWN}return e.prototype.toJSON=function(){return{id:this.id,name:this.name,sources:this.sources.toJSON(),duration:this.duration,dvrStatus:this.dvrStatus,status:this.status,metadata:this.metadata,type:this.type,poster:this.poster,assetReferenceType:this.assetReferenceType,downloadUrl:this.downloadUrl}},e}();a(i,"Type",{VOD:"Vod",LIVE:"Live",IMAGE:"Image",AUDIO:"Audio",UNKNOWN:"Unknown"}),a(i,"DvrStatus",{ON:1,OFF:0})},function(e,t,r){"use strict";r.d(t,"c",(function(){return o})),r.d(t,"d",(function(){return u})),r.d(t,"e",(function(){return i})),r.d(t,"a",(function(){return a}));var n={get:function(){return{VERSION:"",DEBUG:{value:"",name:""},ERROR:{value:"",name:""},INFO:{value:"",name:""},OFF:{value:"",name:""},TIME:{value:"",name:""},TRACE:{value:"",name:""},WARN:{value:"",name:""},createDefaultHandler:function(){},debug:function(){},enabledFor:function(){},error:function(){},get:function(){},getLevel:function(){},info:function(){},log:function(){},setHandler:function(){},setLevel:function(){},time:function(){},timeEnd:function(){},trace:function(){},useDefaults:function(){},warn:function(){}}}},a={};function i(e){e&&"function"==typeof e.getLogger&&(n.get=e.getLogger),e&&e.LogLevel&&(a=e.LogLevel)}function s(e){return n.get(e)}function o(e){return s(e).getLevel()}function u(e,t){s(t).setLevel(e)}t.b=s},function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(0);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i=function(){function e(e){void 0===e&&(e=new Map),a(this,"retryConfig",{async:!0,timeout:0,maxAttempts:4}),a(this,"_attemptCounter",1),this.headers=e}var t=e.prototype;return t.getUrl=function(e){return e+"/service/"+this.service+(this.action?"/action/"+this.action:"")},t.doHttpRequest=function(){var e=this,t=new Promise((function(t,r){e._requestPromise={resolve:t,reject:r}}));return this.url||this._requestPromise.reject(new n.a(n.a.Severity.CRITICAL,n.a.Category.NETWORK,n.a.Code.MALFORMED_DATA_URI,{url:this.url})),this._createXHR(),t},t._createXHR=function(){var e=this,t=new XMLHttpRequest;t.onreadystatechange=function(){if(4===t.readyState&&200===t.status)try{var r=JSON.parse(t.responseText);return e.responseHeaders=e._getResponseHeaders(t),e._requestPromise.resolve(r)}catch(r){e._requestPromise.reject(e._createError(t,n.a.Code.BAD_SERVER_RESPONSE,{text:t.responseText}))}},t.open(this.method,this.url,this.retryConfig.async),this.retryConfig.async&&this.retryConfig.timeout&&(t.timeout=this.retryConfig.timeout);var r=performance.now();t.ontimeout=function(){e._handleError(t,n.a.Code.TIMEOUT,{timeout:(performance.now()-r)/1e3,statusText:t.statusText})},t.onerror=t.onabort=function(){e._handleError(t,n.a.Code.HTTP_ERROR,{text:t.responseText,statusText:t.statusText})},this.headers.forEach((function(e,r){t.setRequestHeader(r,e)})),t.send(this.params)},t._getResponseHeaders=function(e){return e.getAllResponseHeaders().split("\n").filter((function(e){return 0===e.toLowerCase().indexOf("x-")}))},t._handleError=function(e,t,r){var n=this._createError(e,t,r);if(e.onreadystatechange=function(){},e.onerror=function(){},e.ontimeout=function(){},e.onabort=function(){},!(this.retryConfig.maxAttempts&&this._attemptCounter<this.retryConfig.maxAttempts))return this._requestPromise.reject(n);this._attemptCounter++,this._createXHR()},t._createError=function(e,t,r){return Object.assign(r,{url:this.url,headers:this._getResponseHeaders(e),attempt:this._attemptCounter}),new n.a(n.a.Severity.CRITICAL,n.a.Category.NETWORK,t,r)},e}()},function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var n=function(e){var t,r,n;n=!1,(r="hasError")in(t=this)?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,"KalturaAPIException"===e.objectType?(this.hasError=!0,this.error=new a(e.code,e.message)):e.error&&"KalturaAPIException"===e.error.objectType?(this.hasError=!0,this.error=new a(e.error.code,e.error.message)):this.data=e},a=function(e,t){this.code=e,this.message=t}},function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return a})),r.d(t,"c",(function(){return i}));var n={DASH:{name:"dash",mimeType:"application/dash+xml",pathExt:"mpd"},HLS:{name:"hls",mimeType:"application/x-mpegURL",pathExt:"m3u8"},WVM:{name:"wvm",mimeType:"video/wvm",pathExt:"wvm"},MP4:{name:"mp4",mimeType:"video/mp4",pathExt:"mp4"},MP3:{name:"mp3",mimeType:"audio/mpeg",pathExt:"mp3"}},a=new Map([["mpegdash",n.DASH],["applehttp",n.HLS],["url",n.MP4]]);function i(e){var t=a.get(e);return!!t&&t.name===n.MP4.name}},function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));var n,a,i,s=function(e){this.scheme=e.scheme,this.licenseURL=e.licenseURL,this.certificate=e.certificate};i={"drm.PLAYREADY_CENC":"com.microsoft.playready","drm.WIDEVINE_CENC":"com.widevine.alpha","fairplay.FAIRPLAY":"com.apple.fairplay",WIDEVINE_CENC:"com.widevine.alpha",PLAYREADY_CENC:"com.microsoft.playready",FAIRPLAY:"com.apple.fairplay"},(a="Scheme")in(n=s)?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i},function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var n=function(e){this.message=e.message,this.code=e.code}},function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));r(9);var n=r(5),a=(r(13),function(){function e(){this.progressive=[],this.dash=[],this.hls=[],this.image=[]}var t=e.prototype;return t.map=function(e,t){if(t)switch(t.name){case n.a.MP4.name:this.progressive.push(e);break;case n.a.DASH.name:this.dash.push(e);break;case n.a.HLS.name:this.hls.push(e)}},t.toJSON=function(){var e={progressive:[],dash:[],hls:[],image:[]};return this.progressive.forEach((function(t){return e.progressive.push(t.toJSON())})),this.hls.forEach((function(t){return e.hls.push(t.toJSON())})),this.dash.forEach((function(t){return e.dash.push(t.toJSON())})),e.image=this.image,e},e}())},function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));r(12);var n=function(){function e(){}return e.prototype.toJSON=function(){var e={id:this.id,url:this.url,mimetype:this.mimetype};return this.bandwidth&&(e.bandwidth=this.bandwidth),this.width&&(e.width=this.width),this.height&&(e.height=this.height),this.label&&(e.label=this.label),this.drmData&&this.drmData.length>0&&(e.drmData=[],this.drmData.forEach((function(t){Array.isArray(e.drmData)&&e.drmData.push(t.toJSON())}))),e},e}()},function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));r(11);var n=r(0);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i=function(){function e(e){a(this,"_loadersResponseMap",new Map),a(this,"_loaders",new Map),this._networkRetryConfig=e}var t=e.prototype;return t.add=function(e,t,r){var n=this,a=new e(t);if(a.isValid()){this._loaders.set(e.id,a);var i=this._multiRequest.requests.length,s=a.requests;this._multiRequest.retryConfig=this._networkRetryConfig,s.forEach((function(e){e.params=e.params||{},e.params.ks=e.params.ks||r,n._multiRequest.add(e)}));var o=Array.from(new Array(s.length),(function(e,t){return t+i}));this._loadersResponseMap.set(e.id,o)}},t.fetchData=function(e){var t=this;return new Promise((function(r,a){t._multiRequest.execute(e).then((function(e){t._multiResponse=e.response,t.prepareData(e.response).success?r(t._loaders):a(new n.a(n.a.Severity.CRITICAL,n.a.Category.NETWORK,n.a.Code.API_RESPONSE_MISMATCH,{headers:e.headers}))}),(function(e){a(e)}))}))},t.prepareData=function(e){var t=this;return this._loaders.forEach((function(r,n){var a=t._loadersResponseMap.get(n);try{a&&a.length>0&&(r.response=e.results.slice(a[0],a[a.length-1]+1))}catch(e){return{success:!1,error:e}}})),{success:!0,data:this._loaders}},e}()},function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(3),a=r(2),i=r(4),s=r(0);function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var c=function(e){var t,r;function n(){for(var t,r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return u(o(t=e.call.apply(e,[this].concat(n))||this),"requests",[]),t}r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var a=n.prototype;return a.add=function(e){var t;this.requests.push(e);var r={},n={service:e.service,action:e.action};return Object.assign(r,((t={})[this.requests.length]=Object.assign(n,e.params),t)),Object.assign(r,this.params),this.params=r,this},a.execute=function(e){var t=this;return new Promise((function(r,a){try{t.params=JSON.stringify(t.params)}catch(e){n._logger.error(""+e.message),a(new s.a(s.a.Severity.CRITICAL,s.a.Category.PROVIDER,s.a.Code.FAILED_PARSING_REQUEST,{error:e,params:t.params}))}t.doHttpRequest().then((function(n){var i=new p(n,e);i.success?r({headers:t.responseHeaders,response:i}):a(new s.a(s.a.Severity.CRITICAL,s.a.Category.NETWORK,s.a.Code.MULTIREQUEST_API_ERROR,{url:t.url,headers:t.responseHeaders,results:i.results}))}),(function(e){a(e)}))}))},n}(n.a);u(c,"_logger",Object(a.b)("MultiRequestBuilder"));var p=function e(t,r){void 0===r&&(r=!0),u(this,"results",[]);var n=t.result?t.result:t,a=(Array.isArray(n)?n:[n]).map((function(e){return new i.a(e)})),s=a.filter((function(e){return e.hasError}));s.forEach((function(t){e._logger.error("Service returned an error with error code: "+t.error.code+" and message: "+t.error.message+".")})),this.results=a,r&&s.length||s.length===this.results.length?this.success=!1:(this.results=this.results.filter((function(e){return!e.hasError})),this.success=!0)};u(p,"_logger",Object(a.b)("MultiRequestResult"))},function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var n=function(){function e(e,t,r){this.licenseUrl=e,this.scheme=t,r&&(this.certificate=r)}return e.prototype.toJSON=function(){var e={licenseUrl:this.licenseUrl,scheme:this.scheme};return this.certificate&&(e.certificate=this.certificate),e},e}()},function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var n=function(){function e(t){this.id=t.id,this.url=e.extractBaseThumbnailUrl(t.dataUrl),this.mimetype=""}return e.extractBaseThumbnailUrl=function(e){return e.match(".+entry_id/[a-zA-Z0-9_]+/")[0].slice(0,-1)},e}()},function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(2),a=(r(10),r(0));function i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),e}var o=function(){function e(e,t){var r,a,i;i={async:!0,timeout:0,maxAttempts:4},(a="_networkRetryConfig")in(r=this)?Object.defineProperty(r,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[a]=i,Object(n.e)(e.logger),this._partnerId=e.partnerId,this._widgetId=e.widgetId,this._uiConfId=e.uiConfId,this._isAnonymous=!e.ks,this._ks=e.ks||"",this._playerVersion=t}s(e,[{key:"partnerId",get:function(){return this._partnerId}},{key:"widgetId",get:function(){return this._widgetId||this.defaultWidgetId}},{key:"defaultWidgetId",get:function(){return"_"+this._partnerId}},{key:"uiConfId",get:function(){return this._uiConfId}},{key:"ks",get:function(){return this._ks},set:function(e){this._ks=e}},{key:"playerVersion",get:function(){return this._playerVersion}},{key:"isAnonymous",get:function(){return this._isAnonymous}}]);var t=e.prototype;return t.getMediaConfig=function(e){return Promise.reject(new a.a(a.a.Severity.CRITICAL,a.a.Category.PROVIDER,a.a.Code.METHOD_NOT_IMPLEMENTED,{message:"getMediaConfig method must be implement by the derived class"}))},t.getPlaylistConfig=function(e){return Promise.reject(new a.a(a.a.Severity.CRITICAL,a.a.Category.PROVIDER,a.a.Code.METHOD_NOT_IMPLEMENTED,{message:"The provider does not support loading playlist by id"}))},t.getEntryListConfig=function(e){return Promise.reject(new a.a(a.a.Severity.CRITICAL,a.a.Category.PROVIDER,a.a.Code.METHOD_NOT_IMPLEMENTED,{message:"The provider does not support loading entry list"}))},t._verifyHasSources=function(e){if(0===e.hls.concat(e.dash,e.progressive,e.image).length)throw new a.a(a.a.Severity.CRITICAL,a.a.Category.SERVICE,a.a.Code.MISSING_PLAY_SOURCE,{action:"",messages:"No play source for entry id: "+e.id})},t.getLogLevel=function(e){return Object(n.c)(e)},t.setLogLevel=function(e,t){Object(n.d)(e,t)},s(e,[{key:"LogLevel",get:function(){return n.a}}]),e}()},function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var n=function e(t){var r;return Array.isArray(t)?(r=t.length>0?t.slice(0):[]).forEach((function(t,n){("object"==typeof t&&t!=={}||Array.isArray(t)&&t.length>0)&&(r[n]=e(t))})):"object"==typeof t?(r=Object.assign({},t),Object.keys(r).forEach((function(t){("object"==typeof r[t]&&r[t]!=={}||Array.isArray(r[t])&&r[t].length>0)&&(r[t]=e(r[t]))}))):r=t,r}},function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));r(1);var n=function(){this.items=[]}},function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var n=function(e){this.url=e.url,this.clickThroughUrl=e.clickThroughUrl}},,function(e,t,r){"use strict";r.r(t),r.d(t,"Provider",(function(){return ee})),r.d(t,"ContextType",(function(){return ne})),r.d(t,"MediaType",(function(){return ae})),r.d(t,"NAME",(function(){return te})),r.d(t,"VERSION",(function(){return re}));var n=r(14),a=r(2),i=r(15),s={serviceParams:{apiVersion:"7.8.1"}},o=function(){function e(){}return e.set=function(e){e&&Object.assign(s,e)},e.get=function(){return Object(i.a)(s)},e}(),u=r(10),c=r(11),p=function(){function e(){}return e.getMultiRequest=function(e,t){var r=o.get(),n=r.serviceParams;e&&Object.assign(n,{ks:e}),t&&Object.assign(n,{partnerId:t});var a=new Map;a.set("Content-Type","application/json");var i=new c.a(a);return i.method="POST",i.service="multirequest",i.url=i.getUrl(r.serviceUrl),i.params=n,i},e}();var f=function(e){var t,r;function n(t,r,n){var a;return void 0===r&&(r=""),(a=e.call(this,n)||this)._multiRequest=p.getMultiRequest(r,t),a}return r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,n}(u.a),d=r(3);var l=function(e){var t,r;function n(){return e.apply(this,arguments)||this}return r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,n.anonymousLogin=function(e,t,r){var n=new Map;n.set("Content-Type","application/json");var a=new d.a(n);a.service="ottuser",a.action="anonymousLogin",a.method="POST",a.url=a.getUrl(e);var i={partnerId:t};return r&&Object.assign(i,{udid:r}),a.params=i,a},n}(p);function h(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function y(e,t,r){return t&&h(e.prototype,t),r&&h(e,r),e}var g=function(){function e(e){var t,r,n;n={},(r="_response")in(t=this)?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,this.requests=this.buildRequests(e),this._partnerId=e.partnerId}y(e,null,[{key:"id",get:function(){return"session"}}]);var t=e.prototype;return t.buildRequests=function(e){var t=o.get(),r=[];return r.push(l.anonymousLogin(t.serviceUrl,e.partnerId,e.udid)),r},t.isValid=function(){return!!this._partnerId},y(e,[{key:"requests",set:function(e){this._requests=e},get:function(){return this._requests}},{key:"response",set:function(e){this._response.ks=e[0].data.ks},get:function(){return this._response.ks}}]),e}();var m=function(e){var t,r;function n(){return e.apply(this,arguments)||this}return r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,n.getPlaybackContext=function(e,t,r,n,a){var i=new Map;i.set("Content-Type","application/json");var s=new d.a(i);s.service="asset",s.action="getPlaybackContext",s.method="POST",s.url=s.getUrl(e);var o={objectType:"KalturaPlaybackContextOptions"};return Object.assign(o,a),s.params={assetId:r,assetType:n,contextDataParams:o,ks:t},s},n.get=function(e,t,r,n){var a=new Map;a.set("Content-Type","application/json");var i=new d.a(a);return i.service="asset",i.action="get",i.method="POST",i.url=i.getUrl(e),i.params={id:r,assetReferenceType:n,ks:t},i},n}(p),v=r(4),_=r(7);var b,T,E,O=function(e){this.type=e.type};E={BLOCK:"BLOCK",START_DATE_OFFSET:"START_DATE_OFFSET",END_DATE_OFFSET:"END_DATE_OFFSET",USER_BLOCK:"USER_BLOCK",ALLOW_PLAYBACK:"ALLOW_PLAYBACK",BLOCK_PLAYBACK:"BLOCK_PLAYBACK",APPLY_DISCOUNT_MODULE:"APPLY_DISCOUNT_MODULE"},(T="Type")in(b=O)?Object.defineProperty(b,T,{value:E,enumerable:!0,configurable:!0,writable:!0}):b[T]=E;var R=r(6);var I=function(){function e(e){var t=this;!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"drm",[]),this.format=e.format,this.adsPolicy=e.adsPolicy,this.adsParam=e.adsParam,this.duration=e.duration,this.url=e.url,this.type=e.type,this.fileId=e.id,this.protocols=e.protocols,e.drm&&e.drm.map((function(e){return t.drm.push(new R.a(e))}))}var t=e.prototype;return t.hasDrmData=function(){return this.drm&&this.drm.length>0},t.getProtocol=function(e){var t="";if(this.protocols&&this.protocols.length>0)this.protocols.split(",").forEach((function(r){r===e&&(t=r)}));else if("http"===e)return e;return t},e}();var A=function(e){this.streamertype=e.streamertype,this.url=e.url};function C(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function P(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(A,"StreamerType",{HLS:"hls",DASH:"dash",PROGRESSIVE:"progressive"});var S=function(e){var t,r;function n(t){var r;if(P(C(r=e.call(this,t)||this),"sources",[]),P(C(r),"actions",[]),P(C(r),"messages",[]),P(C(r),"plugins",[]),!r.hasError){var n=t.messages;n&&n.map((function(e){return r.messages.push(new _.a(e))}));var a=t.actions;a&&a.map((function(e){return r.actions.push(new O(e))}));var i=t.sources;i&&i.map((function(e){return r.sources.push(new I(e))}));var s=t.plugins;s&&s.map((function(e){return r.plugins.push(new A(e))}))}return r}r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var a=n.prototype;return a.hasBlockAction=function(){return void 0!==this.getBlockAction()},a.getBlockAction=function(){return this.actions.find((function(e){return e.type===O.Type.BLOCK}))},a.getErrorMessages=function(){return this.messages},n}(v.a);function w(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function D(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}P(S,"Type",{DOWNLOAD:"DOWNLOAD",TRAILER:"TRAILER",CATCHUP:"CATCHUP",START_OVER:"START_OVER",PLAYBACK:"PLAYBACK"});var L=function(e){var t,r;function n(t){var r;return D(w(r=e.call(this,t)||this),"name",""),D(w(r),"description",""),D(w(r),"tags",[]),D(w(r),"metas",[]),D(w(r),"pictures",[]),r.hasError||(r.id=t.id,r.name=t.name,r.description=t.description,r.createDate=t.createDate,r.endDate=t.endDate,r.plays=t.plays,r.views=t.views,r.metas=r._formatTagsMetas(t.metas),r.tags=r._formatTagsMetas(t.tags),r.pictures=t.images),r}return r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,n.prototype._formatTagsMetas=function(e){var t=[];return Object.keys(e).forEach((function(r){if(e[r].objects){var n="";e[r].objects.forEach((function(e){n+=e.value+"|"})),t.push({key:r,value:n})}else t.push({key:r,value:e[r].value})})),t},n}(v.a);function k(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function j(e,t,r){return t&&k(e.prototype,t),r&&k(e,r),e}D(L,"Type",{MEDIA:"media",RECORDING:"recording",EPG:"epg"}),D(L,"AssetReferenceType",{MEDIA:"media",EPG_INTERNAL:"epg_internal",EPG_EXTERNAL:"epg_external",NPVR:"nPVR"});var M=function(){function e(e){!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"_response",{}),this.requests=this.buildRequests(e),this._entryId=e.entryId}j(e,null,[{key:"id",get:function(){return"asset"}}]);var t=e.prototype;return t.buildRequests=function(e){var t=o.get(),r=[];return r.push(m.get(t.serviceUrl,e.ks,e.entryId,e.assetReferenceType)),r.push(m.getPlaybackContext(t.serviceUrl,e.ks,e.entryId,e.type,e.playbackContext)),r},t.isValid=function(){return!!this._entryId},j(e,[{key:"requests",set:function(e){this._requests=e},get:function(){return this._requests}},{key:"response",set:function(e){this._response.mediaDataResult=new L(e[0].data),this._response.playBackContextResult=new S(e[1].data)},get:function(){return this._response}}]),e}();function N(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function x(e,t,r){return t&&N(e.prototype,t),r&&N(e,r),e}var U,B,q,V,H=function(){function e(e){!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"_response",{playlistItems:{entries:[]}}),this.requests=this.buildRequests(e),this._entries=e.entries}x(e,null,[{key:"id",get:function(){return"asset_list"}}]);var t=e.prototype;return t.buildRequests=function(e){var t=o.get(),r=[];return e.entries.forEach((function(n){var a=n.assetReferenceType||L.AssetReferenceType.MEDIA;r.push(m.get(t.serviceUrl,e.ks,n.entryId||n,a))})),r},t.isValid=function(){return!(!this._entries||!this._entries.length)},x(e,[{key:"requests",set:function(e){this._requests=e},get:function(){return this._requests}},{key:"response",set:function(e){var t=this;e.forEach((function(e){t._response.playlistItems.entries.push({mediaDataResult:new L(e.data)})}))},get:function(){return this._response}}]),e}(),K=r(1),F=r(12),Y=r(9),W=r(8),G=r(16),J=r(17),X=r(5);var Q=((V={})[L.Type.MEDIA]=((U={})[S.Type.TRAILER]=function(){return{type:K.a.Type.VOD}},U[S.Type.PLAYBACK]=function(e){return"KalturaLiveAsset"===e.objectType?{type:K.a.Type.LIVE,dvrStatus:e.enableTrickPlay?K.a.DvrStatus.ON:K.a.DvrStatus.OFF}:parseInt(e.externalIds)>0?{type:K.a.Type.LIVE,dvrStatus:K.a.DvrStatus.OFF}:{type:K.a.Type.VOD}},U),V[L.Type.EPG]=((B={})[S.Type.CATCHUP]=function(){return{type:K.a.Type.VOD}},B[S.Type.START_OVER]=function(){return{type:K.a.Type.LIVE,dvrStatus:K.a.DvrStatus.ON}},B),V[L.Type.RECORDING]=((q={})[S.Type.PLAYBACK]=function(){return{type:K.a.Type.VOD}},q),V),z=function(){function e(){}return e.getMediaEntry=function(t,r){var n=new K.a;e._fillBaseData(n,t,r);var a=t.playBackContextResult,i=t.mediaDataResult,s=a.sources,o=e._filterSourcesByFormats(s,r.formats);n.sources=e._getParsedSources(o);var u=e._getMediaType(i.data,r.mediaType,r.contextType);return n.type=u.type,n.dvrStatus=u.dvrStatus,n.duration=Math.max.apply(Math,s.map((function(e){return e.duration}))),n},e.getEntryList=function(t,r){var n=new G.a;return t.playlistItems.entries.forEach((function(t){var a=new K.a,i=r.find((function(e){return e.entryId===t.mediaDataResult.id}));e._fillBaseData(a,t,i),n.items.push(a)})),n},e.getBumper=function(e){var t=e.playBackContextResult.plugins.find((function(e){return e.streamertype===A.StreamerType.PROGRESSIVE}));if(t)return new J.a(t)},e._fillBaseData=function(t,r,n){var a=r.mediaDataResult,i=e.reconstructMetadata(a);return i.description=a.description,i.name=a.name,a.createDate&&(i.createdAt=a.createDate),a.endDate&&(i.endDate=a.endDate),a.data.entryId&&(i.entryId=a.data.entryId),a.data.epgId&&(i.epgId=a.data.epgId),a.data.recordingId&&(i.recordingId=a.data.recordingId),n&&n.mediaType&&(i.mediaType=n.mediaType),n&&n.contextType&&(i.contextType=n.contextType),t.metadata=i,t.poster=e._getPoster(a.pictures),t.id=a.id,t},e.reconstructMetadata=function(t){return{metas:e.addToMetaObject(t.metas),tags:e.addToMetaObject(t.tags)}},e.addToMetaObject=function(e){var t={};return e&&e.forEach((function(e){t[e.key]=e.value})),t},e._getPoster=function(e){if(e&&e.length>0){var t=e[0].url;return/.*\/thumbnail\/.*(?:width|height)\/\d+\/(?:height|width)\/\d+/.test(t)?t:e.map((function(e){return{url:e.url,width:e.width,height:e.height}}))}return""},e._getMediaType=function(e,t,r){var n={type:K.a.Type.UNKNOWN};return Q[t]&&Q[t][r]&&(n=Q[t][r](e)),n},e._filterSourcesByFormats=function(e,t){return t.length>0&&(e=e.filter((function(e){return t.includes(e.type)}))),e},e._getParsedSources=function(t){var r=new W.a,n=function(t){var n=e._parseAdaptiveSource(t);if(n){var a=X.b.get(t.format);r.map(n,a)}};return t&&t.length>0&&(t.filter((function(e){return!Object(X.c)(e.format)})).forEach(n),t.filter((function(e){return Object(X.c)(e.format)})).forEach(n)),r},e._parseAdaptiveSource=function(t){var r=new Y.a;if(t){var n=t.url,a=X.b.get(t.format);if(a&&(r.mimetype=a.mimeType),!n)return e._logger.error("failed to create play url from source, discarding source: ("+t.fileId+"), "+t.format+"."),null;if(r.url=n,r.id=t.fileId+","+t.format,t.hasDrmData()){var i=[];t.drm.forEach((function(e){i.push(new F.a(e.licenseURL,R.a.Scheme[e.scheme],e.certificate))})),r.drmData=i}}return r},e.hasBlockAction=function(e){return e.playBackContextResult.hasBlockAction()},e.getBlockAction=function(e){return e.playBackContextResult.getBlockAction()},e.getErrorMessages=function(e){return e.playBackContextResult.getErrorMessages()},e}();!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(z,"_logger",Object(a.b)("OTTProviderParser"));var Z=r(0);function $(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var ee=function(e){var t,r;function n(t,r){var n;return(n=e.call(this,t,r)||this)._logger=Object(a.b)("OTTProvider"),o.set(t.env),n._networkRetryConfig=Object.assign(n._networkRetryConfig,t.networkRetryParameters),n}r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var i,s,u,c=n.prototype;return c.getMediaConfig=function(e){var t=this;return e.ks&&(this.ks=e.ks,this._isAnonymous=!1),this._dataLoader=new f(this.partnerId,this.ks,this._networkRetryConfig),new Promise((function(r,n){var a=e.entryId;if(a){var i=t.ks;i||(i="{1:result:ks}",t._dataLoader.add(g,{partnerId:t.partnerId}));var s=e.contextType||S.Type.PLAYBACK,o=e.mediaType||L.Type.MEDIA,u=e.assetReferenceType||L.AssetReferenceType.MEDIA,c={mediaProtocol:e.protocol,assetFileIds:e.fileIds,context:s};e.streamerType&&(c.streamerType=e.streamerType),e.urlType&&(c.urlType=e.urlType),e.adapterData&&(c.adapterData=e.adapterData),t._dataLoader.add(M,{entryId:a,ks:i,type:o,playbackContext:c,assetReferenceType:u});var p={contextType:s,mediaType:o,formats:e.formats||[]};return t._dataLoader.fetchData().then((function(e){try{r(t._parseDataFromResponse(e,p))}catch(e){n(e)}}),(function(e){n(e)}))}n(new Z.a(Z.a.Severity.CRITICAL,Z.a.Category.PROVIDER,Z.a.Code.MISSING_MANDATORY_PARAMS,{message:"missing entry id"}))}))},c._parseDataFromResponse=function(e,t){this._logger.debug("Data parsing started");var r={session:{isAnonymous:this._isAnonymous,partnerId:this.partnerId},sources:this._getDefaultSourcesObject(),plugins:{}};if(this.uiConfId&&(r.session.uiConfId=this.uiConfId),e){if(e.has(g.id)){var n=e.get(g.id);n&&n.response&&(r.session.ks=n.response)}else r.session.ks=this.ks;if(e.has(M.id)){var a=e.get(M.id);if(a&&a.response&&Object.keys(a.response).length){var i=a.response;if(z.hasBlockAction(i))throw new Z.a(Z.a.Severity.CRITICAL,Z.a.Category.SERVICE,Z.a.Code.BLOCK_ACTION,{action:z.getBlockAction(i),messages:z.getErrorMessages(i)});var s=z.getMediaEntry(i,t);Object.assign(r.sources,this._getSourcesObject(s)),this._verifyHasSources(r.sources);var o=z.getBumper(i);o&&Object.assign(r.plugins,{bumper:o})}}}return this._logger.debug("Data parsing finished",r),r},c.getEntryListConfig=function(e){var t=this;return e.ks&&(this.ks=e.ks,this._isAnonymous=!1),this._dataLoader=new f(this.partnerId,this.ks,this._networkRetryConfig),new Promise((function(r,n){var a=e.entries;if(a&&a.length){var i=t.ks;i||(i="{1:result:ks}",t._dataLoader.add(g,{partnerId:t.partnerId})),t._dataLoader.add(H,{entries:a,ks:i}),t._dataLoader.fetchData(!1).then((function(e){r(t._parseEntryListDataFromResponse(e,a))}),(function(e){n(e)}))}else n({success:!1,data:"Missing mandatory parameter"})}))},c._parseEntryListDataFromResponse=function(e,t){var r=this;this._logger.debug("Data parsing started");var n={id:"",metadata:{name:"",description:""},poster:"",items:[],playlistLastEntryId:""};if(e&&e.has(H.id)){var a=e.get(H.id);if(a&&a.response)z.getEntryList(a.response,t).items.forEach((function(e){return n.items.push({sources:r._getSourcesObject(e)})}))}return this._logger.debug("Data parsing finished",n),n},c._getDefaultSourcesObject=function(){return{hls:[],dash:[],progressive:[],image:[],id:"",duration:0,type:K.a.Type.UNKNOWN,poster:"",dvr:!1,vr:null,metadata:{name:"",description:"",tags:""}}},c._getSourcesObject=function(e){var t=this._getDefaultSourcesObject(),r=e.sources.toJSON();return t.hls=r.hls,t.dash=r.dash,t.progressive=r.progressive,t.id=e.id,t.duration=e.duration,t.type=e.type,t.dvr=!!e.dvrStatus,t.poster=e.poster,e.metadata&&e.metadata.metas&&"string"==typeof e.metadata.metas.tags&&e.metadata.metas.tags.indexOf("360")>-1&&(t.vr={}),Object.assign(t.metadata,e.metadata),t},i=n,(s=[{key:"env",get:function(){return o.get()}}])&&$(i.prototype,s),u&&$(i,u),n}(n.a),te="@playkit-js/playkit-js-providers-ott",re="2.40.1-canary.0-f2a1cb3",ne=S.Type,ae=L.Type}])}));
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var s=t();for(var r in s)("object"==typeof exports?exports:e)[r]=s[r]}}(self,(()=>(()=>{"use strict";var e={d:(t,s)=>{for(var r in s)e.o(s,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:s[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function r(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==s(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,"string");if("object"!==s(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===s(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}e.r(t),e.d(t,{ContextType:()=>J,MediaType:()=>$,NAME:()=>W,Provider:()=>Y,VERSION:()=>G});const a={get:()=>({VERSION:"",DEBUG:{value:"",name:""},ERROR:{value:"",name:""},INFO:{value:"",name:""},OFF:{value:"",name:""},TIME:{value:"",name:""},TRACE:{value:"",name:""},WARN:{value:"",name:""},createDefaultHandler:()=>{},debug:()=>{},enabledFor:()=>{},error:()=>{},get:()=>{},getLevel:()=>{},info:()=>{},log:()=>{},setHandler:()=>{},setLevel:()=>{},time:()=>{},timeEnd:()=>{},trace:()=>{},useDefaults:()=>{},warn:()=>{}})};let i={};function o(e){return a.get(e)}const n=o;class c{constructor(e,t,s,r={}){this.severity=e,this.category=t,this.code=s,this.data=r,c._logger.error(`Category:${t} | Code:${s} |`,r)}}r(c,"Severity",{RECOVERABLE:1,CRITICAL:2}),r(c,"Category",{NETWORK:1,SERVICE:2,PROVIDER:3}),r(c,"Code",{UNSUPPORTED_SCHEME:1e3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,BAD_SERVER_RESPONSE:1005,MULTIREQUEST_API_ERROR:1006,API_RESPONSE_MISMATCH:1007,ERROR:2e3,BLOCK_ACTION:2001,MEDIA_STATUS_NOT_READY:2002,MISSING_MANDATORY_PARAMS:3e3,MISSING_PLAY_SOURCE:3001,METHOD_NOT_IMPLEMENTED:3002}),r(c,"_logger",n("Error"));class h{get partnerId(){return this._partnerId}get widgetId(){return this._widgetId||this.defaultWidgetId}get defaultWidgetId(){return"_"+this._partnerId}get uiConfId(){return this._uiConfId}get ks(){return this._ks}set ks(e){this._ks=e}get playerVersion(){return this._playerVersion}get isAnonymous(){return this._isAnonymous}constructor(e,t){r(this,"_networkRetryConfig",{async:!0,timeout:0,maxAttempts:4}),function(e){e&&"function"==typeof e.getLogger&&(a.get=e.getLogger),e&&e.LogLevel&&(i=e.LogLevel)}(e.logger),this._partnerId=e.partnerId,this._widgetId=e.widgetId,this._uiConfId=e.uiConfId,this._isAnonymous=!e.ks,this._ks=e.ks||"",this._playerVersion=t}getMediaConfig(e){return Promise.reject(new c(c.Severity.CRITICAL,c.Category.PROVIDER,c.Code.METHOD_NOT_IMPLEMENTED,{message:"getMediaConfig method must be implement by the derived class"}))}getPlaylistConfig(e){return Promise.reject(new c(c.Severity.CRITICAL,c.Category.PROVIDER,c.Code.METHOD_NOT_IMPLEMENTED,{message:"The provider does not support loading playlist by id"}))}getEntryListConfig(e){return Promise.reject(new c(c.Severity.CRITICAL,c.Category.PROVIDER,c.Code.METHOD_NOT_IMPLEMENTED,{message:"The provider does not support loading entry list"}))}_verifyHasSources(e){if(0===e.hls.concat(e.dash,e.progressive,e.image).length)throw new c(c.Severity.CRITICAL,c.Category.SERVICE,c.Code.MISSING_PLAY_SOURCE,{action:"",messages:`No play source for entry id: ${e.id}`})}get LogLevel(){return i}getLogLevel(e){return function(e){return o(e).getLevel()}(e)}setLogLevel(e,t){!function(e,t){o(t).setLevel(e)}(e,t)}}const u=e=>{let t;return Array.isArray(e)?(t=e.length>0?e.slice(0):[],t.forEach(((e,s)=>{("object"==typeof e||Array.isArray(e)&&e.length>0)&&(t[s]=u(e))}))):"object"==typeof e?(t=Object.assign({},e),Object.keys(t).forEach((e=>{("object"==typeof t[e]||Array.isArray(t[e])&&t[e].length>0)&&(t[e]=u(t[e]))}))):t=e,t},p={serviceParams:{apiVersion:"7.8.1"}};class d{static set(e){e&&Object.assign(p,e)}static get(){return u(p)}}class l{constructor(e){r(this,"_loadersResponseMap",new Map),r(this,"_loaders",new Map),this._networkRetryConfig=e}add(e,t,s){const r=new e(t);if(r.isValid()){this._loaders.set(e.id,r);const t=this._multiRequest.requests.length,a=r.requests;this._multiRequest.retryConfig=this._networkRetryConfig,a.forEach((e=>{e.params=e.params||{},e.params.ks=e.params.ks||s,this._multiRequest.add(e)}));const i=Array.from(new Array(a.length),((e,s)=>s+t));this._loadersResponseMap.set(e.id,i)}}fetchData(e){return new Promise(((t,s)=>{this._multiRequest.execute(e).then((e=>{this._multiResponse=e.response,this.prepareData(e.response).success?t(this._loaders):s(new c(c.Severity.CRITICAL,c.Category.NETWORK,c.Code.API_RESPONSE_MISMATCH,{headers:e.headers}))}),(e=>{s(e)}))}))}prepareData(e){return this._loaders.forEach(((t,s)=>{const r=this._loadersResponseMap.get(s);try{r&&r.length>0&&(t.response=e.results.slice(r[0],r[r.length-1]+1))}catch(e){return{success:!1,error:e}}})),{success:!0,data:this._loaders}}}class m{constructor(e=new Map){r(this,"retryConfig",{async:!0,timeout:0,maxAttempts:4}),r(this,"_attemptCounter",1),this.headers=e}getUrl(e){return e+"/service/"+this.service+(this.action?"/action/"+this.action:"")}doHttpRequest(){const e=new Promise(((e,t)=>{this._requestPromise={resolve:e,reject:t}}));return this.url||this._requestPromise.reject(new c(c.Severity.CRITICAL,c.Category.NETWORK,c.Code.MALFORMED_DATA_URI,{url:this.url})),this._createXHR(),e}_createXHR(){const e=new XMLHttpRequest;e.onreadystatechange=()=>{if(4===e.readyState&&200===e.status)try{const t=JSON.parse(e.responseText);return this.responseHeaders=this._getResponseHeaders(e),this._requestPromise.resolve(t)}catch(t){this._requestPromise.reject(this._createError(e,c.Code.BAD_SERVER_RESPONSE,{text:e.responseText}))}},e.open(this.method,this.url,this.retryConfig.async),this.retryConfig.async&&this.retryConfig.timeout&&(e.timeout=this.retryConfig.timeout);const t=performance.now();e.ontimeout=()=>{this._handleError(e,c.Code.TIMEOUT,{timeout:(performance.now()-t)/1e3,statusText:e.statusText})},e.onerror=e.onabort=()=>{this._handleError(e,c.Code.HTTP_ERROR,{text:e.responseText,statusText:e.statusText})},this.headers.forEach(((t,s)=>{e.setRequestHeader(s,t)})),e.send(this.params)}_getResponseHeaders(e){return e.getAllResponseHeaders().split("\n").filter((e=>0===e.toLowerCase().indexOf("x-")))}_handleError(e,t,s){const r=this._createError(e,t,s);if(e.onreadystatechange=function(){},e.onerror=function(){},e.ontimeout=function(){},e.onabort=function(){},!(this.retryConfig.maxAttempts&&this._attemptCounter<this.retryConfig.maxAttempts))return this._requestPromise.reject(r);this._attemptCounter++,this._createXHR()}_createError(e,t,s){return Object.assign(s,{url:this.url,headers:this._getResponseHeaders(e),attempt:this._attemptCounter}),new c(c.Severity.CRITICAL,c.Category.NETWORK,t,s)}}class g{constructor(e){r(this,"hasError",!1),"KalturaAPIException"===e.objectType?(this.hasError=!0,this.error=new y(e.code,e.message)):e.error&&"KalturaAPIException"===e.error.objectType?(this.hasError=!0,this.error=new y(e.error.code,e.error.message)):this.data=e}}class y{constructor(e,t){this.code=e,this.message=t}}class _ extends m{constructor(...e){super(...e),r(this,"requests",[])}add(e){this.requests.push(e);const t={},s={service:e.service,action:e.action};return Object.assign(t,{[this.requests.length]:Object.assign(s,e.params)}),Object.assign(t,this.params),this.params=t,this}execute(e){return new Promise(((t,s)=>{try{this.params=JSON.stringify(this.params)}catch(e){_._logger.error(`${e.message}`),s(new c(c.Severity.CRITICAL,c.Category.PROVIDER,c.Code.FAILED_PARSING_REQUEST,{error:e,params:this.params}))}this.doHttpRequest().then((r=>{const a=new f(r,e);a.success?t({headers:this.responseHeaders,response:a}):s(new c(c.Severity.CRITICAL,c.Category.NETWORK,c.Code.MULTIREQUEST_API_ERROR,{url:this.url,headers:this.responseHeaders,results:a.results}))}),(e=>{s(e)}))}))}}r(_,"_logger",n("MultiRequestBuilder"));class f{constructor(e,t=!0){r(this,"results",[]);const s=e.result?e.result:e,a=(Array.isArray(s)?s:[s]).map((e=>new g(e))),i=a.filter((e=>e.hasError));i.forEach((e=>{f._logger.error(`Service returned an error with error code: ${e.error.code} and message: ${e.error.message}.`)})),this.results=a,t&&i.length||i.length===this.results.length?this.success=!1:(this.results=this.results.filter((e=>!e.hasError)),this.success=!0)}}r(f,"_logger",n("MultiRequestResult"));class T{static getMultiRequest(e,t){const s=d.get(),r=s.serviceParams;e&&Object.assign(r,{ks:e}),t&&Object.assign(r,{partnerId:t});const a=new Map;a.set("Content-Type","application/json");const i=new _(a);return i.method="POST",i.service="multirequest",i.url=i.getUrl(s.serviceUrl),i.params=r,i}}class E extends l{constructor(e,t="",s){super(s),this._multiRequest=T.getMultiRequest(t,e)}}class R extends T{static anonymousLogin(e,t,s){const r=new Map;r.set("Content-Type","application/json");const a=new m(r);a.service="ottuser",a.action="anonymousLogin",a.method="POST",a.url=a.getUrl(e);const i={partnerId:t};return s&&Object.assign(i,{udid:s}),a.params=i,a}}class I{static get id(){return"session"}constructor(e){r(this,"_response",{}),this.requests=this.buildRequests(e),this._partnerId=e.partnerId}set requests(e){this._requests=e}get requests(){return this._requests}set response(e){this._response.ks=e[0].data.ks}get response(){return this._response.ks}buildRequests(e){const t=d.get(),s=[];return s.push(R.anonymousLogin(t.serviceUrl,e.partnerId,e.udid)),s}isValid(){return!!this._partnerId}}const A="asset";class C extends T{static getPlaybackContext(e,t,s,r,a){const i=new Map;i.set("Content-Type","application/json");const o=new m(i);o.service=A,o.action="getPlaybackContext",o.method="POST",o.url=o.getUrl(e);const n={objectType:"KalturaPlaybackContextOptions"};return Object.assign(n,a),o.params={assetId:s,assetType:r,contextDataParams:n,ks:t},o}static get(e,t,s,r){const a=new Map;a.set("Content-Type","application/json");const i=new m(a);return i.service=A,i.action="get",i.method="POST",i.url=i.getUrl(e),i.params={id:s,assetReferenceType:r,ks:t},i}}class O{constructor(e){this.message=e.message,this.code=e.code}}class S{constructor(e){this.type=e.type}}r(S,"Type",{BLOCK:"BLOCK",START_DATE_OFFSET:"START_DATE_OFFSET",END_DATE_OFFSET:"END_DATE_OFFSET",USER_BLOCK:"USER_BLOCK",ALLOW_PLAYBACK:"ALLOW_PLAYBACK",BLOCK_PLAYBACK:"BLOCK_PLAYBACK",APPLY_DISCOUNT_MODULE:"APPLY_DISCOUNT_MODULE"});class v{constructor(e){this.scheme=e.scheme,this.licenseURL=e.licenseURL,this.certificate=e.certificate}}r(v,"Scheme",{"drm.PLAYREADY_CENC":"com.microsoft.playready","drm.WIDEVINE_CENC":"com.widevine.alpha","fairplay.FAIRPLAY":"com.apple.fairplay",WIDEVINE_CENC:"com.widevine.alpha",PLAYREADY_CENC:"com.microsoft.playready",FAIRPLAY:"com.apple.fairplay"});class D{constructor(e){r(this,"drm",[]),this.format=e.format,this.adsPolicy=e.adsPolicy,this.adsParam=e.adsParam,this.duration=e.duration,this.url=e.url,this.type=e.type,this.fileId=e.id,this.protocols=e.protocols,e.drm&&e.drm.map((e=>this.drm.push(new v(e))))}hasDrmData(){return this.drm&&this.drm.length>0}getProtocol(e){let t="";if(this.protocols&&this.protocols.length>0)this.protocols.split(",").forEach((s=>{s===e&&(t=s)}));else if("http"===e)return e;return t}}class L{constructor(e){this.streamertype=e.streamertype,this.url=e.url}}r(L,"StreamerType",{HLS:"hls",DASH:"dash",PROGRESSIVE:"progressive"});class P extends g{constructor(e){if(super(e),r(this,"sources",[]),r(this,"actions",[]),r(this,"messages",[]),r(this,"plugins",[]),!this.hasError){const t=e.messages;t&&t.map((e=>this.messages.push(new O(e))));const s=e.actions;s&&s.map((e=>this.actions.push(new S(e))));const r=e.sources;r&&r.map((e=>this.sources.push(new D(e))));const a=e.plugins;a&&a.map((e=>this.plugins.push(new L(e))))}}hasBlockAction(){return void 0!==this.getBlockAction()}getBlockAction(){return this.actions.find((e=>e.type===S.Type.BLOCK))}getErrorMessages(){return this.messages}}r(P,"Type",{DOWNLOAD:"DOWNLOAD",TRAILER:"TRAILER",CATCHUP:"CATCHUP",START_OVER:"START_OVER",PLAYBACK:"PLAYBACK"});class w extends g{constructor(e){super(e),r(this,"name",""),r(this,"description",""),r(this,"tags",[]),r(this,"metas",[]),r(this,"pictures",[]),this.hasError||(this.id=e.id,this.name=e.name,this.description=e.description,this.createDate=e.createDate,this.endDate=e.endDate,this.plays=e.plays,this.views=e.views,this.metas=this._formatTagsMetas(e.metas),this.tags=this._formatTagsMetas(e.tags),this.pictures=e.images)}_formatTagsMetas(e){const t=[];return Object.keys(e).forEach((s=>{if(e[s].objects){let r="";e[s].objects.forEach((e=>{r+=e.value+"|"})),t.push({key:s,value:r})}else t.push({key:s,value:e[s].value})})),t}}r(w,"Type",{MEDIA:"media",RECORDING:"recording",EPG:"epg"}),r(w,"AssetReferenceType",{MEDIA:"media",EPG_INTERNAL:"epg_internal",EPG_EXTERNAL:"epg_external",NPVR:"nPVR"});class b{static get id(){return"asset"}constructor(e){r(this,"_response",{}),this.requests=this.buildRequests(e),this._entryId=e.entryId}set requests(e){this._requests=e}get requests(){return this._requests}set response(e){this._response.mediaDataResult=new w(e[0].data),this._response.playBackContextResult=new P(e[1].data)}get response(){return this._response}buildRequests(e){const t=d.get(),s=[];return s.push(C.get(t.serviceUrl,e.ks,e.entryId,e.assetReferenceType)),s.push(C.getPlaybackContext(t.serviceUrl,e.ks,e.entryId,e.type,e.playbackContext)),s}isValid(){return!!this._entryId}}class M{static get id(){return"asset_list"}constructor(e){r(this,"_response",{playlistItems:{entries:[]}}),this.requests=this.buildRequests(e),this._entries=e.entries}set requests(e){this._requests=e}get requests(){return this._requests}set response(e){e.forEach((e=>{this._response.playlistItems.entries.push({mediaDataResult:new w(e.data)})}))}get response(){return this._response}buildRequests(e){const t=d.get(),s=[];return e.entries.forEach((r=>{const a=r.assetReferenceType||w.AssetReferenceType.MEDIA;s.push(C.get(t.serviceUrl,e.ks,r.entryId||r,a))})),s}isValid(){return!(!this._entries||!this._entries.length)}}const N={DASH:{name:"dash",mimeType:"application/dash+xml",pathExt:"mpd"},HLS:{name:"hls",mimeType:"application/x-mpegURL",pathExt:"m3u8"},WVM:{name:"wvm",mimeType:"video/wvm",pathExt:"wvm"},MP4:{name:"mp4",mimeType:"video/mp4",pathExt:"mp4"},MP3:{name:"mp3",mimeType:"audio/mpeg",pathExt:"mp3"}},k=new Map([["mpegdash",N.DASH],["applehttp",N.HLS],["url",N.MP4]]);function x(e){const t=k.get(e);return!!t&&t.name===N.MP4.name}class j{constructor(){this.progressive=[],this.dash=[],this.hls=[],this.image=[]}map(e,t){if(t)switch(t.name){case N.MP4.name:this.progressive.push(e);break;case N.DASH.name:this.dash.push(e);break;case N.HLS.name:this.hls.push(e)}}toJSON(){const e={progressive:[],dash:[],hls:[],image:[]};return this.progressive.forEach((t=>e.progressive.push(t.toJSON()))),this.hls.forEach((t=>e.hls.push(t.toJSON()))),this.dash.forEach((t=>e.dash.push(t.toJSON()))),e.image=this.image,e}}class U{constructor(){this.metadata=new Map,this.sources=new j,this.type=U.Type.UNKNOWN}toJSON(){return{id:this.id,name:this.name,sources:this.sources.toJSON(),duration:this.duration,dvrStatus:this.dvrStatus,status:this.status,metadata:this.metadata,type:this.type,poster:this.poster,assetReferenceType:this.assetReferenceType,downloadUrl:this.downloadUrl}}}r(U,"Type",{VOD:"Vod",LIVE:"Live",IMAGE:"Image",AUDIO:"Audio",UNKNOWN:"Unknown"}),r(U,"DvrStatus",{ON:1,OFF:0});class B{constructor(e,t,s){this.licenseUrl=e,this.scheme=t,s&&(this.certificate=s)}toJSON(){const e={licenseUrl:this.licenseUrl,scheme:this.scheme};return this.certificate&&(e.certificate=this.certificate),e}}class q{toJSON(){const e={id:this.id,url:this.url,mimetype:this.mimetype};return this.bandwidth&&(e.bandwidth=this.bandwidth),this.width&&(e.width=this.width),this.height&&(e.height=this.height),this.label&&(e.label=this.label),this.drmData&&this.drmData.length>0&&(e.drmData=[],this.drmData.forEach((t=>{Array.isArray(e.drmData)&&e.drmData.push(t.toJSON())}))),e}}class V{constructor(){this.items=[]}}class H{constructor(e){this.url=e.url,this.clickThroughUrl=e.clickThroughUrl}}const K={[w.Type.MEDIA]:{[P.Type.TRAILER]:()=>({type:U.Type.VOD}),[P.Type.PLAYBACK]:e=>"KalturaLiveAsset"===e.objectType?{type:U.Type.LIVE,dvrStatus:e.enableTrickPlay?U.DvrStatus.ON:U.DvrStatus.OFF}:parseInt(e.externalIds)>0?{type:U.Type.LIVE,dvrStatus:U.DvrStatus.OFF}:{type:U.Type.VOD}},[w.Type.EPG]:{[P.Type.CATCHUP]:()=>({type:U.Type.VOD}),[P.Type.START_OVER]:()=>({type:U.Type.LIVE,dvrStatus:U.DvrStatus.ON})},[w.Type.RECORDING]:{[P.Type.PLAYBACK]:()=>({type:U.Type.VOD})}};class F{static getMediaEntry(e,t){const s=new U;F._fillBaseData(s,e,t);const r=e.playBackContextResult,a=e.mediaDataResult,i=r.sources,o=F._filterSourcesByFormats(i,t.formats);s.sources=F._getParsedSources(o);const n=F._getMediaType(a.data,t.mediaType,t.contextType);return s.type=n.type,s.dvrStatus=n.dvrStatus,s.duration=Math.max.apply(Math,i.map((e=>e.duration))),s}static getEntryList(e,t){const s=new V;return e.playlistItems.entries.forEach((e=>{const r=new U,a=t.find((t=>t.entryId===e.mediaDataResult.id));F._fillBaseData(r,e,a),s.items.push(r)})),s}static getBumper(e){const t=e.playBackContextResult.plugins.find((e=>e.streamertype===L.StreamerType.PROGRESSIVE));if(t)return new H(t)}static _fillBaseData(e,t,s){const r=t.mediaDataResult,a=F.reconstructMetadata(r);return a.description=r.description,a.name=r.name,r.createDate&&(a.createdAt=r.createDate),r.endDate&&(a.endDate=r.endDate),r.data.entryId&&(a.entryId=r.data.entryId),r.data.epgId&&(a.epgId=r.data.epgId),r.data.recordingId&&(a.recordingId=r.data.recordingId),s&&s.mediaType&&(a.mediaType=s.mediaType),s&&s.contextType&&(a.contextType=s.contextType),e.metadata=a,e.poster=F._getPoster(r.pictures),e.id=r.id,e}static reconstructMetadata(e){return{metas:F.addToMetaObject(e.metas),tags:F.addToMetaObject(e.tags)}}static addToMetaObject(e){const t={};return e&&e.forEach((e=>{t[e.key]=e.value})),t}static _getPoster(e){if(e&&e.length>0){const t=e[0].url;return/.*\/thumbnail\/.*(?:width|height)\/\d+\/(?:height|width)\/\d+/.test(t)?t:e.map((e=>({url:e.url,width:e.width,height:e.height})))}return""}static _getMediaType(e,t,s){let r={type:U.Type.UNKNOWN};return K[t]&&K[t][s]&&(r=K[t][s](e)),r}static _filterSourcesByFormats(e,t){return t.length>0&&(e=e.filter((e=>t.includes(e.type)))),e}static _getParsedSources(e){const t=new j,s=e=>{const s=F._parseAdaptiveSource(e);if(s){const r=k.get(e.format);t.map(s,r)}};return e&&e.length>0&&(e.filter((e=>!x(e.format))).forEach(s),e.filter((e=>x(e.format))).forEach(s)),t}static _parseAdaptiveSource(e){const t=new q;if(e){const s=e.url,r=k.get(e.format);if(r&&(t.mimetype=r.mimeType),!s)return F._logger.error(`failed to create play url from source, discarding source: (${e.fileId}), ${e.format}.`),null;if(t.url=s,t.id=e.fileId+","+e.format,e.hasDrmData()){const s=[];e.drm.forEach((e=>{s.push(new B(e.licenseURL,v.Scheme[e.scheme],e.certificate))})),t.drmData=s}}return t}static hasBlockAction(e){return e.playBackContextResult.hasBlockAction()}static getBlockAction(e){return e.playBackContextResult.getBlockAction()}static getErrorMessages(e){return e.playBackContextResult.getErrorMessages()}}r(F,"_logger",n("OTTProviderParser"));class Y extends h{constructor(e,t){super(e,t),this._logger=n("OTTProvider"),d.set(e.env),this._networkRetryConfig=Object.assign(this._networkRetryConfig,e.networkRetryParameters)}get env(){return d.get()}getMediaConfig(e){return e.ks&&(this.ks=e.ks,this._isAnonymous=!1),this._dataLoader=new E(this.partnerId,this.ks,this._networkRetryConfig),new Promise(((t,s)=>{const r=e.entryId;if(r){let a=this.ks;a||(a="{1:result:ks}",this._dataLoader.add(I,{partnerId:this.partnerId}));const i=e.contextType||P.Type.PLAYBACK,o=e.mediaType||w.Type.MEDIA,n=e.assetReferenceType||w.AssetReferenceType.MEDIA,c={mediaProtocol:e.protocol,assetFileIds:e.fileIds,context:i};e.streamerType&&(c.streamerType=e.streamerType),e.urlType&&(c.urlType=e.urlType),e.adapterData&&(c.adapterData=e.adapterData),this._dataLoader.add(b,{entryId:r,ks:a,type:o,playbackContext:c,assetReferenceType:n});const h={contextType:i,mediaType:o,formats:e.formats||[]};return this._dataLoader.fetchData().then((e=>{try{t(this._parseDataFromResponse(e,h))}catch(e){s(e)}}),(e=>{s(e)}))}s(new c(c.Severity.CRITICAL,c.Category.PROVIDER,c.Code.MISSING_MANDATORY_PARAMS,{message:"missing entry id"}))}))}_parseDataFromResponse(e,t){this._logger.debug("Data parsing started");const s={session:{isAnonymous:this._isAnonymous,partnerId:this.partnerId},sources:this._getDefaultSourcesObject(),plugins:{}};if(this.uiConfId&&(s.session.uiConfId=this.uiConfId),e){if(e.has(I.id)){const t=e.get(I.id);t&&t.response&&(s.session.ks=t.response)}else s.session.ks=this.ks;if(e.has(b.id)){const r=e.get(b.id);if(r&&r.response&&Object.keys(r.response).length){const e=r.response;if(F.hasBlockAction(e))throw new c(c.Severity.CRITICAL,c.Category.SERVICE,c.Code.BLOCK_ACTION,{action:F.getBlockAction(e),messages:F.getErrorMessages(e)});const a=F.getMediaEntry(e,t);Object.assign(s.sources,this._getSourcesObject(a)),this._verifyHasSources(s.sources);const i=F.getBumper(e);i&&Object.assign(s.plugins,{bumper:i})}}}return this._logger.debug("Data parsing finished",s),s}getEntryListConfig(e){return e.ks&&(this.ks=e.ks,this._isAnonymous=!1),this._dataLoader=new E(this.partnerId,this.ks,this._networkRetryConfig),new Promise(((t,s)=>{const r=e.entries;if(r&&r.length){let e=this.ks;e||(e="{1:result:ks}",this._dataLoader.add(I,{partnerId:this.partnerId})),this._dataLoader.add(M,{entries:r,ks:e}),this._dataLoader.fetchData(!1).then((e=>{t(this._parseEntryListDataFromResponse(e,r))}),(e=>{s(e)}))}else s({success:!1,data:"Missing mandatory parameter"})}))}_parseEntryListDataFromResponse(e,t){this._logger.debug("Data parsing started");const s={id:"",metadata:{name:"",description:""},poster:"",items:[],playlistLastEntryId:""};if(e&&e.has(M.id)){const r=e.get(M.id);r&&r.response&&F.getEntryList(r.response,t).items.forEach((e=>s.items.push({sources:this._getSourcesObject(e)})))}return this._logger.debug("Data parsing finished",s),s}_getDefaultSourcesObject(){return{hls:[],dash:[],progressive:[],image:[],id:"",duration:0,type:U.Type.UNKNOWN,poster:"",dvr:!1,vr:null,metadata:{name:"",description:"",tags:""}}}_getSourcesObject(e){const t=this._getDefaultSourcesObject(),s=e.sources.toJSON();return t.hls=s.hls,t.dash=s.dash,t.progressive=s.progressive,t.id=e.id,t.duration=e.duration,t.type=e.type,t.dvr=!!e.dvrStatus,t.poster=e.poster,e.metadata&&e.metadata.metas&&"string"==typeof e.metadata.metas.tags&&e.metadata.metas.tags.indexOf("360")>-1&&(t.vr={}),Object.assign(t.metadata,e.metadata),t}}const W="@playkit-js/playkit-js-providers-ott",G="2.40.2-canary.0-c7a43ae",J=P.Type,$=w.Type;return t})()));
2
2
  //# sourceMappingURL=playkit-ott-provider.js.map