{"version":3,"sources":["webpack:///./src/views/playerPage/playerPage.scss?b084","webpack:///./src/views/playerPage/playerPage.vue?4283","webpack:///./node_modules/can-autoplay/build/can-autoplay.es.js","webpack:///./src/views/playerPage/playerPage.ts","webpack:///./src/views/playerPage/playerPage.ts?0a0f","webpack:///./src/views/playerPage/playerPage.vue","webpack:///./src/support/amp-titleOverlay/amp-titleOverlay.scss?11d7"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","staticStyle","attrs","studio","logoUrl","_e","_v","_s","title","directives","name","rawName","value","live","videos","length","expression","_l","video","dontPlay","key","id","on","$event","playVideo","_m","playing","style","width","options","height","placeholder","top","line1","line2","middle","error","bottom","videoCaption","unMutePlayingVideo","class","liveButtonClass","liveButtonDisabled","onPlayLiveSessionClick","tooltip","playtests","study","$$selectedVal","Array","prototype","filter","call","target","o","selected","map","val","_value","$set","multiple","domProps","staticRenderFns","AUDIO","Blob","Uint8Array","type","VIDEO","setupDefaultValues","Object","assign","muted","timeout","inline","startPlayback","_ref","elementCallback","_elementCallback","element","source","playResult","timeoutId","sendOutput","setAttribute","src","Promise","resolve","play","setTimeout","Error","result","arguments","undefined","remove","srcObject","clearTimeout","then","catch","playError","document","createElement","URL","createObjectURL","audio","index","DefaultFontSize","DefaultWidth","DefaultHeight","RestoreSelectedStudy","PlayerPageComponent","_StudioPageBase","_inherits","_super","_createSuper","_this","_classCallCheck","autoPlay","Browser","getBoolParam","autoRefresh","sizeOverwritten","getIntParam","duration","hide","hideSideBar","liveVideoOnly","playerOnly","mute","refreshInterval","seekPos","stream","getParam","getParamEscaped","showVideoLinks","refreshTimeout","multiPlayerView","fakeLiveVideos","fakeNewVideos","alwaysPlayNewVideo","fakeOwner","fakeAdmin","settings","debugSettings","canAutoPlay","loading","playList","Globals","NewPlaylist","wizardVideo","shareUrl","adminVideo","showMultiPlayers","resumed","miniVideos","state","VideoPlayerState","NONE","pendingStream","refresh","lastRefreshCheck","Date","playIntervalMs","list","timers","refreshIntervalId","_createClass","get","liveVideoCount","videoCount","isLive","livePrefix","playable","forEach","push","oldVal","window","sessionStorage","setItem","backgroundUrl","updateBackgroundImage","_this2","_get","_getPrototypeOf","Debug","setDebugModule","serverData","isAdmin","isOwner","EventBus","Instance","$on","VideosChanged","refreshPage","_this3","resizePlayer","$","resize","setInterval","showInitialSettings","_this4","stopVideo","splice","clearInterval","loaded","studioId","XboxResearch","initialLoad","PlayerUtil","redirectToRequestAccess","$router","alias","_initialLoad","_asyncToGenerator","regeneratorRuntime","mark","_callee","wrap","_context","prev","next","getPlaylist","sent","processPlaytestResponse","checkCanAutoPlay","t0","Util","showError","redirectToError","finish","stop","apply","initialResize","current","innerWidth","rescaleRootFontSize","player","resizeVideo","css","getItem","idx","_playVideo","_callee2","userInvoked","event","validation","canPlayAudio","_args2","_context2","updateMiniPlayers","log","options_autoPlay","busy","getStreamUrl","abrupt","streamUrl","token","testPlaybackUrl","encodeURI","encodeURIComponent","AmsPlayer","callbacks","onError","onEnded","onMute","initialSeekPos","initialDuration","autoMuted","showToast","_x","muteVideo","params","url","location","origin","pathname","copyToClipboard","_createFilter","_callee3","endPos","startPos","model","message","_context3","Math","max","getPosition","videoToStreamApiDto","startTimeSec","floor","endTimeSec","PlayerApi","createFilter","_x2","showSettingsWizard","indexOf","_downloadVideo","_callee4","interval","_this5","_args4","_context4","disableDownload","recreateMP4","completed","completeDownload","succeeded","waitForBackgroundJob","downloadVideo","_x3","_waitForBackgroundJob","_callee5","jobInfo","_context5","checkBackgroundJob","downloadProgress","round","progress","_x4","_x5","_x6","downloadUrl","_checkDownloadProgress","_callee6","_context6","checkDownloadProgress","_x7","_x8","_x9","error2","clearError","e","_this6","ENDED","miniVideo","code","ERROR","findIndex","item","err","_refreshPage","_callee7","force","now","timeDiff","_args7","_context7","abs","response","refreshMode","studies","hash","autoPlayLiveVideoOnLoad","addStudyVideoPrivateMembers","addVideoListPrivateMembers","liveVideos","synchronizeStudies","synchronizeVideos","selectStudy","playableMiniVideos","notPlaying","tailSynchronizeVideos","studyList","_checkStream","_callee8","reason","asset","_args8","_context8","checkStreamExists","checkStream","_x10","find","_getPlaylist","_callee9","cached","_args9","_context9","_getStreamUrl","_callee10","_context10","_x11","_checkStreamExists","_callee11","_context11","_x12","_x13","_recreateMP","_callee12","_context12","_x14","optionalSettings","clearStack","parent","deleteVideo","_this7","console","_testRefreshPage","_callee13","_args13","_context13","testRefreshPage","StudioPageBase","__decorate","Watch","immediate","deep","Component","component"],"mappings":"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AG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,GAAI,IAAK,GAAI,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,EAAG,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EA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","file":"js/chunk-72b6c98f.1f46a8e2.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./playerPage.scss?vue&type=style&index=1&prod&lang=scss&external\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"player-page-wrapper\"},[_c('textarea',{staticStyle:{\"position\":\"absolute\",\"left\":\"-9999px\",\"height\":\"1px\"},attrs:{\"id\":\"copyToClipboard\",\"disabled\":\"disabled\"}}),_c('div',{staticClass:\"ui-column title-row\"},[_c('div',{staticClass:\"ui-row logo-title\"},[(_vm.studio.hasLogoImage)?_c('img',{staticStyle:{\"max-height\":\"120px\"},attrs:{\"src\":_vm.studio.logoUrl}}):_vm._e(),_c('h3',[_vm._v(_vm._s(_vm.studio.title))]),_c('router-link',{staticClass:\"btn btn-default\",attrs:{\"to\":\"/\",\"title\":\"Return to all studios / products\"}},[_c('span',[_vm._v(\"Return to Portals\")])])],1)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.live.videos.length > 1),expression:\"live.videos.length > 1\"}],staticClass:\"ui-row\"},[_vm._l((_vm.miniVideos),function(video){return [(!video.dontPlay)?_c('div',{key:video.id,staticClass:\"top-player ui-column\"},[_c('player',{attrs:{\"video\":video,\"id\":video.id,\"width\":385,\"height\":216,\"mute\":true}}),_c('div',{staticClass:\"video-caption ui-row\"},[_c('span',{staticClass:\"player-video-name\"},[_vm._v(\"\\n \"+_vm._s(video.title)+\"\\n \")]),_c('a',{staticClass:\"mini-player-play-primary\",attrs:{\"href\":\"javascript:void(0);\",\"title\":\"Make primary video\",\"id\":'vod-link-' + video.id},on:{\"click\":function($event){_vm.playVideo(video, true, $event)}}},[_vm._m(0,true)]),_c('video-buttons',{attrs:{\"video\":video,\"mode\":'live-mini'}})],1)],1):_vm._e()]})],2),_c('div',{staticClass:\"ui-row-top\"},[_c('div',{staticClass:\"ui-column\"},[_c('div',{staticClass:\"main-player\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.playing.video),expression:\"!playing.video\"}],staticClass:\"placeholder-image placeholder-message-top\",style:({width: _vm.options.width + 'px', height: _vm.options.height + 'px' }),attrs:{\"id\":\"placeholder-image\"}},[_c('h2',{attrs:{\"id\":\"placeholder-message-top\"}},[_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.placeholder.top.line1)+\"\\n \"),(_vm.placeholder.top.line2)?_c('br'):_vm._e(),_vm._v(\"\\n \"+_vm._s(_vm.placeholder.top.line2)+\"\\n \")])]),_c('div',{staticClass:\"placeholder-message-middle\"},[_c('p',{attrs:{\"id\":\"placeholder-message-middle\"}},[_vm._v(\"\\n \"+_vm._s(_vm.placeholder.middle.line1)+\"\\n \"),(_vm.placeholder.middle.line2)?_c('br'):_vm._e(),_vm._v(\"\\n \"+_vm._s(_vm.placeholder.middle.line2)+\"\\n \")])]),_c('div',{staticClass:\"placeholder-message-error\"},[(_vm.placeholder.error.line1)?_c('p',{attrs:{\"id\":\"placeholder-message-error\"}},[_vm._v(\"\\n \"+_vm._s(_vm.placeholder.error.line1)+\"\\n \"),(_vm.placeholder.error.line2)?_c('br'):_vm._e(),_vm._v(\"\\n \"+_vm._s(_vm.placeholder.error.line2)+\"\\n \")]):_vm._e()]),_c('div',{staticClass:\"placeholder-message-bottom\"},[_c('p',{attrs:{\"id\":\"placeholder-message-bottom\"}},[_vm._v(\"\\n \"+_vm._s(_vm.placeholder.bottom.line1)+\"\\n \")])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.playing.video),expression:\"playing.video\"}],attrs:{\"id\":\"sur-player\"}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.videoCaption),expression:\"videoCaption\"}],staticClass:\"video-caption ui-row\",attrs:{\"id\":\"players-container-video-name\"}},[_c('span',{staticClass:\"player-video-name\"},[_vm._v(\"\\n \"+_vm._s(_vm.videoCaption)+\"\\n \")]),(_vm.playing.video)?_c('span',[_c('i',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.playing.video.busy),expression:\"playing.video.busy\"}],staticClass:\"fa fa-spinner fa-spin fa-fw image-icon\"})]):_vm._e(),_c('video-buttons',{attrs:{\"video\":_vm.playing.video,\"mode\":'live'}}),(_vm.playing.video)?_c('div',[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.playing.video.autoMuted),expression:\"playing.video.autoMuted\"}],staticClass:\"btn btn-default\",attrs:{\"title\":\"Click to un-mute the video and hear the audio. Browser does not allow auto play of audio with out user interaction.\"},on:{\"click\":_vm.unMutePlayingVideo}},[_vm._v(\"\\n Muted\\n \")])]):_vm._e()],1)])]),_c('div',{staticClass:\"right-column\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"selection-bar selection-bar-loading\"},[_vm._v(\"\\n Loading Videos   \\n \"),_c('i',{staticClass:\"fa fa-spinner fa-spin fa-fw image-icon\"})]),(_vm.showSideBar)?_c('div',{staticClass:\"selection-bar\"},[(_vm.showLiveSessions)?_c('div',{staticClass:\"live-session\"},[_c('label',{attrs:{\"name\":\"Live Sessions\"}},[_vm._v(\"Live Session\")]),_c('br'),(_vm.live.videos.length)?_c('button',{staticClass:\"btn\",class:_vm.liveButtonClass,attrs:{\"title\":\"Play Live Video\",\"disabled\":_vm.liveButtonDisabled,\"id\":\"play-live-session\"},on:{\"click\":_vm.onPlayLiveSessionClick}},[_vm._v(\"\\n Play Live Session\\n \")]):_c('span',[_vm._v(\"No Live Sessions\")]),_c('br'),((_vm.live.videos.length > 1 || false))?_c('div',{attrs:{\"id\":\"live-videos\"}},[_vm._l((_vm.live.videos),function(video){return [_c('span',{staticClass:\"video-list-item ui-row\",attrs:{\"title\":'Click to play ' + video.title,\"id\":'vod-link-' + video.id}},[_c('a',{staticClass:\"video-list-item-play-video\",attrs:{\"href\":\"javascript:void(0);\",\"title\":'Click to play ' + video.tooltip,\"id\":'vod-link-' + video.id},on:{\"click\":function($event){_vm.playVideo(video, true, $event)}}},[_vm._v(\"\\n \"+_vm._s(video.title)+\"\\n \")]),_c('span',[_c('i',{directives:[{name:\"show\",rawName:\"v-show\",value:(video.busy),expression:\"video.busy\"}],staticClass:\"fa fa-spinner fa-spin fa-fw image-icon\"})]),_c('div',{staticClass:\"video-caption-buttons\"},[_c('video-buttons',{attrs:{\"video\":video,\"mode\":'vod'}})],1)])]})],2):_vm._e(),(_vm.live.playtests.length > 0)?_c('div',{attrs:{\"id\":\"playtest-videos\"}},[_vm._l((_vm.live.playtests),function(video){return [_c('span',{staticClass:\"video-list-item ui-row\",attrs:{\"title\":'Click to play ' + video.title,\"id\":'vod-link-' + video.id}},[_c('a',{staticClass:\"video-list-item-play-video\",attrs:{\"href\":\"javascript:void(0);\",\"title\":'Click to play ' + video.tooltip,\"id\":'vod-link-' + video.id},on:{\"click\":function($event){_vm.playVideo(video, true, $event)}}},[_vm._v(\"\\n \"+_vm._s(video.title)+\"\\n \")]),_c('span',[_c('i',{directives:[{name:\"show\",rawName:\"v-show\",value:(video.busy),expression:\"video.busy\"}],staticClass:\"fa fa-spinner fa-spin fa-fw image-icon\"})]),_c('div',{staticClass:\"video-caption-buttons\"},[_c('video-buttons',{attrs:{\"video\":video,\"mode\":'vod'}})],1)])]})],2):_vm._e()]):_vm._e(),(_vm.showVOD)?_c('div',{staticClass:\"vod\"},[_c('label',{attrs:{\"name\":\"Video On Demand\"}},[_vm._v(\"Video On Demand\")]),_c('br'),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.study.selected),expression:\"study.selected\"}],staticClass:\"form-control\",attrs:{\"title\":\"Select Study to populate videos\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.study, \"selected\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.study.list),function(study){return _c('option',{domProps:{\"value\":study}},[_vm._v(_vm._s(study.name))])}),0),_c('div',{staticClass:\"video-item-list\"},[_vm._l((_vm.study.selected.videos),function(video){return (_vm.study.selected.videos)?[_c('div',{staticClass:\"video-list-item ui-row-nowrap\",attrs:{\"title\":'Click to play ' + video.title,\"id\":'vod-link-' + video.id}},[_c('a',{staticClass:\"video-list-item-play-video\",attrs:{\"href\":\"javascript:void(0);\",\"title\":'Click to play ' + video.tooltip,\"id\":'vod-link-' + video.id},on:{\"click\":function($event){_vm.playVideo(video, true, $event)}}},[_vm._v(\"\\n \"+_vm._s(video.title)+\"\\n \")]),_c('span',[_c('i',{directives:[{name:\"show\",rawName:\"v-show\",value:(video.busy),expression:\"video.busy\"}],staticClass:\"fa fa-spinner fa-spin fa-fw image-icon\"})]),_c('div',[_c('video-buttons',{attrs:{\"video\":video,\"mode\":'vod'}})],1)])]:_vm._e()})],2)]):_vm._e()]):_vm._e()])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"ms-Icon ms-Icon--Play image-icon\",attrs:{\"aria-hidden\":\"true\"}})])}]\n\nexport { render, staticRenderFns }","/* global Blob */\n// This file is generated. Do not edit this file directly.\n// Command: 'npm run generate' should be used to update the content.\n\n/**\n * @type {Blob}\n */\nvar AUDIO = new Blob([new Uint8Array([255, 227, 24, 196, 0, 0, 0, 3, 72, 1, 64, 0, 0, 4, 132, 16, 31, 227, 192, 225, 76, 255, 67, 12, 255, 221, 27, 255, 228, 97, 73, 63, 255, 195, 131, 69, 192, 232, 223, 255, 255, 207, 102, 239, 255, 255, 255, 101, 158, 206, 70, 20, 59, 255, 254, 95, 70, 149, 66, 4, 16, 128, 0, 2, 2, 32, 240, 138, 255, 36, 106, 183, 255, 227, 24, 196, 59, 11, 34, 62, 80, 49, 135, 40, 0, 253, 29, 191, 209, 200, 141, 71, 7, 255, 252, 152, 74, 15, 130, 33, 185, 6, 63, 255, 252, 195, 70, 203, 86, 53, 15, 255, 255, 247, 103, 76, 121, 64, 32, 47, 255, 34, 227, 194, 209, 138, 76, 65, 77, 69, 51, 46, 57, 55, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 227, 24, 196, 73, 13, 153, 210, 100, 81, 135, 56, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170])], { type: 'audio/mpeg' });\n\n/**\n * @type {Blob}\n */\nvar VIDEO = new Blob([new Uint8Array([0, 0, 0, 28, 102, 116, 121, 112, 105, 115, 111, 109, 0, 0, 2, 0, 105, 115, 111, 109, 105, 115, 111, 50, 109, 112, 52, 49, 0, 0, 0, 8, 102, 114, 101, 101, 0, 0, 2, 239, 109, 100, 97, 116, 33, 16, 5, 32, 164, 27, 255, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 33, 16, 5, 32, 164, 27, 255, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 167, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, 0, 2, 194, 109, 111, 111, 118, 0, 0, 0, 108, 109, 118, 104, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 232, 0, 0, 0, 47, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 236, 116, 114, 97, 107, 0, 0, 0, 92, 116, 107, 104, 100, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 101, 100, 116, 115, 0, 0, 0, 28, 101, 108, 115, 116, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 47, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 100, 109, 100, 105, 97, 0, 0, 0, 32, 109, 100, 104, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 68, 0, 0, 8, 0, 85, 196, 0, 0, 0, 0, 0, 45, 104, 100, 108, 114, 0, 0, 0, 0, 0, 0, 0, 0, 115, 111, 117, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 111, 117, 110, 100, 72, 97, 110, 100, 108, 101, 114, 0, 0, 0, 1, 15, 109, 105, 110, 102, 0, 0, 0, 16, 115, 109, 104, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 100, 105, 110, 102, 0, 0, 0, 28, 100, 114, 101, 102, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 12, 117, 114, 108, 32, 0, 0, 0, 1, 0, 0, 0, 211, 115, 116, 98, 108, 0, 0, 0, 103, 115, 116, 115, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 87, 109, 112, 52, 97, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 16, 0, 0, 0, 0, 172, 68, 0, 0, 0, 0, 0, 51, 101, 115, 100, 115, 0, 0, 0, 0, 3, 128, 128, 128, 34, 0, 2, 0, 4, 128, 128, 128, 20, 64, 21, 0, 0, 0, 0, 1, 244, 0, 0, 1, 243, 249, 5, 128, 128, 128, 2, 18, 16, 6, 128, 128, 128, 1, 2, 0, 0, 0, 24, 115, 116, 116, 115, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 0, 28, 115, 116, 115, 99, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 28, 115, 116, 115, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 115, 0, 0, 1, 116, 0, 0, 0, 20, 115, 116, 99, 111, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 44, 0, 0, 0, 98, 117, 100, 116, 97, 0, 0, 0, 90, 109, 101, 116, 97, 0, 0, 0, 0, 0, 0, 0, 33, 104, 100, 108, 114, 0, 0, 0, 0, 0, 0, 0, 0, 109, 100, 105, 114, 97, 112, 112, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 105, 108, 115, 116, 0, 0, 0, 37, 169, 116, 111, 111, 0, 0, 0, 29, 100, 97, 116, 97, 0, 0, 0, 1, 0, 0, 0, 0, 76, 97, 118, 102, 53, 54, 46, 52, 48, 46, 49, 48, 49])], { type: 'video/mp4' });\n\n/* global URL */\nfunction setupDefaultValues(options) {\n return Object.assign({\n muted: false,\n timeout: 250,\n inline: false\n }, options);\n}\n\nfunction startPlayback(_ref, elementCallback) {\n var muted = _ref.muted,\n timeout = _ref.timeout,\n inline = _ref.inline;\n\n var _elementCallback = elementCallback(),\n element = _elementCallback.element,\n source = _elementCallback.source;\n\n var playResult = void 0;\n var timeoutId = void 0;\n var sendOutput = void 0;\n\n element.muted = muted;\n if (muted === true) {\n element.setAttribute('muted', 'muted');\n }\n // indicates that the video is to be played \"inline\",\n // that is within the element's playback area.\n if (inline === true) {\n element.setAttribute('playsinline', 'playsinline');\n }\n\n element.src = source;\n\n return new Promise(function (resolve) {\n playResult = element.play();\n timeoutId = setTimeout(function () {\n sendOutput(false, new Error('Timeout ' + timeout + ' ms has been reached'));\n }, timeout);\n sendOutput = function sendOutput(result) {\n var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n // Clean up to avoid MediaElementLeak\n element.remove();\n element.srcObject = null;\n\n clearTimeout(timeoutId);\n resolve({ result: result, error: error });\n };\n\n if (playResult !== undefined) {\n playResult.then(function () {\n return sendOutput(true);\n }).catch(function (playError) {\n return sendOutput(false, playError);\n });\n } else {\n sendOutput(true);\n }\n });\n}\n\n//\n// API\n//\n\nfunction video(options) {\n options = setupDefaultValues(options);\n return startPlayback(options, function () {\n return {\n element: document.createElement('video'),\n source: URL.createObjectURL(VIDEO)\n };\n });\n}\n\nfunction audio(options) {\n options = setupDefaultValues(options);\n return startPlayback(options, function () {\n return {\n element: document.createElement('audio'),\n source: URL.createObjectURL(AUDIO)\n };\n });\n}\n\nvar index = { audio: audio, video: video };\n\nexport default index;\n","import $ from 'jquery';\r\nimport { findIndex } from 'lodash';\r\nimport { Component, Watch } from 'vue-property-decorator';\r\nimport AmsPlayer from '@/components/player/player_ams';\r\nimport Globals from '@/globals';\r\nimport Browser from '@/support/browser';\r\nimport PlayerApi from '@/support/playerApi';\r\nimport PlayerUtil from '@/support/playerUtil';\r\nimport Util from '@/support/utility';\r\nimport canAutoPlay from 'can-autoplay';\r\nimport StudioPageBase from '@/support/studioPageBase';\r\nimport { IVideo, IStudy, IShowSettings } from '@/interfaces';\r\nimport { VideoPlayerState } from '@/globals';\r\nimport { EventBus } from '@/support/eventBus';\r\n\r\n// ReSharper disable InconsistentNaming\r\nconst DefaultFontSize = 10;\r\nconst DefaultWidth = 640;\r\nconst DefaultHeight = 360;\r\nconst RestoreSelectedStudy = false;\r\n// ReSharper restore InconsistentNaming\r\n\r\n@Component\r\nexport default class PlayerPageComponent extends StudioPageBase {\r\n options = {\r\n autoPlay: !Browser.getBoolParam('skipAutoPlay', false) && !Browser.getBoolParam('noAutoPlay', false),\r\n autoRefresh: !Browser.getBoolParam('noRefresh', false) && Browser.getBoolParam('autoRefresh', true),\r\n sizeOverwritten: Browser.getIntParam('playerWidth', 0) > 0 && Browser.getIntParam('playerHeight', 0) > 0,\r\n duration: Browser.getIntParam('duration', 0),\r\n height: Browser.getIntParam('playerHeight', DefaultHeight),\r\n hide: Browser.getBoolParam('hide', false),\r\n hideSideBar: Browser.getBoolParam(\"hideSideBar\", false) || Browser.getBoolParam('playerOnly', false),\r\n liveVideoOnly: Browser.getBoolParam('liveVideoOnly', false),\r\n playerOnly: Browser.getBoolParam('playerOnly', false),\r\n mute: Browser.getBoolParam('mute', false),\r\n refreshInterval: Browser.getIntParam('refreshInterval', 5 * 60) * 1000,\r\n seekPos: Browser.getIntParam('seekPos', 0),\r\n stream: Browser.getParam('stream', null),\r\n title: Browser.getParamEscaped(\"title\", null),\r\n width: Browser.getIntParam('playerWidth', DefaultWidth),\r\n showVideoLinks: Browser.getBoolParam('showVideoLinks', false),\r\n refreshTimeout: Browser.getIntParam(\"refreshTimeout\", 300),\r\n multiPlayerView: Browser.getBoolParam('multiPlayerView', false),\r\n fakeLiveVideos: Browser.getIntParam('fakeLiveVideos', 0),\r\n fakeNewVideos: Browser.getIntParam('fakeNewVideos', 0),\r\n alwaysPlayNewVideo: Browser.getBoolParam('alwaysPlayNewVideo', false),\r\n fakeOwner: Browser.getBoolParam('fakeOwner', false),\r\n fakeAdmin: Browser.getBoolParam('fakeAdmin', false),\r\n settings: false,\r\n debugSettings: Browser.getParam('debugSettings', null),\r\n };\r\n\r\n canAutoPlay = false;\r\n loading = true;\r\n playList: SUR.PlayListModel = Globals.NewPlaylist;\r\n video: IVideo = null;\r\n wizardVideo: IVideo = null;\r\n shareUrl: string = null;\r\n adminVideo: IVideo = null;\r\n showMultiPlayers: boolean = false;\r\n resumed = false;\r\n\r\n live = {\r\n videos: [],\r\n playtests: [],\r\n };\r\n miniVideos: IVideo[] = [];\r\n\r\n playing = {\r\n autoPlay: false,\r\n state: VideoPlayerState.NONE,\r\n pendingStream: false, // this.options.stream if any\r\n video: null,\r\n };\r\n\r\n refresh = {\r\n lastRefreshCheck: new Date(),\r\n playIntervalMs: 20 * 1000, // playing check interval time\r\n };\r\n\r\n study = {\r\n selected: null,\r\n list: []\r\n };\r\n\r\n timers = {\r\n refreshIntervalId: 0,\r\n };\r\n\r\n placeholder = {\r\n top: {\r\n line1: 'Live Session has not started yet,',\r\n line2: ' remain on the page until it begins automatically.',\r\n },\r\n middle: {\r\n line1: 'To watch previous session, select your study',\r\n line2: ' and click the video on the right.',\r\n },\r\n bottom: {\r\n line1: '*If you experience technical difficulties, please contact your user researcher.',\r\n line2: null,\r\n },\r\n error: {\r\n line1: null,\r\n line2: null,\r\n }\r\n };\r\n\r\n /* BEGIN COMPUTED */\r\n get show() {\r\n return !this.options.hide ||\r\n (this.playList.liveVideoCount > 0 || this.playList.videoCount > 0) ||\r\n this.live.videos.length > 0 || this.study.list.length > 0;\r\n }\r\n\r\n get showNoVideos() {\r\n return false;\r\n }\r\n\r\n get showSideBar() {\r\n return !this.options.playerOnly && !this.options.stream && !this.options.hideSideBar && (!this.options.liveVideoOnly || this.live.videos.length > 1 || this.live.playtests.length > 0);\r\n }\r\n\r\n get showVOD() {\r\n return !this.options.playerOnly && !this.options.liveVideoOnly && !this.options.stream && this.study.list.length > 0;\r\n }\r\n\r\n get showLiveSessions() {\r\n return !this.options.playerOnly && !this.options.stream && (this.study.list.length > 0 || this.live.videos.length > 0 || this.live.playtests.length > 0);\r\n }\r\n\r\n get liveButtonDisabled() {\r\n return this.live.videos.length == 0 || (this.playing.video && this.playing.video.isLive);\r\n }\r\n\r\n get liveButtonClass() {\r\n return this.live.videos.length ? 'btn-success' : 'btn-default';\r\n }\r\n\r\n get videoCaption() {\r\n if (!this.options.playerOnly && !this.options.sizeOverwritten && this.playing.video) {\r\n const livePrefix = this.playing.video.isLive ? ' Live ' : '';\r\n return 'Playing ' + livePrefix + 'Video - ' + this.playing.video.title;\r\n }\r\n return null;\r\n }\r\n\r\n get playableMiniVideos() {\r\n let playable = [];\r\n this.live.videos.forEach(video => {\r\n if (video.filter)\r\n return;\r\n\r\n playable.push(video);\r\n });\r\n return playable;\r\n }\r\n\r\n /* END COMPUTED */\r\n\r\n @Watch('study.selected', { immediate: true, deep: true })\r\n onSelectedStudyChanged(val: string, oldVal: string) {\r\n if (this.loading) return;\r\n\r\n if (this.study && this.study.selected && this.study.selected.name) {\r\n window.sessionStorage.setItem(this.studio.studio + '.selected.study', this.study.selected.name);\r\n //Debug.log('onSelectedStudyChanged', this.study.selected.name, this.study.selected.name.length);\r\n }\r\n }\r\n\r\n @Watch('studio', { immediate: true, deep: true })\r\n onStudioChanged(val: SUR.AzureStudioDto, oldVal: SUR.AzureStudioDto) {\r\n if (val && val.backgroundUrl) {\r\n this.updateBackgroundImage();\r\n }\r\n }\r\n\r\n created() {\r\n super.created('playerPage', true, true);\r\n Debug.setDebugModule('App', this);\r\n\r\n this.playing.autoPlay = this.options.autoPlay;\r\n\r\n if (this.options.fakeAdmin) {\r\n this.serverData.isAdmin = true;\r\n this.studio.isOwner = true;\r\n }\r\n\r\n if (this.options.fakeOwner)\r\n this.studio.isOwner = true;\r\n\r\n EventBus.Instance.$on(EventBus.VideosChanged, () => {\r\n this.refreshPage(true);\r\n });\r\n }\r\n\r\n mounted() {\r\n super.mounted();\r\n\r\n //console.log(\"playerPage mounted\");\r\n\r\n this.resizePlayer(true);\r\n\r\n $(window).resize(() => {\r\n this.resizePlayer();\r\n });\r\n\r\n this.playing.pendingStream = this.options.stream || false;\r\n\r\n this.timers.refreshIntervalId = setInterval(() => {\r\n //Debug.log(\"refresh from refreshInterval\", this.options.refreshTimeout);\r\n this.refreshPage();\r\n }, this.options.refreshInterval);\r\n\r\n this.showInitialSettings();\r\n }\r\n\r\n beforeDestroy() {\r\n this.stopVideo(this.playing.video);\r\n\r\n this.miniVideos.forEach(video => {\r\n this.stopVideo(video);\r\n });\r\n this.miniVideos.splice(0, this.miniVideos.length);\r\n\r\n super.beforeDestroy();\r\n\r\n if (this.timers.refreshIntervalId) {\r\n clearInterval(this.timers.refreshIntervalId);\r\n this.timers.refreshIntervalId = 0;\r\n }\r\n }\r\n\r\n protected onLoaded(loaded: boolean) {\r\n super.onLoaded(loaded);\r\n\r\n if (!loaded || !this.studio.studioId) {\r\n PlayerUtil.redirectToRequestAccess(this.$router, this.alias);\r\n return;\r\n }\r\n\r\n document.title = this.studio.title + ' - ' + Globals.XboxResearch;\r\n\r\n this.updateBackgroundImage();\r\n this.initialLoad();\r\n }\r\n\r\n async initialLoad() {\r\n try {\r\n // get cached playList\r\n let playList = await this.getPlaylist(true);\r\n\r\n if (!playList) {\r\n Debug.error('initialLoad missing playList');\r\n }\r\n\r\n this.processPlaytestResponse(playList, false);\r\n this.checkCanAutoPlay();\r\n } catch (err) {\r\n Debug.error(err);\r\n Util.showError(err);\r\n PlayerUtil.redirectToError(this.$router);\r\n }\r\n finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n resizePlayer(initialResize = false) {\r\n let current = {\r\n width: this.options.width,\r\n height: this.options.height,\r\n };\r\n\r\n if (this.options.width > window.innerWidth) {\r\n this.options.width = window.innerWidth;\r\n this.options.height = this.options.width * 9 / 16;\r\n } else if (window.innerWidth >= DefaultWidth) {\r\n if (this.options.width < DefaultWidth) {\r\n this.options.width = DefaultWidth;\r\n this.options.height = DefaultHeight;\r\n }\r\n }\r\n\r\n this.updateBackgroundImage();\r\n\r\n if (!initialResize && current.width == this.options.width)\r\n return;\r\n\r\n Browser.rescaleRootFontSize(this.options.width, DefaultWidth, DefaultFontSize);\r\n\r\n // NOTE: Need to bind via v-show in order to set element properties\r\n this.updateBackgroundImage();\r\n\r\n if (this.playing.video && this.playing.video.player) {\r\n this.playing.video.player.resizeVideo(this.options.width, this.options.height);\r\n }\r\n }\r\n\r\n updateBackgroundImage() {\r\n $('#placeholder-image').css('background', \"url(\" + this.studio.backgroundUrl + \")\");\r\n $(\".placeholder-image\").css('background-size', this.options.width + 'px ' + this.options.height + 'px');\r\n }\r\n\r\n selectStudy() {\r\n if (RestoreSelectedStudy) {\r\n let selected = window.sessionStorage.getItem(this.studio.studio + '.selected.study');\r\n if (selected) {\r\n for (let idx = 0; idx < this.study.list.length; idx++) {\r\n let study = this.study.list[idx];\r\n if (study.name == selected) {\r\n //console.log('selectStudy from storage', study.name);\r\n this.study.selected = this.study.list[idx];\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.study.list.length) {\r\n this.study.selected = this.study.list[0];\r\n } else {\r\n this.study.selected = null;\r\n }\r\n }\r\n\r\n onPlayLiveSessionClick() {\r\n if (this.live.videos.length)\r\n this.playVideo(this.live.videos[0], true);\r\n }\r\n\r\n /**\r\n * playVideo\r\n * @param video - video to play\r\n * @param userInvoked - true if user invoked\r\n * @param event - source event\r\n */\r\n async playVideo(video, userInvoked = false, event: any = {}) {\r\n event = event || {};\r\n userInvoked = userInvoked || false;\r\n\r\n this.stopVideo(video);\r\n if (this.playing.video)\r\n this.stopVideo(this.playing.video);\r\n this.updateMiniPlayers(video);\r\n\r\n Debug.log(\"playVideo\", { userInvoked: userInvoked, options_autoPlay: this.options.autoPlay, canAutoPlay: this.canAutoPlay}, video, event);\r\n\r\n if (event && event.target) {\r\n video.busy = true;\r\n }\r\n\r\n let validation = await this.getStreamUrl(video);\r\n if (validation == null) {\r\n if ((event && event.target) || userInvoked) {\r\n video.busy = false;\r\n }\r\n\r\n if (userInvoked) {\r\n Util.showError('Failed to play video');\r\n }\r\n\r\n return null;\r\n }\r\n\r\n try {\r\n if (!validation.streamUrl) {\r\n this.showError(\"Failed to aquire stream\");\r\n return null;\r\n }\r\n\r\n setTimeout(() => {\r\n if (event && event.target) {\r\n video.busy = false;\r\n }\r\n }, 300);\r\n\r\n Debug.log(\"stream url\", validation, video, event, event.target);\r\n video.streamUrl = validation.streamUrl;\r\n video.token = validation.token;\r\n video.testPlaybackUrl = 'https://ampdemo.azureedge.net/azuremediaplayer.html?url=' + encodeURI(video.streamUrl);\r\n if (video.token)\r\n video.testPlaybackUrl += '&aes=true&aestoken=' + encodeURIComponent(video.token);\r\n this.playing.video = video;\r\n this.playing.state = VideoPlayerState.NONE;\r\n this.playing.autoPlay = this.options.autoPlay;\r\n\r\n let canPlayAudio = (!userInvoked && this.canAutoPlay) || userInvoked;\r\n\r\n video.player = new AmsPlayer('sur-player', this.options.width, this.options.height);\r\n video.player.callbacks.onError = this.onError;\r\n video.player.callbacks.onEnded = this.onEnded;\r\n video.player.callbacks.onMute = this.onMute;\r\n video.player.initialSeekPos = this.options.seekPos;\r\n video.player.initialDuration = this.options.duration;\r\n video.player.mute = this.options.mute ? true : !canPlayAudio;\r\n video.autoMuted = !this.options.mute && !canPlayAudio;\r\n\r\n video.player.playVideo(video, this.options.autoPlay);\r\n\r\n this.loading = false;\r\n\r\n if (video.autoMuted) {\r\n Util.showToast('Video is muted. Click on volume to unmute.');\r\n }\r\n\r\n } catch (e) {\r\n Debug.error(\"playVideo\", video, e);\r\n this.showError(e);\r\n }\r\n\r\n return video;\r\n }\r\n\r\n unMutePlayingVideo() {\r\n if (!this.playing.video || !this.playing.video.player)\r\n return;\r\n\r\n this.playing.video.player.muteVideo(false);\r\n this.playing.video.autoMuted = false;\r\n }\r\n\r\n shareVideo(video) {\r\n let params = video.id;\r\n if (video.filter)\r\n params += '-' + video.filter;\r\n\r\n let url = window.location.origin + window.location.pathname + '?stream=' + encodeURIComponent(params);\r\n Debug.log('shareVideo', url);\r\n\r\n this.shareUrl = url;\r\n\r\n this.copyToClipboard(url, 'Copied share link to clipboard');\r\n }\r\n\r\n async createFilter(video: IVideo) {\r\n try {\r\n Debug.log('createFilter', video);\r\n\r\n if (video.player) {\r\n\r\n let endPos = Math.max(30, video.player.getPosition());\r\n if (endPos > 0) {\r\n video.busy = true;\r\n let startPos = Math.max(0, endPos - 30);\r\n\r\n let model: SUR.CreateFilterDto = PlayerUtil.videoToStreamApiDto(video);\r\n model.startTimeSec = Math.floor(startPos);\r\n model.endTimeSec = Math.floor(endPos);\r\n\r\n Debug.log('createFilter', startPos, endPos, '( ' + (startPos / 60) + ' to ' + (endPos / 60) + ' sec )', model);\r\n let result = await PlayerApi.createFilter(model);\r\n\r\n this.refreshPage(true);\r\n\r\n Util.showToast('Created clip');\r\n\r\n return result;\r\n }\r\n }\r\n\r\n Util.showToast('Failed to create clip', true);\r\n return;\r\n } catch (err) {\r\n let message = err.message || 'ERROR';\r\n Debug.error(\"error\", message);\r\n Util.showToast(message, true);\r\n return null;\r\n } finally {\r\n video.busy = false;\r\n }\r\n }\r\n\r\n copyToClipboard(value: string, message: string = null) {\r\n Browser.copyToClipboard(value, message);\r\n }\r\n\r\n showVideoAdmin(video: IVideo) {\r\n this.showSettingsWizard('videoAdmin', video);\r\n }\r\n\r\n renameAsset(video, event: any = null) {\r\n this.showSettingsWizard('renameAsset', video);\r\n }\r\n\r\n deleteVideo(video, event: any = null) {\r\n this.showSettingsWizard('deleteVideo', video);\r\n }\r\n\r\n removeDeletedVideo(video: IVideo) {\r\n this.study.list.forEach(study => {\r\n let idx = study.videos.indexOf(video);\r\n if (idx != -1)\r\n study.videos.splice(idx, 1);\r\n });\r\n\r\n }\r\n\r\n async downloadVideo(video: IVideo, event: any = null) {\r\n if (video.disableDownload) {\r\n Debug.log('downloadVideo disabled', video.studio, video.id, event);\r\n return false;\r\n }\r\n\r\n Debug.log('downloadVideo starting', video.studio, video.id, event);\r\n video.busy = true;\r\n video.disableDownload = true;\r\n Util.showToast('Processing video. Download link will be provided when ready.

This can take 20 minutes or more.

Please wait.', false, '5000');\r\n\r\n let result = await this.recreateMP4(video);\r\n\r\n if (result.completed) {\r\n this.completeDownload(video, result.succeeded);\r\n return true;\r\n }\r\n\r\n let interval = setInterval(() => {\r\n this.waitForBackgroundJob(video, result, interval);\r\n }, 10000);\r\n\r\n return false;\r\n }\r\n\r\n async waitForBackgroundJob(video: IVideo, jobInfo: SUR.BackgroundJobDto, interval) {\r\n try {\r\n let result = await PlayerApi.checkBackgroundJob(jobInfo);\r\n if (result.completed) {\r\n Debug.log('waitForBackgroundJob', video, jobInfo);\r\n }\r\n\r\n if (result.completed) {\r\n clearInterval(interval);\r\n this.completeDownload(video, result.succeeded);\r\n return true;\r\n }\r\n\r\n // Still running\r\n video.downloadProgress = Math.round(result.progress);\r\n return false;\r\n } catch (err) {\r\n clearInterval(interval);\r\n this.completeDownload(video, false);\r\n\r\n let message = err.message || 'ERROR';\r\n Debug.error('waitForBackgroundJob', message, video);\r\n\r\n return false;\r\n }\r\n }\r\n\r\n completeDownload(video: IVideo, result: boolean) {\r\n video.busy = false;\r\n video.disableDownload = false;\r\n\r\n if (result)\r\n video.downloadUrl = \"/Download/\" + video.studio + \"/\" + video.id;\r\n else\r\n Util.showToast('Failed to create mp4 for ' + video.title, true);\r\n }\r\n\r\n async checkDownloadProgress(video: IVideo, jobInfo: SUR.BackgroundJobDto, interval) {\r\n try {\r\n let result = await PlayerApi.checkBackgroundJob(jobInfo);\r\n\r\n if (result.completed) {\r\n clearInterval(interval);\r\n this.completeDownload(video, result.succeeded);\r\n return true;\r\n }\r\n\r\n // Still running\r\n video.downloadProgress = Math.round(result.progress);\r\n return false;\r\n } catch (err) {\r\n clearInterval(interval);\r\n this.completeDownload(video, false);\r\n\r\n let message = err.message || 'ERROR';\r\n Debug.error('checkDownloadProgress', message, video);\r\n\r\n return false;\r\n }\r\n }\r\n\r\n showError(error: string, error2: string = null) {\r\n Debug.error(\"showError\", error, error2);\r\n this.placeholder.error.line1 = error;\r\n this.placeholder.error.line2 = error2 || null;\r\n }\r\n\r\n clearError() {\r\n this.placeholder.error.line1 = null;\r\n this.placeholder.error.line2 = null;\r\n }\r\n\r\n // Player methods\r\n stopVideo(video: IVideo) {\r\n // stop on error\r\n try {\r\n if (this.playing.video == video)\r\n this.playing.video = null;\r\n\r\n if (video && video.player) {\r\n video.player.stopVideo();\r\n video.player = null;\r\n }\r\n this.clearError();\r\n } catch (e) {\r\n Debug.log(\"stop\", e);\r\n }\r\n }\r\n\r\n // Events\r\n onEnded(video: IVideo) {\r\n if (this.playing.state == VideoPlayerState.ENDED) {\r\n Debug.log(\"onEnded\", \"already ended\");\r\n return;\r\n }\r\n if (video == this.playing.video) {\r\n Debug.log(\"onEnded\", this.playing.video.studio, this.playing.video.id, this.playing.video.id);\r\n this.playing.state = VideoPlayerState.ENDED;\r\n this.clearError();\r\n this.stopVideo(video);\r\n\r\n // refresh when video stopped at end\r\n if (this.options.autoRefresh)\r\n this.refreshPage(true);\r\n }\r\n\r\n this.miniVideos.forEach(miniVideo => {\r\n if (miniVideo == video) {\r\n this.stopVideo(video);\r\n video.dontPlay = true;\r\n }\r\n });\r\n }\r\n\r\n onError(video: IVideo, error: string, code: number, message: string) {\r\n Debug.error(\"onError\", error, code, message, video.studio, video.id, video.id);\r\n this.playing.state = VideoPlayerState.ERROR;\r\n\r\n this.stopVideo(video);\r\n\r\n message = message || \"Error could not play Stream\";\r\n\r\n this.showError(message);\r\n\r\n if (video.isLive) {\r\n let idx = findIndex(this.live.videos, item => item.id == video.id);\r\n if (idx != -1) {\r\n this.live.videos.splice(idx, 1);\r\n Debug.error(\"Removed error video\", video.study, video.id);\r\n }\r\n }\r\n\r\n // refresh when video stopped at end\r\n if (this.options.autoRefresh)\r\n this.refreshPage(true);\r\n }\r\n\r\n onMute(video: IVideo, mute: boolean) {\r\n if (this.playing.video == video)\r\n this.options.mute = mute;\r\n }\r\n\r\n clearAllTimers() {\r\n try {\r\n if (this.timers.refreshIntervalId) {\r\n try {\r\n clearInterval(this.timers.refreshIntervalId);\r\n } catch (err) {\r\n //ignored\r\n }\r\n this.timers.refreshIntervalId = null;\r\n }\r\n } catch (err) {\r\n // ignored\r\n }\r\n }\r\n\r\n async refreshPage(force: boolean = false, autoPlayLiveVideos: boolean = false) {\r\n const now = +new Date();\r\n force = force || false;\r\n if (!force) {\r\n\r\n const timeDiff = Math.abs(now - +this.refresh.lastRefreshCheck);\r\n if (timeDiff < this.options.refreshTimeout) {\r\n Debug.log(\"refreshPage refresh abort to early\", this.options.refreshTimeout / (60 * 1000), now, this.refresh.lastRefreshCheck, \"state\", this.playing.state);\r\n return false;\r\n }\r\n }\r\n\r\n this.refresh.lastRefreshCheck = now; // won't be saved unless use cookies\r\n\r\n let playList = await this.getPlaylist();\r\n\r\n if (playList) {\r\n Debug.log('refreshPage', playList);\r\n this.processPlaytestResponse(playList, true);\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n processPlaytestResponse(response: any, refreshMode: boolean) {\r\n\r\n try {\r\n if (this.options.stream && !response.studies.length && !response.liveVideoCount) {\r\n Debug.log('Warning: stream not found', this.options.stream);\r\n Util.showToast('Missing video', true);\r\n this.showError('Missing video');\r\n this.loading = false;\r\n return false;\r\n }\r\n\r\n if (refreshMode) {\r\n if (response.hash == this.playList.hash) {\r\n // auto play live video - if not already playing\r\n this.autoPlayLiveVideoOnLoad();\r\n return false;\r\n }\r\n\r\n //Debug.log('refresh - new hash', response.hash, response);\r\n this.playList.hash = response.hash;\r\n }\r\n\r\n if (!response.studies) {\r\n Debug.error(\"processPlaytestResponse missing videos\", response);\r\n return false;\r\n }\r\n\r\n //Debug.log('processPlaytestResponse new playlist', response.hash, response); //, JSON.stringify(response, ' ', 3));\r\n\r\n this.addStudyVideoPrivateMembers(response.studies);\r\n PlayerUtil.addVideoListPrivateMembers(response.liveVideos);\r\n\r\n PlayerUtil.synchronizeStudies(this.study.list, response.studies);\r\n PlayerUtil.synchronizeVideos(this.live.videos, response.liveVideos);\r\n\r\n this.updateMiniPlayers(this.playing.video);\r\n\r\n if (!this.playing.video || !this.playing.video.isLive) {\r\n this.selectStudy();\r\n }\r\n\r\n if (!this.playing.video) {\r\n if (this.playableMiniVideos.length > 1) {\r\n this.showMultiPlayers = true;\r\n } else {\r\n if (this.playing.pendingStream) {\r\n this.playing.pendingStream = false;\r\n // play first video if options.stream specified - should be only stream in the list\r\n if (this.study.list.length > 0 && this.study.list[0].videos.length > 0) {\r\n this.playVideo(this.study.list[0].videos[0]);\r\n } else if (this.live.videos.length > 0) {\r\n this.playVideo(this.live.videos[0]);\r\n }\r\n }\r\n\r\n // auto play live video\r\n this.autoPlayLiveVideoOnLoad();\r\n }\r\n }\r\n\r\n if (!refreshMode)\r\n this.refreshPage(true);\r\n\r\n return true;\r\n } catch (e) {\r\n Debug.error(\"processPlaytestResponse\", e);\r\n return false;\r\n }\r\n\r\n }\r\n\r\n updateMiniPlayers(playing: IVideo) {\r\n if (!this.options.autoPlay) return;\r\n\r\n let notPlaying = [];\r\n let playable = this.playableMiniVideos;\r\n if (playable.length > 1) {\r\n // Update list of videos eligible for mini players on top\r\n this.live.videos.forEach(video => {\r\n if (playing && playing.id == video.id)\r\n return;\r\n\r\n notPlaying.push(video);\r\n });\r\n }\r\n\r\n PlayerUtil.tailSynchronizeVideos(this.miniVideos, notPlaying, 'miniVideos');\r\n }\r\n\r\n addStudyVideoPrivateMembers(studyList: IStudy[]) {\r\n studyList.forEach(study => {\r\n PlayerUtil.addVideoListPrivateMembers(study.videos);\r\n });\r\n }\r\n\r\n // Only used for testing purposes\r\n async checkStream(video, reason: string = null) {\r\n let asset = this.checkStreamExists(video, reason);\r\n if (asset) {\r\n //Debug.log(\"checkStream valid\", video.studio, video.id, video, asset);\r\n return asset;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n autoPlayLiveVideoOnLoad() {\r\n if (!this.options.autoPlay || this.live.videos.length == 0)\r\n return;\r\n\r\n if (this.playing.video) {\r\n if (!this.options.alwaysPlayNewVideo)\r\n return;\r\n\r\n // skip if playing same video\r\n if (this.playing.video.id == this.live.videos[0].id)\r\n return;\r\n\r\n this.stopVideo(this.playing.video);\r\n }\r\n\r\n Debug.log(\"autoPlayLiveVideoOnLoad \", this.playList.hash, this.playing.video);\r\n\r\n let video = this.live.videos.find(video => {\r\n return !video.player;\r\n });\r\n\r\n // directly play the liveVideo\r\n if (video) {\r\n this.playVideo(video);\r\n }\r\n }\r\n\r\n async getPlaylist(cached = false) {\r\n try {\r\n let model: SUR.PlaylistDto = {\r\n studio: this.studio.studio,\r\n hash: this.playList.hash,\r\n cached: cached,\r\n fakeNewVideos: this.options.fakeNewVideos,\r\n fakeLiveVideos: this.options.fakeLiveVideos\r\n };\r\n\r\n return await PlayerApi.playList(model);\r\n } catch (err) {\r\n let message = err.message || 'ERROR';\r\n Debug.error(\"error\", message);\r\n return false;\r\n }\r\n }\r\n\r\n async getStreamUrl(video) {\r\n try {\r\n return await PlayerApi.getStreamUrl(video);\r\n } catch (err) {\r\n let message = err.message || 'ERROR';\r\n Debug.error(\"error\", message);\r\n return null;\r\n }\r\n }\r\n\r\n async checkStreamExists(video, reason) {\r\n try {\r\n return await PlayerApi.checkStream(video);\r\n } catch (err) {\r\n let message = err.message || 'ERROR';\r\n Debug.error('checkStreamExists', message, video, reason);\r\n return null;\r\n }\r\n }\r\n\r\n // ReSharper disable once InconsistentNaming\r\n async recreateMP4(video) {\r\n try {\r\n return await PlayerApi.recreateMP4(video, false);\r\n } catch (err) {\r\n let message = err.message || 'ERROR';\r\n Debug.error(\"recreateMP4 exception\", video.studio, video.id, video, message);\r\n Util.showToast('Failed to create mp4. ' + message, true);\r\n return null;\r\n }\r\n }\r\n\r\n showInitialSettings() {\r\n let optionalSettings = this.options.settings || window.sessionStorage.getItem('options.settings') == '1';\r\n window.sessionStorage.setItem('options.settings', null);\r\n\r\n if (optionalSettings) {\r\n this.showSettingsWizard('studioSettings', null, 0, true);\r\n return;\r\n }\r\n\r\n if (this.options.debugSettings) {\r\n this.showSettingsWizard(this.options.debugSettings || 'permissions', null, 800, true);\r\n return;\r\n }\r\n }\r\n\r\n showSettingsWizard(name: string, video: IVideo = null, width: number = 0, clearStack = false) {\r\n let model: IShowSettings = {\r\n name: name,\r\n parent: this,\r\n video: video,\r\n width: width,\r\n clearStack: clearStack\r\n };\r\n\r\n EventBus.showSettingsWizard(model);\r\n }\r\n\r\n testStreamExists() {\r\n let video = this.playing.video || this.study.list[0].videos[0];\r\n this.checkStream(video, 'buffering');\r\n }\r\n\r\n testDeleteVideo() {\r\n let video = this.playing.video || this.study.list[0].videos[0];\r\n this.deleteVideo(video);\r\n }\r\n\r\n testShowToast(message) {\r\n Util.showToast(message || 'Missing message');\r\n }\r\n\r\n checkCanAutoPlay() {\r\n try {\r\n canAutoPlay.video().then(({ result, error }) => {\r\n try {\r\n //Debug.log('checkCanAutoPlay', result, Util.dumpJson(error));\r\n\r\n if (result) {\r\n this.canAutoPlay = true;\r\n } else {\r\n this.canAutoPlay = false;\r\n //Debug.log('checkCanAutoPlay muted playback only');\r\n }\r\n } catch (err) {\r\n console.error('checkCanAutoPlay', err);\r\n }\r\n });\r\n } catch (err) {\r\n console.error('checkCanAutoPlay', err);\r\n }\r\n }\r\n\r\n async testRefreshPage(fakeLiveVideos = 0, fakeNewVideos = 0) {\r\n let model: SUR.PlaylistDto = {\r\n studio: this.studio.studio,\r\n hash: this.playList.hash,\r\n cached: true,\r\n fakeNewVideos: fakeNewVideos,\r\n fakeLiveVideos: fakeLiveVideos\r\n };\r\n\r\n let playList = await PlayerApi.playList(model);\r\n console.log('test', fakeLiveVideos, fakeNewVideos, playList);\r\n\r\n this.processPlaytestResponse(playList, true);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/ts-loader/index.js??ref--13-3!./playerPage.ts?vue&type=script&language=ts&lang=js&external\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/ts-loader/index.js??ref--13-3!./playerPage.ts?vue&type=script&language=ts&lang=js&external\"","import { render, staticRenderFns } from \"./playerPage.vue?vue&type=template&id=193b63d6\"\nimport script from \"./playerPage.ts?vue&type=script&language=ts&lang=js&external\"\nexport * from \"./playerPage.ts?vue&type=script&language=ts&lang=js&external\"\nimport style0 from \"./../../support/amp-titleOverlay/amp-titleOverlay.scss?vue&type=style&index=0&prod&lang=scss&external\"\nimport style1 from \"./playerPage.scss?vue&type=style&index=1&prod&lang=scss&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./amp-titleOverlay.scss?vue&type=style&index=0&prod&lang=scss&external\""],"sourceRoot":""}