请问directshow的一个问题!
请问:
if (m_rType == Type_AVI)
{
hr = m_pCGraphBuilder2->ControlStream(&PIN_CATEGORY_CAPTURE, NULL,NULL, &start, NULL, 0, 0);
bhasStream = SUCCEEDED(hr);
}
GOTO_IF_FAILED( m_pControl->Run() );
if (m_rType == Type_AVI && bhasStream)
{
hr = m_pCGraphBuilder2->ControlStream(&PIN_CATEGORY_CAPTURE, NULL,NULL, NULL, &stop, 0, 0);
}
这样的话,捕捉视频的时候,声音和图像会有不同步的情况,但是我做如下修改,就不会有声音和图像不同步的问题:
if (m_rType == Type_AVI)
{
hr = m_pCGraphBuilder2->ControlStream(&PIN_CATEGORY_CAPTURE, NULL,NULL, &start, NULL, 0, 0);
bhasStream = SUCCEEDED(hr);
}
GOTO_IF_FAILED( m_pControl->Run() );
Sleep(2000); // 也就是在这里sleep 2秒,就不会声音图像不同步问题
if (m_rType == Type_AVI && bhasStream)
{
hr = m_pCGraphBuilder2->ControlStream(&PIN_CATEGORY_CAPTURE, NULL,NULL, NULL, &stop, 0, 0);
}
请问这是怎么回事?