作为DS的新手,我需要一个SampleGrabber来处理VIDEOINFOHEADER2,IMediaDet不能。DirectShow的SampleGrabber检索错误的样本
因此,我从DX8.1样品中拿取SampleGrabber,与stock grabber相比,它允许使用各种介质。 我使用的样例代码相当原样,并抢得一个单帧一切似乎很好地工作:根据图表,而不返回ErrorCode的等内置 然后调用
hr = pSeeking->SetPositions(
&Seek,
AM_SEEKING_AbsolutePositioning,
NULL,
AM_SEEKING_NoPositioning);
与寻求= 2
回调被称为:
HRESULT回调(IMediaSample * pSample,REFERENCE_TIME *开始时间,REFERENCE_TIME *停止时间,BOOL TypeChanged)
的问题是与缓冲器: 它具有正确的大小(GetSize()== 691200 = 3 Byte * 640 * 320) 但它的内容全部是“205”,不能是(以哪种格式)。
可疑一下: 的“回调”的参数是开始时间= 834168,停止时间= 1251251和TypeChanged = 1
我试图表示在GraphEdit中 https://msdn.microsoft.com/en-us/library/windows/desktop/dd390650%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 图形,但没有成功(“应用正忙于“从GraphEdit)。
问题在哪里?
我对DirectShow一无所知,除了一些涉及20多年前的事情。我唯一看到的是0xCD的线索。是的,我同意,删除问题,因为事实证明它与DirectShow无关。 –
我会的。但是 - 再次指出 - 你的提示确实是一种帮助。谢谢! :-) – nji9