I'm trying to debug a legacy application that uses DirectShow to play videos with IMediaControl::Run
. One of our in-house devices suddenly stopped showing MPEG-1 videos in this application, despite no indications that the rendering process is encountering any kind of error. There isn't even a black video window, just the gray of the window beneath. WMV videos render fine on the same device.
How can I debug the issue? I'm inspecting all DirectShow & COM return codes and none indicate an error. I registered the IGraphBuilder
with the Running Object Table and inspected the filters with GraphEditPlus and GraphStudioNext, but I don't see any obvious errors there either. I've even tried calling IVideoWindow::put_Visible
and IVideoWindow::SetWindowForeground
to no avail.
I also tried DISM
and SFC /scannow
in case the device was corrupted.