{
  "adapter,getPlayhead": "return this.player.getEstimatedTime||this.player.currentTime",
  "adapter,getVersion": "return'7.0.1-chromecast-js'",
  "adapter,getDuration": "return this.player.duration",
  "adapter,getBitrate": "if(this.castPlayer&&this.castPlayer.getStreamingProtocol){var protocol=this.castPlayer.getStreamingProtocol();var streamCount=0;try{if(protocol.getStreamCount&&protocol.getStreamCount()>0){streamCount=protocol.getStreamCount();}}catch(e){};for(var c=0;c<protocol.getStreamCount();c++){var streamInfo=protocol.getStreamInfo(c);if(streamInfo.mimeType.indexOf('video/')===0){var videoLevel=protocol.getQualityLevel(c);if(streamInfo.bitrates&&streamInfo.bitrates[videoLevel]){return streamInfo.bitrates[videoLevel]}}}};return null",
  "adapter,getRendition": "var ret=null;if(this.player&&this.player.videoHeight&&this.player.videoWidth){var bitrate=this.getVideo().getBitrate();if(bitrate<=0){bitrate=this.plugin.requestBuilder.lastSent['bitrate']||-1};ret=this.getNpawUtils().buildRenditionString(this.player.videoWidth,this.player.videoHeight,bitrate)};return ret",
  "adapter,getResource": "var ret=null;if(!this.player.currentSrc.startsWith('blob:')){ret=this.player.currentSrc}else if(this.castPlayer){ret=this.castPlayer.getHost().url};return ret",
  "adapter,getPlayrate": "return this.player.playbackRate",
  "adapter,getDroppedFrames": "return this.player.webkitDroppedFrameCount",
  "adapter,getPlayerVersion": "var ret=null;if(typeof cast!=='undefined'&&cast.player&&cast.player.api){ret=cast.player.api.VERSION};return ret",
  "adapter,getPlayerName": "return'Chromecast'",
  "adapter,registerListeners": "this.getNpawUtils().logAllEvents(this.player);this.monitorPlayhead(true,false,1200);this.references={loadstart:this.playListener.bind(this),pause:this.pauseListener.bind(this),playing:this.playingListener.bind(this),error:this.errorListener.bind(this),seeking:this.seekingListener.bind(this),abort:this.endedListener.bind(this),ended:this.endedListener.bind(this),buffering:this.bufferingListener.bind(this)};this.hostReferences={onAutoPause:this.autoPauseListener.bind(this)};for(var key in this.references){this.player.addEventListener(key,this.references[key])};if(this.castPlayer&&this.castPlayer.getHost&&this.castPlayer.getHost()){var host=this.castPlayer.getHost();for(var key2 in this.hostReferences){host[key2]=this.hostReferences[key2]}}",
  "adapter,unregisterListeners": "if(this.monitor)this.monitor.stop();if(this.player&&this.references){if(typeof this.player.removeEventListener==='function'){for(var key in this.references){this.player.removeEventListener(key,this.references[key])}};delete this.references};if(this.castPlayer&&this.castPlayer.getHost&&this.castPlayer.getHost()){var host=this.castPlayer.getHost();for(var key2 in this.hostReferences){host[key2]=null};delete this.hostReferences}",
  "adapter,playListener,e": "if(this.flags.isStarted){this.fireStop({},'playListener');};this.fireStart({},'playListener');",
  "adapter,pauseListener,e": "if(!this.flags.isBuffering){this.firePause({},'pauseListener');}",
  "adapter,playingListener,e": "this.fireResume({},'playingListener');this.fireSeekEnd({},'playingListener');this.fireBufferEnd({},'playingListener');this.fireJoin({},'playingListener')",
  "adapter,errorListener,e": "this.fireError(e)",
  "adapter,endedListener,e": "this.fireStop({},'endedListener')",
  "adapter,seekingListener,e": "this.fireSeekBegin({},false,'seekingListener');",
  "adapter,bufferingListener,e": "if(this.flags.isPaused){this.fireResume({},'bufferingListener')};this.fireBufferBegin({},false,'bufferingListener')",
  "adapter,autoPauseListener,e": "if(e){this.fireResume({},'autoPauseListener');this.fireBufferBegin({},false,'autoPauseListener')}else{this.fireBufferEnd({},'autoPauseListener')}"
}
