internal static MediaElementState ConvertState(SmoothStreamingMediaElementState state) { if (state != SmoothStreamingMediaElementState.ClipPlaying) { return (MediaElementState)Enum.Parse(typeof(MediaElementState), state.ToString(), true); } else { return MediaElementState.Playing; } }
public override void InitAd(double width, double height, string viewMode, int desiredBitrate, string creativeData, string environmentVariables) { lastState = SmoothStreamingMediaElementState.Closed; base.Init(width, height, viewMode, desiredBitrate, creativeData, environmentVariables); MediaElement.SmoothStreamingSource = new Uri(creativeData); if (AdLinear) { LoadLinear(); } }
internal static MediaElementState ConvertState(SmoothStreamingMediaElementState state) { if (state != SmoothStreamingMediaElementState.ClipPlaying) { return((MediaElementState)Enum.Parse(typeof(MediaElementState), state.ToString(), true)); } else { return(MediaElementState.Playing); } }
void OnAdPlayerCurrentStateChanged(object sender, RoutedEventArgs e) { if (isStartupHeuristicsActive && MediaElement.CurrentState == SmoothStreamingMediaElementState.Playing) { // open up all available tracks again. We selected a specific startup track in order to get better bitrates when the ad began. isStartupHeuristicsActive = false; var segment = MediaElement.ManifestInfo.Segments[MediaElement.CurrentSegmentIndex.Value]; foreach (var videoStream in segment.SelectedStreams.Where(i => i.Type == MediaStreamType.Video)) { videoStream.SelectTracks(videoStream.AvailableTracks, false); } } if (lastState == MediaElement.CurrentState) { return; } switch (MediaElement.CurrentState) { case SmoothStreamingMediaElementState.Paused: if (IsPaused) { OnAdPaused(); } break; case SmoothStreamingMediaElementState.Playing: if (IsResumed) { OnAdResumed(); } else if (IsStopped) { OnAdStarted(); StartVideo(); } break; } if (MediaElement != null) { OnAdLog(new AdMessageEventArgs(string.Format("Status changed from {0} to {1}", lastState, MediaElement.CurrentState))); //ignore these types, they arent relevent if (!(MediaElement.CurrentState == SmoothStreamingMediaElementState.Buffering || MediaElement.CurrentState == SmoothStreamingMediaElementState.AcquiringLicense || MediaElement.CurrentState == SmoothStreamingMediaElementState.Individualizing)) { lastState = MediaElement.CurrentState; } } }
string jwState(SmoothStreamingMediaElementState playState) { switch (playState) { case SmoothStreamingMediaElementState.ClipPlaying: case SmoothStreamingMediaElementState.Playing: return("PLAYING"); case SmoothStreamingMediaElementState.Paused: return("PAUSED"); case SmoothStreamingMediaElementState.Closed: case SmoothStreamingMediaElementState.Stopped: return("IDLE"); default: return("BUFFERING"); } }
void OnAdPlayerCurrentStateChanged(object sender, RoutedEventArgs e) { if (isStartupHeuristicsActive && MediaElement.CurrentState == SmoothStreamingMediaElementState.Playing) { // open up all available tracks again. We selected a specific startup track in order to get better bitrates when the ad began. isStartupHeuristicsActive = false; var segment = MediaElement.ManifestInfo.Segments[MediaElement.CurrentSegmentIndex.Value]; foreach (var videoStream in segment.SelectedStreams.Where(i => i.Type == MediaStreamType.Video)) { videoStream.SelectTracks(videoStream.AvailableTracks, false); } } if (lastState == MediaElement.CurrentState) return; switch (MediaElement.CurrentState) { case SmoothStreamingMediaElementState.Paused: if (IsPaused) { OnAdPaused(); } break; case SmoothStreamingMediaElementState.Playing: if (IsResumed) { OnAdResumed(); } else if (IsStopped) { OnAdStarted(); StartVideo(); } break; } if (MediaElement != null) { OnAdLog(new AdMessageEventArgs(string.Format("Status changed from {0} to {1}", lastState, MediaElement.CurrentState))); //ignore these types, they arent relevent if (!(MediaElement.CurrentState == SmoothStreamingMediaElementState.Buffering || MediaElement.CurrentState == SmoothStreamingMediaElementState.AcquiringLicense || MediaElement.CurrentState == SmoothStreamingMediaElementState.Individualizing)) { lastState = MediaElement.CurrentState; } } }
private MediaPluginState ConvertToPlayState( SmoothStreamingMediaElementState smoothStreamingMediaElementState) { return (MediaPluginState)Enum.Parse(typeof(MediaPluginState), smoothStreamingMediaElementState.ToString(), true); }
MediaElementAdapterState ConvertToState(SmoothStreamingMediaElementState state) { switch (state) { case SmoothStreamingMediaElementState.AcquiringLicense: return MediaElementAdapterState.Busy; case SmoothStreamingMediaElementState.Buffering: return MediaElementAdapterState.Busy; case SmoothStreamingMediaElementState.Closed: return MediaElementAdapterState.Closed; case SmoothStreamingMediaElementState.Individualizing: return MediaElementAdapterState.Busy; case SmoothStreamingMediaElementState.Opening: return MediaElementAdapterState.Busy; case SmoothStreamingMediaElementState.Paused: return MediaElementAdapterState.Paused; case SmoothStreamingMediaElementState.Playing: return MediaElementAdapterState.Playing; case SmoothStreamingMediaElementState.Stopped: return MediaElementAdapterState.Stopped; case SmoothStreamingMediaElementState.ClipPlaying: return MediaElementAdapterState.Playing; default: throw new NotImplementedException(); } }
string jwState(SmoothStreamingMediaElementState playState) { switch (playState) { case SmoothStreamingMediaElementState.ClipPlaying: case SmoothStreamingMediaElementState.Playing: return "PLAYING"; case SmoothStreamingMediaElementState.Paused: return "PAUSED"; case SmoothStreamingMediaElementState.Closed: case SmoothStreamingMediaElementState.Stopped: return "IDLE"; default: return "BUFFERING"; } }