Question

I'm doing a simple C# code which uses DirectShowLib to record analog TV (everything in the broadcast: audio, video and VBI) from a USB PCTV. Sometimes, not always, when I call mediaControl.Run() method it crashes and returns HRESULT 0x887601C2, which I couldn't find a meaning for in any DirectShow or .NET documentation.

Anyone knows what does the code mean? Thank you.

Was it helpful?

Solution

0x887601C2 is DDERR_SURFACELOST and related to presentation of the video, such as for example that during playback you switch users, logoff, screensaver is started etc. Video renderer is losing the resources it is using to display video, hence the error.

If you get this immediately on Run, maybe you are running your application on a dual monitor system, with the video renderer set to be on one monitor while effectively the window is located by most on the other, and requires a different setup in order to re-acquire hardware resources for video presentation.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top