"use strict";(self.webpackChunkbongacams=self.webpackChunkbongacams||[]).push([[521],{54368:function(e,t,a){a.r(t),a.d(t,{init:function(){return y},isChromeCastStreamActive:function(){return f}});var o,r=a(98928),n=a(33954),s=a(4645),i=a(19826),c=a(14625),m=a(99996),l=a(23736),u=a(13907),h=a(80786),d=a(22706),p=a(9853),C=a(41669),g=function(){function e(){this.isReady=!1,this.isWaiting=!1,this.isVolumeChangeEnabled=!0,this.castContext=null,this.remotePlayer=null,this.remotePlayerTarget={},this.remotePlayerController=null,this.remoteVolume=null,this.isLocalChangeVolume=!1,this.isRemoteChangeVolume=!1,this.changeVolumeTimeout=null,this.statHeartBeatTimeout=2e4;var t=document.createElement("script");t.src=e.frameworkSource,document.head.appendChild(t);var a=i.A.getState().skinId;e.appId="def"===a?"283D47ED":"A54B8693"}return e.getInstance=function(){return o||(o=new e),o},e.debug=function(){for(var e=[],t=0;t',s2:""}));t.sendMessage("changeStatus",{status:r,sex:chat.performerData.sexType,text:n,background:e,isMobile:i.A.getState().isMobile})}})),a.addMessageListener(e.namespace,this.onMessage.bind(this))},e.prototype.detachSessionHandlers=function(){var t=cast.framework.CastContext.getInstance().getCurrentSession();t&&t.removeMessageListener(e.namespace,this.onMessage.bind(this)),C("#bChat").off(".cast"),C(document).off(".cast")},Object.defineProperty(e.prototype,"isConnected",{get:function(){return window.hasOwnProperty("cast")&&cast.framework&&this.remotePlayer&&this.remotePlayer.isConnected},enumerable:!1,configurable:!0}),e.prototype.hideLocalStream=function(){cast.framework.CastContext.getInstance().getCurrentSession()&&h.A.instance.closeStream()},e.prototype.showLocalStream=function(){chat&&("public"===chat.performerStatus||"away"!==chat.performerStatus&&"offline"!==chat.performerStatus&&chat.acceptedPaidShow)&&h.A.instance.playStream()},e.prototype.onChangeState=function(t){var a=document.getElementById("playercontainer");a&&(t===cast.framework.CastState.NO_DEVICES_AVAILABLE?a.classList.remove(e.playerClass):a.classList.add(e.playerClass))},e.prototype.onChangeConnect=function(){e.debug("onChangeConnect","isConnected=".concat(this.isConnected)),i.A.setState({chromeCastActive:this.isConnected}),this.isConnected?(this.attachSessionHandlers(),this.onRemoteConnected()):(this.stopStatHeartBeat(),this.detachSessionHandlers(),e.updateCastInfo(),this.showLocalStream())},e.prototype.onRemoteConnected=function(){this.setupRemotePlayer()},e.prototype.setupRemotePlayer=function(){e.debug("setupRemotePlayer"),this.isVolumeChangeEnabled&&(this.remotePlayer.isMuted&&Number(r.z.instance.volume.toFixed(2))&&r.z.instance.toggleSound(),this.remoteVolume=r.z.instance.volume,this.remotePlayerTarget.setVolume(this.remoteVolume)),this.remotePlayerTarget.load(),this.sendMessage("init",{isRTL:n.isRTLCulture})},e.prototype.checkVolumeChange=function(e,t){var a=t?Number(r.z.instance.volume.toFixed(2)):e;return this.setVolumeTimeout(),t&&this.isLocalChangeVolume||!t&&this.isRemoteChangeVolume?(t&&e<=a&&this.remotePlayerTarget.setVolume(a),!1):(this.changeVolumeDirection(t),!0)},e.prototype.streamLoad=function(){var t=this,a=window.streamType||"dash";if(chat&&h.A.instance.player&&(0,l.S)()){var o=(0,l.S)(),r=cast.framework.CastContext.getInstance().getCurrentSession(),n=e.getStreamUrl(a,o);if(e.debug("Loading","[".concat(a,"]"),n?n.url:n,n?n.mimeType:n),null==n?void 0:n.url){var s=new chrome.cast.media.MediaInfo(n.url,n.mimeType);s.metadata=new chrome.cast.media.GenericMediaMetadata,s.metadata.metadataType=chrome.cast.media.MetadataType.GENERIC,chat.performerData&&(s.metadata.title=chat.performerData.displayName,s.metadata.status=chat.performerStatus,s.metadata.images=[{url:(0,u.X8)(chat.performerData).replace("avatars","avatar120x120")}]);var i=new chrome.cast.media.LoadRequest(s);this.stopStatHeartBeat(),r.loadMedia(i).then((function(){t.sendStat(o),t.onLoadSuccess(r)}),(function(e){t.onLoadError(r,e)}))}else e.debug("stream src error")}else C("#bChat").one("onUserData.cast",(function(){t.streamLoad()}))},e.prototype.onLoadSuccess=function(t){e.debug("load media success on ".concat(t.getCastDevice().friendlyName)),e.updateCastInfo(t.getCastDevice().friendlyName),this.hideLocalStream()},e.prototype.onLoadError=function(t,a){e.debug("Remote media load error: ".concat(e.getErrorMessage(a)))},e.prototype.onMessage=function(t,a){e.namespace===t?e.debug("[onMessage]",a):e.debug(e.namespace,"!==",t)},e.prototype.sendMessage=function(t,a){void 0===a&&(a={});var o=cast.framework.CastContext.getInstance().getCurrentSession();o&&o.sendMessage(e.namespace,{msg:t,data:a})},e.prototype.changeVolumeDirection=function(e){if(void 0===e)return this.isLocalChangeVolume=!1,void(this.isRemoteChangeVolume=!1);this.isLocalChangeVolume=!e,this.isRemoteChangeVolume=e},e.prototype.setVolumeTimeout=function(){var e=this;clearTimeout(this.changeVolumeTimeout),this.changeVolumeTimeout=window.setTimeout((function(){e.changeVolumeDirection()}),300)},e.prototype.sendStat=function(e){this.stopStatHeartBeat(),this.statStreamName=e,i.A.getState().isAuthenticated&&this.sendStatRequest((0,u.ip)("@member_start_tv_stream"))},e.prototype.statHeartBeat=function(){var e=this;this.statHeartBeatTimer=window.setTimeout((function(){e.sendStatRequest((0,u.ip)("@member_update_tv_stream"))}),this.statHeartBeatTimeout)},e.prototype.sendStatRequest=function(e){var t=this;C.ajax({url:e,data:(0,s.Z)({stream_name:this.statStreamName,stream_type:"chromecast"}),type:"post",success:function(e){e&&"success"===e.status&&t.statHeartBeat()}})},e.prototype.stopStatHeartBeat=function(){clearTimeout(this.statHeartBeatTimer)},e.prototype.stopCast=function(){var e,t=null===(e=this.castContext)||void 0===e?void 0:e.getCurrentSession();t&&t.endSession(!0)},e.frameworkSource="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",e.namespace="urn:x-cast:com.bongacams.cast",e.playerClass="castAvailable",e}();function f(){return g.getInstance().isConnected}function y(){"https:"!==window.location.protocol||d.BrowserDetect.isYandex()||d.BrowserDetect.isOpera()||(window.__onGCastApiAvailable=function(e){g.debug("available=",e),e&&(g.getInstance().init(),i.A.setState({chromeCastAvailable:!0}))},i.A.getState().user.loginTime&&g.getInstance().ready())}window.ChromeCast=g}}]);