gpt4 book ai didi

c++ - DirectShow 的 SampleGrabber 检索错误样本

转载 作者:行者123 更新时间:2023-11-28 05:35:26 26 4
gpt4 key购买 nike

<分区>

作为 DS 的新手,我需要一个可以处理 VIDEOINFOHEADER2 的 SampleGrabber,而 IMediaDet 不能。

所以我从 DX8.1 样本中获取了 SampleGrabber,与股票采集器相比,它允许所有类型的媒体。我按原样使用示例代码,抓取一个单帧似乎一切正常:构建图形时没有返回错误代码等。然后调用

    hr = pSeeking->SetPositions( 
&Seek,
AM_SEEKING_AbsolutePositioning,
NULL,
AM_SEEKING_NoPositioning );

使用 Seek = 2

调用回调:

HRESULT 回调(IMediaSample * pSample,REFERENCE_TIME * StartTime,REFERENCE_TIME * StopTime,BOOL TypeChanged)

问题出在缓冲区:它具有正确的大小 (GetSize() == 691200 = 3 Byte * 640 * 320)但它的内容都是“205”,这是不可能的(无论哪种格式)。

怀疑:“回调”的参数是 StartTime = 834168,StopTime = 1251251 和 TypeChanged = 1。

我尝试在 GraphEdit 中显示图表 https://msdn.microsoft.com/en-us/library/windows/desktop/dd390650%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396但没有成功(来自 GraphEdit 的“应用程序正忙”)。

问题可能出在哪里?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com