void CALLBACK MediaObject::WaveOutCallBack(HWAVEOUT m_hWaveOut, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2) { Q_UNUSED(m_hWaveOut); Q_UNUSED(dwInstance); Q_UNUSED(dwParam2); switch(uMsg) { case WOM_OPEN: break; case WOM_DONE: { WAVEHDR *waveHeader = (WAVEHDR*)dwParam1; MediaObject* mediaObject = reinterpret_cast<MediaObject *>(waveHeader->dwUser); if (mediaObject) { mediaObject->swapBuffers(); } } break; case WOM_CLOSE: break; } }