Mediasite.namespace("MediaPlayer"),Mediasite.namespace("MediaPlayer.Views"),Mediasite.MediaPlayer.ModelXap=function(n){function nowUnloading(){tt=!0}function positionUpdateTimerCallback(){var n=t.GetPosition();i.fire(r.PositionChanged,n),k=setTimeout(positionUpdateTimerCallback,it)}function startPositionUpdateTimer(){clearTimeout(k),k=setTimeout(positionUpdateTimerCallback,it)}function stopPositionUpdateTimer(){clearTimeout(k)}function reconnectOnLiveMediaOpenFailure(){resetLiveMedia()}function handleMediaError(n,t){var o=getScriptApi(),e,u;if(o&&(e=t.ErrorCode||parseInt(t.ErrorMessage),e!==1001||f.toLowerCase().substr(0,4)!=="http")&&!y.HandleLiveMediaOpenFailure(reconnectOnLiveMediaOpenFailure)){if(!st&&!d&&h.length>0){cueNextSource(),o.Source=f,s.Info("Media element failover source set",f,"of type",p,"on server type",w);return}switch(e){case 4001:u=Mediasite.Player.Localization.MediaPlayer.SilverlightNetworkError+" ("+t.ErrorMessage+")";break;case 3137:if(tt){u=Mediasite.Player.Localization.MediaPlayer.ServerConnectionClosedError+" ("+t.ErrorCode+" - "+t.ErrorMessage+")";break}default:u=Mediasite.Player.Localization.MediaPlayer.GeneralError+" ("+t.ErrorCode+" - "+t.ErrorMessage+")"}i.fire(r.MediaError,u)}}function convertState(n){switch(n.toLowerCase()){case"buffering":return Mediasite.Player.MediaState.Buffering;case"closed":return Mediasite.Player.MediaState.Closed;case"error":return Mediasite.Player.MediaState.Error;case"opening":return Mediasite.Player.MediaState.Opening;case"paused":return Mediasite.Player.MediaState.Paused;case"playing":return Mediasite.Player.MediaState.Playing;case"stopped":return Mediasite.Player.MediaState.Stopped;default:return Mediasite.Player.MediaState.Undefined}}function notifyMediaLoaded(){var u=getScriptApi(),f,o,e;if(u){if(f=!1,!d)switch(p){case"video/x-ms-wmv":f=w=="IIS"||pt;break;case"video/mp4":f=!0;break;case"video/x-mp4-fragmented":default:f=!1}o=0,u.NaturalVideoHeight>0&&u.NaturalVideoWidth>0&&(o=u.NaturalVideoWidth/u.NaturalVideoHeight),e={AspectRatio:o,Duration:t.GetDuration(),AudioOnly:u.NaturalVideoHeight===0,CanChangeSpeed:f,CanFullScreen:!1,CurrentLanguageIndex:t.GetCurrentAudioLanguageIndex(),Languages:t.GetAudioLanguages(),StreamType:n.streamType,IsMainStream:n.isMainStream},l.UpdateMediaInfo(e),i.fire(r.MediaLoaded,e)}}function handleMediaEvent(n,u){var f=getScriptApi(),h,p,o,w,c;if(f)switch(n){case"MediaOpened":nt?(f.Play(),nt=!1,notifyMediaLoaded()):(st=!0,l.MediaLoadStart(),i.fire(r.MediaLoadStart),notifyMediaLoaded());break;case"MediaEnded":i.fire(r.PositionChanged,t.GetPosition()),t.Stop(),a=0,i.fire(r.PositionChanged,0),i.fire(r.StateChanged,Mediasite.Player.MediaState.MediaEnded);break;case"StateChanged":i.fire(r.PositionChanged,t.GetPosition()),h=convertState(f.CurrentState);switch(h){case Mediasite.Player.MediaState.Playing:t.SetPlaybackRate(rt),v&&!f.IsSmoothStreaming&&f.Position<1e3&&(e=new Date-v-yt),startPositionUpdateTimer();break;case Mediasite.Player.MediaState.Paused:case Mediasite.Player.MediaState.Stopped:stopPositionUpdateTimer();break;default:stopPositionUpdateTimer()}y.setMediaState(h),i.fire(r.StateChanged,h);break;case"MarkerReached":u.Type==="MS6"&&(p=parseInt(u.Command,10),isNaN(p)||(e=e||0,o=p-f.Position,w=Math.abs(o-e),w>=lt&&(s.Debug("Correcting WMS Live Offset -- old: "+e+", new: "+o),e=o))),i.fire(r.MediaEvent,u);break;case"RateChanged":c={Min:b[0],Max:b[b.length-1],Current:Math.round(t.GetPlaybackRate()*100)/100},s.Debug("Playback rate now "+c.Current),i.fire(r.PlaybackRateChanged,c)}}function handleSmoothStreamingTrackSummaryChanged(){var h=getScriptApi(),f,s,e;if(h){var o=h.SmoothStreamingTrackSummary,v=o.TrackBitrates.split(","),l=o.TrackWidths.split(","),a=o.TrackHeights.split(","),c=[];for(f=0,s=o.TrackCount;f=e*(r[r.length-1]-f)?f=r[0]:u.each(r,function(n,t){if(0>=e*(t-f)&&00&&cueNextSource(),typeof f=="undefined"){i.fire(r.MediaError,Mediasite.Player.Localization.MediaPlayer.NoCompatibleMediaError),s.Error("Media - no compatible media source");return}setTimeout(waitForPlayerInit,500),c=document.createElement("param"),c.name="onError",c.value="OnSilverlightError",window.OnSilverlightError=function(){n.isStandAlone&&Mediasite.Urls.ContainsUnicode(document.location.href)&&!Mediasite.BrowserDetect.InternetExplorer()&&i.fire(r.MediaError,Mediasite.Player.Localization.MediaPlayer.SilverlightLoadErrorNonAsciiPath)},o.appendChild(c),u(window).unload(function(){g.remove()})},this.UpdateOptions=function(n){ot=n.Volume},this.LiveStatusChange=function(n){var u=Mediasite.Player.PresentationStatus;d=n==u.Live||n==u.LivePaused||n==u.OpenForLive||n==u.ScheduledForLive,y.setLiveStatus(n),n===Mediasite.Player.PresentationStatus.LiveEnded&&(handleMediaEvent=function(){},handleMediaError=function(){},t.Stop(),i.fire(r.StateChanged,Mediasite.Player.MediaState.Stopped))},this.InactivityExceeded=function(){et=!0},this.SetPosition=function(n){var u=getScriptApi();u&&n>=0&&n0?n.Pause():t.Stop())},this.Play=function(){var n=getScriptApi();if(n)if(et===!0)window.location.reload();else{if(isLive()&&ht>0)resetLiveMedia();else try{n.Play()}catch(t){}ht++}},this.Stop=function(){var n=getScriptApi();if(n){v&&!n.IsSmoothStreaming&&stopPositionUpdateTimer();try{n.Stop()}catch(t){}}},this.GetPosition=function(){var i=getScriptApi(),t,n;if(i)try{return(t=i.Position+e,a>0&&(n=t-a,wt.2?this.SetVolume((n.Volume-.2)*100):this.SetVolume(0)))},this.ToggleMute=function(){c||(t.IsMuted()?t.UnMute():t.Mute())},this.Mute=function(){var n=getScriptApi();n&&(n.IsMuted=!0,t.IsMuted()&&i.fire(r.VolumeChanged,0))},this.UnMute=function(){var n=getScriptApi();n&&(c||(n.IsMuted=!1,t.GetVolume()===0?this.SetVolume(50):i.fire(r.VolumeChanged,Math.round(t.GetVolume()))))},this.IsMuted=function(){var n=getScriptApi();if(n)return n.IsMuted},this.TogglePlayPause=function(){var n=getScriptApi();n&&(convertState(n.CurrentState)===Mediasite.Player.MediaState.Playing?t.Pause():t.Play())},this.SetPlaybackRate=function(n){var t=getScriptApi();t&&(rt=n,t.PlaybackRate=n)},this.GetPlaybackRate=function(){var n=getScriptApi();if(n)return n.PlaybackRate},this.GetCurrentAudioLanguageIndex=function(){return 1},this.GetAudioLanguages=function(){var r=getScriptApi(),n,t,i;if(r){if(t=r.AudioStreamCount,t>1){for(i=[],n=0;n').appendTo(n.mediaContainer),this.Wrapper=e,s=u(n.backgroundElement.selector),l=s.css("background-color",s.css("background-color")).css("background-color"),Silverlight.createObjectEx({source:i,parentElement:e.get(0),id:"MediaElement",properties:{width:n.width,height:n.height,isWindowless:"true",framerate:"24",version:a},initParams:"FullScreenPromptText="+n.silverlightFullScreenPrompt+",EnableFullScreenOnClick="+n.allowFullScreenVideo+",BackgroundColor="+l.replace(/,/g,"|")+",LiveSmoothStreamingOffset="+n.liveSmoothStreamingOffset,context:null}),waitForCanvasInit(),r=n.mediaContainer.find("#MediaElement"),t&&t.destroy&&t.destroy(),t=Mediasite.MediaPlayer.UserActivation.Create(this,n),r},this.UpdateMediaInfo=function(n){n.AudioOnly&&r.css("height","0px")},this.SetIsStandAlone=function(n){f=n}}},Mediasite.MediaPlayer.UserActivation.Register({mediaPlayerType:Mediasite.Player.MediaPlayerType.Silverlight,usable:function(){return Mediasite.BrowserDetect.Firefox()},constructor:function(n,t){function addOnLoadHandler(){function onLoad(){r.Debug("Media element loaded","detected via onLoad handler"),reset()}var t="onLoadSilverlight"+Math.floor(Math.random()*1e3),n;window[t]=onLoad.bind(this,i),n=document.createElement("param"),n.setAttribute("name","onload"),n.setAttribute("value",t),i.appendChild(n)}function loadCheck(){isAvailable()?(r.Debug("Media element loaded","detected via poll"),reset()):enableUserActivation()}function enableUserActivation(){u||(u=!0,Mediasite.MediaPlayer.UserActivation.ShowPrompt(null,onShowMessage),r.Debug("Showing prompt"))}function onShowMessage(n){var t,u;r.Debug("Adding 'click-me' element"),t=$(i).clone(),t.find("param[name=onload]").remove(),$(i).after(t),n.prepend(t),u=Mediasite.MediaPlayer.UserActivation.MediaElementCss,t.css(u)}function reset(){clearTimeout(f),clearInterval(e),u&&(Mediasite.MediaPlayer.UserActivation.RemovePrompt(),r.Debug("Removing prompt"))}function isAvailable(){try{return i&&i.content&&i.content.ScriptApi&&!0}catch(n){}}var r=Mediasite.Logging.LoggerFactory("MediaPlayer UserActivation",{separator:" - "}),o=3e3,h=500,s=n.get(0),i=s.querySelector("object"),c=$(i).parentsUntil(t.contentContainer||document.body),u=!1,f,e;f=setTimeout(function(){loadCheck(),e=setInterval(loadCheck,h)},o),addOnLoadHandler()}}),Mediasite.MediaPlayer.UserActivation.Register({mediaPlayerType:Mediasite.Player.MediaPlayerType.Silverlight,usable:function(){return Mediasite.BrowserDetect.Safari()},constructor:function(n){function addOnLoadHandler(n,t){var r="onLoadSilverlight"+Math.floor(Math.random()*1e3),i;window[r]=t.bind(this,n),i=document.createElement("param"),i.setAttribute("name","onLoad"),i.setAttribute("value",r),n.appendChild(i)}function onLoad(){r.Debug("Media element loaded","detected via onLoad handler","onLoad called before: "+u),clearTimeout(o),clearInterval(f),u||(o=setTimeout(onLoadCheck,l)),u&&markUsable(!0),u++}function onLoadCheck(){isAvailable()?(r.Debug("Media element appears loaded"),markUsable(!0)):(enableUserActivation(),clearInterval(f),f=setInterval(onLoadCheck,c))}function enableUserActivation(){if(!e){e=!0,Mediasite.MediaPlayer.UserActivation.ShowPrompt({top:"50px"},onShowMessage);$(i).parent().on("click",stopPropagation);r.Debug("Showing click-me prompt")}}function onShowMessage(n){s=!0,r.Debug("Making media element clickable"),css=$.extend({},Mediasite.MediaPlayer.UserActivation.MediaElementCss,{position:"fixed"}),h=i.parentNode,$(i).appendTo(n).css(css)}function reset(){var t,n;if(clearTimeout(o),clearInterval(f),e&&s){e=!1,$(i).appendTo(h),Mediasite.MediaPlayer.UserActivation.RemovePrompt(),t={};for(n in css)css.hasOwnProperty(n)&&(t[n]="");$(i).css(t),r.Debug("Removed 'click-me'")}}function markUsable(n){n===void 0&&(n=!1),i.usable=n,n&&reset()}function isAvailable(){return i.content&&!0}function stopPropagation(n){n.stopPropagation()}var r=Mediasite.Logging.LoggerFactory("MediaPlayer UserActivation",{separator:" - "}),l=2e3,c=500,a="CTA-z-index",i=$(n).find("object")[0],o,f,u=0,e=!1,s=!1,h;markUsable(!1),addOnLoadHandler(i,onLoad)}})