Stack Overflow on Marshal.PtrToStructure reading wmv files

Posted by Nick Udell on Stack Overflow See other posts from Stack Overflow or by Nick Udell
Published on 2010-04-28T23:02:57Z Indexed on 2010/04/28 23:07 UTC
Read the original article Hit count: 368

Hi, I'm using a frame grabber class in order to capture and process each frame in a video. The class can be found here: http://www.codeproject.com/KB/graphics/FrameGrabber.aspx

I'm having issues with running it, however. When loading the file, it attempts to marshal a video format pointer into a VideoInfoHeader (I'm using DirectShow.Net). The code that does this is as follows:

videoInfo = (VideoInfoHeader)Marshal.PtrToStructure(mediaType.formatPtr, typeof(VideoInfoHeader));

When I run this it immediately crashes out of the debugging environment, probably with a stack overflow. When stepping through I can see that the formatPtr always equals 93, though I do not know what to make of this as I am fairly new to marshalling.

I have checked that the video runs fine in Windows Media Player.

This is essential in finding the dimensions of the video and also the size of the header, which needs to be skipped before the frames can be read.

I am running Windows 7 x64.

Any help on this would be much appreciated, I must've tried fifteen different frame grabbing techniques.

© Stack Overflow or respective owner

Related posts about c#

Related posts about directshow.net