19,468
社区成员
发帖
与我相关
我的任务
分享
IAMStreamConfig *pConfig = NULL;
hr = pSourceOut->QueryInterface(IID_IAMStreamConfig, (void **)&pConfig);//pSourceOut是采集设备的输出IPin
if(FAILED(hr))
{
MessageBox("IID_IAMStreamConfig没找到!");
return;
}
AM_MEDIA_TYPE *pmt = NULL;
LONGLONG avgTimePerFrame = 500000; // 20fps这里帧数改变了没区别,AVChar里改了也没区别
hr = pConfig->GetFormat(&pmt);
if(pmt->formattype == FORMAT_VideoInfo)
{
VIDEOINFOHEADER *pvi = (VIDEOINFOHEADER *) pmt->pbFormat;
pvi->AvgTimePerFrame = avgTimePerFrame;
pvi->bmiHeader.biWidth = Preferred_Width;
pvi->bmiHeader.biHeight = Preferred_Height;
pvi->bmiHeader.biSizeImage = Preferred_Width * Preferred_Height * pvi->bmiHeader.biBitCount / 8;
pConfig->SetFormat(pmt);
}
pConfig->Release();