public virtual void OnVideoEvent(int cookies)
{
if (this.graphBuilder == null)
return;
IMediaEventEx mediaEvent = this.graphBuilder as IMediaEventEx;
EventCode eventCode;
IntPtr param1, param2;
while (mediaEvent.GetEvent(out eventCode, out param1, out param2, 0) >= 0)
{
Trace.WriteLineIf(trace.TraceVerbose, "OnVideoEvent() -> " + eventCode.ToString());
if (eventCode == EventCode.VMRRenderDeviceSet || eventCode == EventCode.VideoSizeChanged || eventCode == EventCode.Paused)
VideoRefresh();
//if (eventCode == EventCode.Paused || eventCode == EventCode.NeedRestart)
//{
// RunGraph();
//}
//switch (eventCode)
//{
// // Call application-defined functions for each
// // type of event that you want to handle.
//}
int hr = mediaEvent.FreeEventParams(eventCode, param1, param2);
}
}