Search code examples
c#c++videodirectxdirectshow

directx/directshow preparesurface fail / fail to present image


What is the common cause of a 887601c2 error? As seen below -2005532222 (887601c2)

I have a program written in directshow that captures a TV tuner device an renders it.

Found capture device: 'Hauppage Cx23100 Video Capture' FAILED TO PRESENT IMAGE: 887601c2 PrepareSurface failed [-2005532222] Found capture device: 'Hauppage Cx23100 Video Capture' FAILED TO PRESENT IMAGE: 887601c2 PrepareSurface failed [-2005532222]

On a later day: Found capture device: 'Hauppage Cx23100 Video Capture' GetFrame failed [887601c2] Could not get frame PrepareSurface failed [-2005532222] GetFrame failed [887601c2] Could not get frame GetFrame failed [887601c2] Could not get frame GetFrame failed [887601c2] Could not get frame GetFrame failed [887601c2] Could not get frame


Solution

  • The error is 0x887601C2 DDERR_SURFACELOST. The error is apparently related to video presentation, either loss of resources such that with desktop lock or concurrent application operation, or might also be related to misconfiguration on a multi-monitor system.

    See DirectShow return hresult 0x887601C2 on IMediaControl.Run() for possible cause.