/// <summary>Extract and display the frames</summary>
private void Run()
{
videoStream.GetFrameOpen();
for (currentFrameIndex = 0; (currentFrameIndex < videoStream.CountFrames) && isRunning; currentFrameIndex++)
{
//show frame
currentBitmap = videoStream.GetBitmap(currentFrameIndex);
picDisplay.Invoke(new SimpleDelegate(SetDisplayPicture));
picDisplay.Invoke(new SimpleDelegate(picDisplay.Refresh));
//show position
if (ctlFrameIndexFeedback != null)
{
ctlFrameIndexFeedback.Invoke(new SimpleDelegate(SetLabelText));
}
//wait for the next frame
Thread.Sleep(millisecondsPerFrame);
}
videoStream.GetFrameClose();
isRunning = false;
if (Stopped != null)
{
Stopped(this, EventArgs.Empty);
}
}