| 326 | } |
| 327 | |
| 328 | CDX9VideoProcessor::~CDX9VideoProcessor() |
| 329 | { |
| 330 | m_pFilter->m_pSubPicQueue.Release(); |
| 331 | m_pSubPicAllocator.Release(); |
| 332 | |
| 333 | if (m_deviceThread.joinable()) { |
| 334 | m_evQuit.Set(); |
| 335 | m_deviceThread.join(); |
| 336 | } |
| 337 | |
| 338 | ReleaseDevice(); |
| 339 | |
| 340 | m_pD3DDeviceManager.Release(); |
| 341 | m_nResetTocken = 0; |
| 342 | |
| 343 | m_pD3DEx.Release(); |
| 344 | |
| 345 | MH_RemoveHook(SystemParametersInfoA); |
| 346 | MH_RemoveHook(SetWindowLongA); |
| 347 | MH_RemoveHook(SetWindowPos); |
| 348 | MH_RemoveHook(ShowWindow); |
| 349 | } |
| 350 | |
| 351 | void CDX9VideoProcessor::DeviceThreadFunc() |
| 352 | { |