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;
                }
            }
        }
Example #5
0
        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;
                }
            }
        }
        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();
            }
        }
 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();
     }
 }
Example #10
0
        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";
            }
        }