Sample Refresh после перемещения позиции (Seek) в графе
От: andrju  
Дата: 27.11.06 14:54
Оценка:
Для обновления картинки после перемещения позиции в остановленном графе, исользую следующий код:

m_pMMStream->Seek(pos);
// Set state to playback
if(!m_bPlaying)
{
m_pMMStream->SetState(STREAMSTATE_RUN);
hr=m_pSample->Update(SSUPDATE_ASYNC, NULL, NULL, 0);
if(hr==MS_S_PENDING)
{
do
{
hr = m_pSample->CompletionStatus(COMPSTAT_WAIT,10); // wait 10 milliseconds before returning
count++;
}while ((hr == MS_S_PENDING || hr == MS_E_BUSY) && count <= 3);
}
m_pMMStream->SetState(STREAMSTATE_STOP);
}


// где :
// Multimedia stream interface: IMultiMediaStream * m_pMMStream;
// DirectDraw sample stream interface: IDirectDrawStreamSample *m_pSample;

этот способ мне кажется медленным, а если необходимо покадровый просмотр, то неподходит.
есть ли другой способ обновления сэмпла?

заранее спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.