OdessaGUIProject.VideoPlayerSeekHelper.seekWorker_DoWork C# (CSharp) Method

seekWorker_DoWork() private method

private seekWorker_DoWork ( object sender, DoWorkEventArgs e ) : void
sender object
e System.ComponentModel.DoWorkEventArgs
return void
        private void seekWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            if (isCancelled)
                return;

            var newPosition = (double)e.Argument;

            Logger.Debug("Performing seek to " + newPosition);

            //bool wasMuted = mediaPlayer.settings.mute;

            mediaPlayer.settings.mute = true;
            mediaPlayer.Ctlcontrols.currentPosition = newPosition;
            //if (wasPaused)
            //{
            mediaPlayer.Ctlcontrols.play();
            //}

            Thread.Sleep(500); // sleep some time so we seek
            // if we don't sleep long enough, a bunch of play requests queue up. when the user stops draggin, those play requests get fulfilled and the video jumps all over the place.

            //if (wasPaused)
            //mediaPlayer.Ctlcontrols.pause();

            /*
            // wait for seek to actually happen
             * 6/29/12: Why is this code REMED out?
            while (Math.Abs(mediaPlayer.Ctlcontrols.CurrentPosition - newCoordinate) > 1)
            {
                Application.DoEvents();
            }
             */

            /* 6/29/12: NOW we determine whether to resume on the MouseUp event of the tickboxes
            // go back to being paused if it was paused originally
            if (wasPaused && forcePlay == false)
            {
                mediaPlayer.Ctlcontrols.pause();
            }
             */

            //if (wasMuted == false)
            //mediaPlayer.settings.mute = false; // if we weren't muted before, let's unmute

            e.Result = newPosition;
        }