define(["exports","./../emby-apiclient/connectionmanager.js","./../common/playback/playbackmanager.js","./../common/globalize.js","./../emby-apiclient/events.js","./../emby-elements/emby-button/paper-icon-button-light.js","./../common/dataformatter.js"],function(_exports,_connectionmanager,_playbackmanager,_globalize,_events,_paperIconButtonLight,_dataformatter){function init(instance,container){var parent=document.createElement("div"),button=(parent.classList.add("playerStats","hide"),parent.innerHTML='
',parent.querySelector(".playerStats-closeButton"));button&&button.addEventListener("click",function(){this.enabled(!1),_events.default.trigger(this,"close")}.bind(instance)),container.appendChild(parent),instance.element=parent}function getCategory(categories,type,name){for(var i=0,length=categories.length;i'),transcodeReasons=("Transcode"===playstate.PlayMethod?(containerInfo=[],session.SubProtocol&&"progressive"!==session.SubProtocol?containerInfo.push(session.SubProtocol.toUpperCase()):session.Container&&containerInfo.push(session.Container.toUpperCase()),session.Bitrate&&(playstate="(",session.Bitrate&&(playstate+=_dataformatter.default.bitrateToString(session.Bitrate)),session.Framerate&&(playstate+=" "+session.Framerate+" fps"),containerInfo.push(playstate+=")")),session.CurrentThrottle&&containerInfo.push('Throttling'),nowplayingItem+=containerInfo.join(" ")):nowplayingItem+=_globalize.default.translate("HeaderDirectPlay"),stats.push({value:nowplayingItem}),session.TranscodeReasons||[]),i=0,length=transcodeReasons.length;i'),stats.push({label:session}),[]),framerate=(mediaStream.Profile&&session.push(mediaStream.Profile),mediaStream.Level&&session.push(mediaStream.Level),mediaStream.BitRate&&session.push(_dataformatter.default.bitrateToString(mediaStream.BitRate)),mediaStream.AverageFrameRate||mediaStream.RealFrameRate),framerate=(framerate&&session.push(_dataformatter.default.numberToString(framerate,3)+" fps"),session.length&&stats.push({label:session.join(" ")}),'');if(!1===playstate.IsVideoDirect?(framerate=(framerate=framerate+_globalize.default.translate("Transcode")+" (")+(playstate.VideoCodec||"").toUpperCase()+" ",playstate.VideoBitrate&&(framerate+=_dataformatter.default.bitrateToString(playstate.VideoBitrate)),framerate+=")",playstate.VideoEncoderHwAccel&&(framerate+='')):(framerate+=_globalize.default.translate("HeaderDirectPlay"),mediaStream.BitRate&&(framerate+=" ("+_dataformatter.default.bitrateToString(mediaStream.BitRate)+")")),stats.push({value:framerate}),!1===playstate.IsVideoDirect)for(var pipeline=playstate.VideoPipelineInfo||[],_i=0,_length=pipeline.length;_i<_length;_i++){var html,extra,step=pipeline[_i];"ToneMapping"!==step.StepType&&"Deinterlace"!==step.StepType&&"SubTitleBurnIn"!==step.StepType&&"SubtitleOverlay"!==step.StepType||(html="",html+='',"ToneMapping"===step.StepType?html+=_globalize.default.translate("HeaderToneMapping"):"Deinterlace"===step.StepType?html+=_globalize.default.translate("Deinterlacing"):"SubTitleBurnIn"!==step.StepType&&"SubtitleOverlay"!==step.StepType||(html+=_globalize.default.translate("HeaderBurningInSubtitles")),extra=[],step.ParamShort?extra.push(step.ParamShort):step.Param?"Subtitles"!==step.Param&&extra.push(step.Param):step.FfmpegOptions&&extra.push(step.FfmpegOptions),extra.length&&(html+=' ('+extra.join(" ")+")"),stats.push({value:html}))}}return stats}(responses))),baseCategory=getCategory(categories,"audio",_globalize.default.translate("Audio"));return Array.prototype.splice.apply(baseCategory.stats,[0,0].concat(function(session){for(var mediaStream,stats=[],playstate=session.PlayState||{},mediaStreams=(session.NowPlayingItem||{}).MediaStreams||[],audioStreamIndex=playstate.AudioStreamIndex,playstate=session.TranscodingInfo||{},i=0,length=mediaStreams.length;i
')+category.name+"
")+'
'+(category.subText||"")+"
");for(var i=0,length=stats.length;i';var stat=stats[i];null!=stat.label&&(categoryHtml=(categoryHtml+='
')+stat.label+"
"),null!=stat.value&&(categoryHtml=(categoryHtml+='
')+stat.value+"
"),categoryHtml+=""}return categoryHtml}).join("")}(elem,stats)}))}function unbindEvents(instance,player){instance=instance.onTimeUpdate;instance&&_events.default.off(player,"timeupdate",instance)}function PlayerStats(options){this.options=options,this.onTimeUpdate=function(){var options=this.options;options&&renderPlayerStats(this,options.player)}.bind(this),init(this,document.body),this.enabled(!0)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["css!modules/playerstats/playerstats.css"]),PlayerStats.prototype.enabled=function(enabled){if(null==enabled)return this._enabled;var player,options=this.options;options&&((this._enabled=enabled)?(this.element.classList.remove("hide"),enabled=this,player=options.player,(enabled=enabled.onTimeUpdate)&&_events.default.on(player,"timeupdate",enabled)):(this.element.classList.add("hide"),unbindEvents(this,options.player)))},PlayerStats.prototype.toggle=function(){this.enabled(!this.enabled())},PlayerStats.prototype.destroy=function(){var options=this.options,options=(options&&(this.options=null,unbindEvents(this,options.player)),this.element);options&&(options.parentNode.removeChild(options),this.element=null),this.onTimeUpdate=null},_exports.default=PlayerStats});