   IMediaControl::Run and WM_TIMER problems [SOLVED, please lock]
  Hi.I'm converting an old win95 app that used MCI for playback into a new version that uses DirectShow. I successfully managed to convert the code but I've got a problem now. In the original app, during video playback there was a win32 timer (the classic SetTimer one) whose timerproc had to do some checks. Now that I turned the app into DirectShow, as soon as I use the IMediaControl::Run method, my window stops receiving the WM_TIMER message. I think that, since WM_TIMER is a low-priority message, running the DirectShow filter floods my WndProc with WM_PAINT messages (high-priority) always delaying WM_TIMER messages to the point that is not processed at all. I'm stuck because there's no way to raise WM_TIMER priority and, afaik, other kind of timers (not using windows messages) execute the callback timerproc in a separate thread, leading to possible problems. I'd like to modify the code making it thread-safe but I can't: source code for this app is somehow lost and I'm working directly in asm on the exe (don't worry, it's legit, I asked permission to the original authors eheheh) and such an extensive modification is almost impossible to do directly in asm. Did someone else have this problem using DirectShow and WM_TIMER messages? Any hint on how to fix this?Btw: the DirectShow window is child of a fullscreen window, and I think everything is ok because I can correctly get my messages when the filter is not running, even WM_TIMER messages. While running, the video playback is perfect, only issue is the loss of WM_TIMER messages (I correctly get other windows messages while playing).Thank you[Edited by - gufino2 on May 22, 2010 11:51:08 AM]
  Ok, sorry for wasting your time. I solved the WM_TIMER problem and actually it wasn't related to DirectShow. Thanks.PS: this thread can be locked or closed now.   