HRESULT CheckTransform(const CMediaType *mtIn,const CMediaType *mtOut)
{
..
memcmp(&pInput->bmiHeader,&pOutput->bmiHeader,sizeof(BITMAPINFOHEADER); //算正解吧 呵呵
}
CheckTransform第一次调用时
pInput->bmiHeader和pOutput->bmiHeader 内容是一样的
但再次进来就变了 是biWidth biHeight biSizeImage这三个成员会变
应该是下一级filter的input pin修改的 (这里下面就是Video Render了)
学到什么了呢? 熟悉directshow的工作模式 尽量理解它的方式 而不能想当然
博客围绕HRESULT CheckTransform函数展开,该函数第一次调用时,pInput->bmiHeader和pOutput->bmiHeader内容相同,但再次调用时,biWidth、biHeight、biSizeImage三个成员会改变,推测是下一级filter的input pin修改,强调要熟悉DirectShow工作模式。
229

被折叠的 条评论
为什么被折叠?



