Mediasite.namespace("Player"),Mediasite.Player.API=function(){function addPassthroughEventHandlers(){t.AddEventHandler({MediaError:function(){fireErrorEvent(Mediasite.Player.Error.Code.MediaNotSupported)},MediaLoaded:function(n){if(i.ready){var t=transformTime(n.Duration);u.fire("durationchanged",{duration:t})}else i.ready=!0,u.fire("ready")},StateChanged:function(t){if(i.ready){var r=n.getCurrentTime();u.fire("currenttimechanged",{currentTime:r})}i.playState=Mediasite.Player.MediaState.GetStringValue(t),u.fire("playstatechanged",{playState:i.playState})},VolumeChanged:function(n){var i=t.IsMuted()==!0;i&&(n=Math.round(t.GetVolume())),u.fire("volumechanged",{volume:n,isMuted:i})},PlaybackRateChanged:function(n){var t=n.Current;u.fire("playbackratechanged",{currentRate:t})},PositionChanged:function(n){var t=transformTime(n);u.fire("currenttimechanged",{currentTime:t})}}),r.AddEventHandler({SlideChange:function(n){var t=transformSlide(n,!0);u.fire("slidechanged",t)},CaptionChange:function(n){var t=transformCaption(n,!0);u.fire("captionchanged",t)},ChapterChange:function(n){var t=transformChapter(n,!0);u.fire("chapterchanged",t)},TimedEventReached:function(n){var t=transformTimedEvent(n,!0);u.fire("timedeventreached",t)},AddNewSlide:function(n){var t=transformSlide(n,!0);u.fire("slideadded",t)},LiveStatusChanged:function(n){u.fire("livestatuschanged",{liveStatus:n})},PlayerStateChanged:function(n){u.fire("playerstatechanged",transformPlayerState(n))},VisibleStreamsChanged:function(n){var t=n.slice(0);u.fire("visiblestreamschanged",{streamTypes:t})},MediaError:function(n){fireErrorEvent(Mediasite.Player.Error.Code.MediaError,n)}})}function transformTime(n){return n/1e3}function transformChapter(n,t){if(n){var r=transformTime(n.Time),i=n.Text;return t===!0?{chapterTime:r,chapterTitle:i}:{time:r,title:i}}}function transformTimedEvent(n,t){if(n){var u=transformTime(n.Time),r=n.Text,i=n.Type;return t===!0?{timedEventTime:u,timedEventPayload:r,timedEventType:i}:{time:u,payload:r,type:i}}}function transformLink(n){if(n)return{title:n.Description,url:n.Url}}function transformSlide(n,t){if(n){var f=transformTime(n.Time),e=n.Text,u=n.Description,i=n.GetSlideUrl&&n.GetSlideUrl(),r=n.StreamType;return t===!0?{slideTime:f,slideTitle:e,slideDescription:u,slideUrl:i,slideStreamType:r}:{time:f,title:e,description:u,url:i,streamType:r}}}function transformCaption(n,t){if(n){var r=transformTime(n.Time),i=n.Text;return t===!0?{captionTime:r,captionText:i}:{time:r,text:i}}}function transformPlayerState(n){if(n)return{state:n.State,isLive:n.IsLive}}function compareTime(n,t){return n.time-t.time}function fireErrorEvent(n,t){var i={errorCode:n};typeof t!="undefined"&&(i.details=t),u.fire("error",i)}var n=new function(){},e=n,u=new Mediasite.Player.EventBundle,t,r,f,i={ready:!1,playstate:"undefined"};return n._registerModels=function(n,i,u){t&&r&&f||n&&i&&u&&(t=n,r=i,f=u,addPassthroughEventHandlers())},n.addHandler=function(n,t){u.addHandler(n,t)},n.removeHandler=function(n,t){u.removeHandler(n,t)},n.play=function(){if(!i.ready){fireErrorEvent(Mediasite.Player.Error.Code.PlayerNotReady);return}t.Play()},n.pause=function(){if(!i.ready){fireErrorEvent(Mediasite.Player.Error.Code.PlayerNotReady);return}t.Pause()},n.stop=function(){if(!i.ready){fireErrorEvent(Mediasite.Player.Error.Code.PlayerNotReady);return}t.Stop()},n.seekTo=function(n){if(!i.ready){fireErrorEvent(Mediasite.Player.Error.Code.PlayerNotReady);return}t.SetPosition(n*1e3)},n.getCurrentTime=function(){if(!i.ready){fireErrorEvent(Mediasite.Player.Error.Code.PlayerNotReady);return}return transformTime(t.GetPosition())},n.getCurrentChapter=function(){var u=t.GetPosition(),i=r.GetChapterAt(u),n;if(i)return n=transformChapter(i)},n.getCurrentSlide=function(n){var f=t.GetPosition(),i=r.GetSlideAt(f,n),u;if(i)return u=transformSlide(i)},n.getCurrentCaption=function(){var u=t.GetPosition(),i=r.GetCaptionAt(u),n;if(i)return n=transformCaption(i)},n.getChapters=function(){var t=r.GetChapters(),n;return!t||t.length==0?[]:(n=$.map(t,transformChapter),n.sort(compareTime),n)},n.getTimedEvents=function(n){var u=typeof n=="undefined",t=r.GetTimedEvents(),i;return!t||t.length==0?[]:(i=$.map(t,function(t){if(u||t.Type===n)return transformTimedEvent(t)}),i.sort(compareTime),i)},n.getSlides=function(n){var i=r.GetSlides(n),t;return!i||i.length==0?[]:(t=$.map(i,transformSlide),t.sort(compareTime),t)},n.getAllSlides=function(){var t=r.GetAllSlides(),n;return!t||t.length==0?[]:(n=$.map(t,transformSlide),n.sort(compareTime),n)},n.getCaptions=function(){var t=r.GetCaptions(),n;return!t||t.length==0?[]:(n=$.map(t,transformCaption),n.sort(compareTime),n)},n.getDuration=function(){if(!i.ready){fireErrorEvent(Mediasite.Player.Error.Code.PlayerNotReady);return}return transformTime(t.GetDuration())},n.getPlayState=function(){if(!i.ready){fireErrorEvent(Mediasite.Player.Error.Code.PlayerNotReady);return}return i.playState},n.getPlayerState=function(){return transformPlayerState(r.GetPlayerState())},n.getVolume=function(){if(!i.ready){fireErrorEvent(Mediasite.Player.Error.Code.PlayerNotReady);return}return t.GetVolume()},n.setVolume=function(n){if(!i.ready){fireErrorEvent(Mediasite.Player.Error.Code.PlayerNotReady);return}t.SetVolume(n)},n.mute=function(){if(!i.ready){fireErrorEvent(Mediasite.Player.Error.Code.PlayerNotReady);return}t.Mute()},n.unMute=function(){if(!i.ready){fireErrorEvent(Mediasite.Player.Error.Code.PlayerNotReady);return}t.UnMute()},n.isMuted=function(){if(!i.ready){fireErrorEvent(Mediasite.Player.Error.Code.PlayerNotReady);return}return t.IsMuted()},n.getPlaybackRate=function(){if(!i.ready){fireErrorEvent(Mediasite.Player.Error.Code.PlayerNotReady);return}return t.GetPlaybackRate()},n.getLiveStatus=function(){return r.GetLiveStatus()},n.isActivated=function(){return!0},n.isReady=function(){return i.ready},n.setLayoutOptions=function(n){f.LoadNewOptions(n)},n.getLinks=function(){var n=r.GetLinks(),t;return!n||n.length==0?[]:t=$.map(n,transformLink)},n.getPollsUri=function(){return r.GetPollsUri()},n.getAllStreams=function(){var n=r.GetStreamsMetadata();return n.slice(0)},n.getVisibleStreamTypes=function(){var n=r.GetVisibleStreamTypes()||[];return n.slice(0)},n.setVisibleStreamTypes=function(n){n=n.slice(0),r.SetVisibleStreamTypes(n)},n}()