急怎样正确的设置usb摄像头的采集帧率?该怎么解决

急急急,怎样正确的设置usb摄像头的采集帧率???
rt。 
我用directshow对摄像头进行设置,用的是网上的CCaptureVideo类,通过设置下面来实现一帧一帧的数据采集 
CComPtr <ISampleGrabber> m_pGrabber; 

CComQIPtr < IBaseFilter, &IID_IBaseFilter > pGrabBase( m_pGrabber ); 

hr = m_pGrabber->SetBufferSamples( FALSE); 
hr = m_pGrabber->SetOneShot( FALSE ); 
hr = m_pGrabber->SetCallback( &mCB, 1 ); 

我的帧率通过对摄像头的源filter进行设置 
VIDEOINFOHEADER *pVih = (VIDEOINFOHEADER*)pmtConfig->pbFormat; 
// pVih contains the detailed format information. 
pVih->bmiHeader.biWidth=320; 
pVih->bmiHeader.biHeight=240; 
pVih->AvgTimePerFrame = (LONGLONG)(10000000 / FRAMERATE); //FRAMERATE == 25 
hr = pVSC->SetFormat(pmtConfig);//重新设置视频格式 

问题是这样设置后,有的时候正常有的时候帧率不正常,我采集的是没有压缩过的数据,yuv420格式的。而且感觉晚上不正常时候多,请问这是怎么回事???

------解决方案--------------------
先用graphedit操作一下,看是不是硬件或驱动本身的问题。
------解决方案--------------------
确定下你的摄像头能被修改吗?