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;
этот способ мне кажется медленным, а если необходимо покадровый просмотр, то неподходит.
есть ли другой способ обновления сэмпла?
заранее спасибо
Пока на собственное сообщение не было ответов, его можно удалить.