!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("clappr")):"function"==typeof define&&define.amd?define(["clappr"],e):"object"==typeof exports?exports.ChromecastPlugin=e(require("clappr")):t.ChromecastPlugin=e(t.Clappr)}(this,function(t){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return t[i].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var n={};return e.m=t,e.c=n,e.p="/",e(0)}([function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;nthis.bootMaxTryCount?(this.bootTryCount=0,c.Log.warn("GCastApi bootstrap timeout"),void this.disable()):void(window.chrome?(this.bootTryCount=0,window.chrome.cast&&window.chrome.cast.isAvailable?(this.appId=this.appId||A,this.initializeCastApi()):window.__onGCastApiAvailable=function(e,n){e?(t.appId=t.appId||A,t.initializeCastApi()):(c.Log.warn("GCastApi error",n),t.disable())}):setTimeout(function(){t.bootstrapCastApi()},this.bootTryDelay))}},{key:"initializeCastApi",value:function(){var t=this,e=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,n=new chrome.cast.SessionRequest(this.appId),i=new chrome.cast.ApiConfig(n,function(e){return t.sessionListener(e)},function(e){return t.receiverListener(e)},e);chrome.cast.initialize(i,function(){return c.Log.debug(t.name,"init success")},function(){return c.Log.warn(t.name,"init error")})}},{key:"sessionListener",value:function(t){c.Log.debug(this.name,"new session id:"+t.sessionId),this.newSession(t)}},{key:"sessionUpdateListener",value:function(){this.session&&(c.Log.debug(this.name,this.session.status),this.session.status===chrome.cast.SessionStatus.STOPPED&&(this.sessionStopped(),this.session=null))}},{key:"receiverListener",value:function(t){t===chrome.cast.ReceiverAvailability.AVAILABLE?(c.Log.debug(this.name,"receiver found"),this.show()):(c.Log.debug(this.name,"receiver list empty"),this.hide())}},{key:"launchSuccess",value:function(t){this.renderConnected(),clearInterval(this.connectAnimInterval),this.core.mediaControl.resetKeepVisible(),c.Log.debug(this.name,"launch success - session: "+t.sessionId),this.newSession(t)}},{key:"launchError",value:function(t){c.Log.debug(this.name,"error on launch",t),this.renderDisconnected(),clearInterval(this.connectAnimInterval),this.core.mediaControl.resetKeepVisible(),this.container.play()}},{key:"loadMediaSuccess",value:function(t,e){c.Log.debug(this.name,"new media session",e,"(",t,")"),this.originalPlayback=this.playback;var n=(0,f.default)({},this.originalPlayback.options,{currentMedia:e,mediaControl:this.core.mediaControl,poster:this.options.poster||this.core.options.poster,settings:this.originalPlayback.settings});this.src=this.originalPlayback.src,this.playbackProxy=new l.default(n),this.playbackProxy.render(),this.core.$el.addClass("chromecast-active"),this.mediaSession=e,this.originalPlayback.$el.remove();var i=this.container;i.$el.append(this.playbackProxy.$el),i.stopListening(),i.playback=this.playbackProxy,i.bindEvents(),i.settingsUpdate()}},{key:"loadMediaError",value:function(t){c.Log.warn(this.name,"media error",t)}},{key:"newSession",value:function(t){var e=this;this.session=t,this.deviceState=E.ACTIVE,this.renderConnected(),t.addUpdateListener(function(){return e.sessionUpdateListener()}),this.containerPlay()}},{key:"sessionStopped",value:function(){this.renderDisconnected();var t=this.currentTime,e=void 0;this.mediaSession&&(e=this.mediaSession.playerState,this.mediaSession=null),this.core.$el.removeClass("chromecast-active"),this.core.load(this.src||this.core.options.sources);var n=this.container;this.playbackProxy&&((this.playbackProxy.isPlaying()||"PAUSED"===e)&&n.once(c.Events.CONTAINER_READY,function(){n.play(),n.playback.seek(100*t/n.getDuration())}),this.playbackProxy.stop())}},{key:"loadMedia",value:function(){var t=this;this.container.pause();var e=this.container.options.src;c.Log.debug(this.name,"loading... "+e);var n=this.createMediaInfo(e),i=new chrome.cast.media.LoadRequest(n);i.autoplay=!0,this.currentTime&&(i.currentTime=this.currentTime),this.session.loadMedia(i,function(e){return t.loadMediaSuccess("loadMedia",e)},function(e){return t.loadMediaError(e)})}},{key:"createMediaInfo",value:function(t){var n=e.mimeTypeFor(t),i=new chrome.cast.media.MediaInfo(t);i.contentType=this.options.contentType||n,i.customData=this.options.customData;var r=this.createMediaMetadata();return i.metadata=r,i}},{key:"createMediaMetadata",value:function(){this.options.media||(this.options.media={});var t=this.options.media.type,n=this.createCastMediaMetadata(t);return n.title=this.options.media.title,n.subtitle=this.options.media.subtitle,n.releaseDate=this.options.media.releaseDate,t===e.TvShow?(n.episode=this.options.media.episode,n.originalAirdate=this.options.media.originalAirdate,n.season=this.options.media.season,n.seriesTitle=this.options.media.seriesTitle):t===e.Movie&&(n.studio=this.options.media.studio),this.options.media.images&&(n.images=this.options.media.images.map(function(t){return new chrome.cast.Image(t)})),!n.images&&this.options.poster&&(n.images=[new chrome.cast.Image(this.options.poster)]),!n.images&&this.core.options.poster&&(n.images=[new chrome.cast.Image(this.core.options.poster)]),n}},{key:"createCastMediaMetadata",value:function(t){switch(t){case e.Movie:return new chrome.cast.media.MovieMediaMetadata;case e.TvShow:return new chrome.cast.media.TvShowMediaMetadata;default:return new chrome.cast.media.GenericMediaMetadata}}},{key:"show",value:function(){this.$el.show()}},{key:"hide",value:function(){this.$el.hide()}},{key:"click",value:function(){var t=this;this.currentTime=this.container.getCurrentTime(),this.container.pause(),chrome.cast.requestSession(function(e){return t.launchSuccess(e)},function(e){return t.launchError(e)}),this.session||!function(){var e=0,n=[m.default,k.default,P.default];clearInterval(t.connectAnimInterval),t.connectAnimInterval=setInterval(function(){t.$el.html(n[e]),e=(e+1)%3},600),t.core.mediaControl.setKeepVisible()}()}},{key:"containerChanged",value:function(){this.stopListening(),this.bindEvents()}},{key:"containerTimeUpdate",value:function(t){this.currentTime=t.current}},{key:"containerPlay",value:function(){!this.session||this.mediaSession&&"IDLE"!==this.mediaSession.playerState&&"PAUSED"!==this.mediaSession.playerState||(c.Log.debug(this.name,"load media"),this.loadMedia())}},{key:"renderConnected",value:function(){this.$el.html(M.default)}},{key:"renderDisconnected",value:function(){this.$el.html(g.default)}},{key:"render",value:function(){return this.session?this.renderConnected():this.renderDisconnected(),this.core.mediaControl.$el.find(".media-control-right-panel[data-media-control]").append(this.$el),this.$style&&this.$style.remove(),this.$style=c.Styler.getStyleFor(p.default,{baseUrl:this.core.options.baseUrl}),this.core.$el.append(this.$style),this}}],[{key:"mimeTypeFor",value:function(t){var e=(t.split("?")[0].match(/.*\.(.*)$/)||[])[1];return _[e]?_[e]:t.indexOf(".ism")>-1?"application/vnd.ms-sstr+xml":void 0}}]),e}(c.UICorePlugin);e.default=T,t.exports=e.default},function(e,n){e.exports=t},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n=0&&t<=100){var e=this.getDuration();this.seek(t*e/100)}}},{key:"startTimer",value:function(){var t=this;this.timer=setInterval(function(){return t.updateMediaControl()},h)}},{key:"stopTimer",value:function(){clearInterval(this.timer),this.timer=null}},{key:"getDuration",value:function(){return this.currentMedia.media.duration}},{key:"isPlaying",value:function(){return"PLAYING"===this.currentMedia.playerState||"BUFFERING"===this.currentMedia.playerState}},{key:"getPlaybackType",value:function(){return this.currentMedia.liveSeekableRange?c.Playback.LIVE:c.Playback.VOD}},{key:"onMediaStatusUpdate",value:function(){this.mediaControl.changeTogglePlay(),this.isPlaying()&&!this.timer&&this.startTimer(),"BUFFERING"===this.currentMedia.playerState?(this.isBuffering=!0,this.trigger(c.Events.PLAYBACK_BUFFERING,this.name)):"PLAYING"===this.currentMedia.playerState?(this.isBuffering&&(this.isBuffering=!1,this.trigger(c.Events.PLAYBACK_BUFFERFULL,this.name)),this.prevState!==this.currentMedia.playerState&&this.trigger(c.Events.PLAYBACK_PLAY,this.name)):"IDLE"===this.currentMedia.playerState?(this.isBuffering&&(this.isBuffering=!1,this.trigger(c.Events.PLAYBACK_BUFFERFULL,this.name)),this.trigger(c.Events.PLAYBACK_ENDED,this.name)):"PAUSED"===this.currentMedia.playerState&&this.prevState!==this.currentMedia.playerState&&this.trigger(c.Events.PLAYBACK_PAUSE,this.name),this.prevState=this.currentMedia.playerState}},{key:"updateMediaControl",value:function(){var t=this.currentMedia.getEstimatedTime(),e=this.currentMedia.media.duration;this.trigger(c.Events.PLAYBACK_TIMEUPDATE,{current:t,total:e},this.name)}},{key:"show",value:function(){this.$el.show()}},{key:"hide",value:function(){this.$el.hide()}}]),e}(c.Playback);e.default=p,t.exports=e.default},function(t,e){t.exports="
"},function(t,e,n){e=t.exports=n(5)(),e.push([t.id,".chromecast-playback{height:100%;width:100%}.chromecast-playback .chromecast-playback-background,.chromecast-playback .chromecast-playback-overlay{position:absolute;height:100%;width:100%}.chromecast-playback .chromecast-playback-background{background-size:contain}.chromecast-playback .chromecast-playback-overlay{background-color:#000;opacity:.4}.chromecast-button{background:transparent;border:0;width:32px;height:32px;font-size:22px;line-height:32px;letter-spacing:0;margin:0 6px;color:#fff;opacity:.5;vertical-align:middle;text-align:left;cursor:pointer;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:all .1s ease}.chromecast-button:hover{opacity:.75;text-shadow:hsla(0,0%,100%,.8) 0 0 5px}.chromecast-button:focus{outline:none}.chromecast-button svg{width:24px;height:24px}.chromecast-button svg #cast,.chromecast-button svg #cast-on,.chromecast-button svg #Path{fill:#fff;stroke:#fff;stroke-width:.5px}",""])},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e-1&&t%1==0&&t-1&&t%1==0&&t<=y}function s(t){for(var e=u(t),n=e.length,i=n&&t.length,r=!!i&&a(i)&&(p(t)||h(t)),s=-1,c=[];++s0;++i-1&&t%1==0&&t<=u}function s(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function c(t){return!!t&&"object"==typeof t}var u=9007199254740991,l="[object Arguments]",h="[object Function]",p="[object GeneratorFunction]",d=Object.prototype,f=d.hasOwnProperty,v=d.toString,g=d.propertyIsEnumerable;t.exports=n},function(t,e){function n(t){return!!t&&"object"==typeof t}function i(t,e){var n=null==t?void 0:t[e];return s(n)?n:void 0}function r(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=y}function o(t){return a(t)&&f.call(t)==u}function a(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function s(t){return null!=t&&(o(t)?v.test(p.call(t)):n(t)&&l.test(t))}var c="[object Array]",u="[object Function]",l=/^\[object .+?Constructor\]$/,h=Object.prototype,p=Function.prototype.toString,d=h.hasOwnProperty,f=h.toString,v=RegExp("^"+p.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),g=i(Array,"isArray"),y=9007199254740991,m=g||function(t){return n(t)&&r(t.length)&&f.call(t)==c};t.exports=m},function(t,e,n){function i(t){return a(function(e,n){var i=-1,a=null==e?0:n.length,s=a>2?n[a-2]:void 0,c=a>2?n[2]:void 0,u=a>1?n[a-1]:void 0;for("function"==typeof s?(s=r(s,u,5),a-=2):(s="function"==typeof u?u:void 0,a-=s?1:0),c&&o(n[0],n[1],c)&&(s=a<3?void 0:s,a=1);++i-1&&t%1==0&&t-1&&t%1==0&&t<=u}function s(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}var c=/^\d+$/,u=9007199254740991,l=n("length");t.exports=o},function(t,e){function n(t,e){if("function"!=typeof t)throw new TypeError(i);return e=r(void 0===e?t.length-1:+e||0,0),function(){for(var n=arguments,i=-1,o=r(n.length-e,0),a=Array(o);++i'},function(t,e){t.exports=''},function(t,e){t.exports=''},function(t,e){t.exports=''},function(t,e){t.exports=''}])}); //# sourceMappingURL=clappr-chromecast-plugin.min.js.map