CMpcAudioRenderer::~CMpcAudioRenderer() { Stop(); SAFE_DELETE (m_pSoundTouch); SAFE_RELEASE (m_pDSBuffer); SAFE_RELEASE (m_pDS); SAFE_RELEASE (pRenderClient); SAFE_RELEASE (pAudioClient); SAFE_RELEASE (pMMDevice); if (m_pReferenceClock) { SetSyncSource(NULL); SAFE_RELEASE (m_pReferenceClock); } if (m_pWaveFileFormat) { BYTE *p = (BYTE *)m_pWaveFileFormat; SAFE_DELETE_ARRAY(p); } if (hTask != NULL && pfAvRevertMmThreadCharacteristics != NULL) { pfAvRevertMmThreadCharacteristics(hTask); } }
HRESULT CWASAPIRenderFilter::RevertMMCSS() { if (m_hTask && pfAvRevertMmThreadCharacteristics) { if (pfAvRevertMmThreadCharacteristics(m_hTask)) return S_OK; else return HRESULT_FROM_WIN32(GetLastError()); } return S_FALSE; // failed since no thread had been boosted }