Насчет покадрового просмотра, может Вам пригодится:
long bMultiple = 0;// это не обязательно, нужно для переходов на несколько семплов
IVideoFrameStep* pVideoFrameStep;
if(piGraphBuilder->QueryInterface(IID_IVideoFrameStep, (void **)&pVideoFrameStep) == S_OK)
{
pVideoFrameStep->Release();
// проверяем доступность покадрового воспр.
if(pVideoFrameStep->CanStep(bMultiple, NULL) == S_OK)
{
////// делаем что нужно, к примеру пункт меню устанавливаем
}
}
ну и потом
pVideoFrameStep->Step(1, NULL);// шагаем на один семпл
окно обновляется автоматом.