Подскажите плиз наиболе простой способ задать частоту кадров устройству захвата видео (анпример web-камера) через интерфейсы DirectShow из Microsoft DirectX 9.0 SDK
Здравствуйте, LeeMouse,
я сокращенно пытаюсь так:
CComPtr<IAMStreamConfig> pStreamConfig = NULL;
hr = m_pCapture->FindInterface(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video, m_pSource, IID_IAMStreamConfig, (void **)&pStreamConfig);
AM_MEDIA_TYPE *pMediaType = NULL;
hr = pStreamConfig->GetFormat(&pMediaType);
DWORD dwFps = ((VIDEOINFOHEADER*)(pMediaType->pbFormat))->AvgTimePerFrame; // старый КВС
((VIDEOINFOHEADER*)(pMediaType->pbFormat))->AvgTimePerFrame = новое_значение_квс;
pStreamConfig->SetFormat(pMediaType);
CoTaskMemFree(pMediaType);
но пока не тестил
З.Ы.:
m_pCapture — это ICaptureGraphBuilder2*, а
m_pSource — IBaseFilter* (фильтр источника захвата)
Спасибо за помощь!
Однако задача уже успешно решена...
Здравствуйте, LeeMouse, Вы писали:
LM>Подскажите плиз наиболе простой способ задать частоту кадров устройству захвата видео (анпример web-камера) через интерфейсы DirectShow из Microsoft DirectX 9.0 SDK
раз
два
три
или
четыре