bool DirectShowVideoWrapper::pause(void) { if(isInitialized()) { HRESULT hr; TCHAR szErr[MAX_ERROR_TEXT_LEN]; CComPtr<IMediaControl> mediaControl; hr = _pGraphBuilder->QueryInterface(&mediaControl); if (FAILED(hr)) { AMGetErrorText(hr, szErr, MAX_ERROR_TEXT_LEN); SWARNING << "Unable to get media control, error: " << szErr << std::endl; return false; } hr = mediaControl->Pause(); if (FAILED(hr)) { AMGetErrorText(hr, szErr, MAX_ERROR_TEXT_LEN); SWARNING << "Unable to pause, error: " << szErr << std::endl; return false; } producePaused(); return true; } return false; }
bool VLCVideoWrapper::pause(void) { // check if the player can be paused if(libvlc_media_player_can_pause(_MediaPlayer)) { // can pause it? do it libvlc_media_player_pause(_MediaPlayer); // error checking of course checkVLCError("pausing"); } if(isPaused()) { producePaused(); return true; } else { return false; } }