Спасибо за ответ, однако это то, что я пытался делать:
IMediaPosition * streamF;
hr = OutFilter->QueryInterface(IID_IMediaPosition, (void **)&streamF);
REFTIME rtTime;
hr = streamF->get_CurrentPosition(&rtTime);
hr = streamF->Release();
float timeMsec = ((float) rtTime / 10000.0);
Так вот rtTime завсегда равен нулю. :no:
...в обычном виндовом API (waveOutOpen, waveOutPrepareHeader, waveOutWrite) я знал какая порция звука только что закончилась и делал интерполяцию зная nAvgBytesPerSec. Здесь же такого метода нет или он хорошо упрятан.
Так что вопрос открыт...