X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7ec698211d5d82a009ac80fb354059e9af497508..08bce50191228ae4a423b488beedcc8ef1ebb30c:/src/msw/mediactrl.cpp diff --git a/src/msw/mediactrl.cpp b/src/msw/mediactrl.cpp index 3e05af9874..7384442f50 100644 --- a/src/msw/mediactrl.cpp +++ b/src/msw/mediactrl.cpp @@ -1376,7 +1376,7 @@ private: // //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -IMPLEMENT_DYNAMIC_CLASS(wxAMMediaBackend, wxMediaBackend); +IMPLEMENT_DYNAMIC_CLASS(wxAMMediaBackend, wxMediaBackend) //--------------------------------------------------------------------------- // Usual debugging macros @@ -1612,7 +1612,10 @@ wxAMMediaBackend::~wxAMMediaBackend() if(m_pAX) { - m_pAX->DissociateHandle(); + { + wxLogNull noLog; + m_pAX->DissociateHandle(); + } delete m_pAX; m_pAM->Release(); @@ -1629,7 +1632,10 @@ wxAMMediaBackend::~wxAMMediaBackend() void wxAMMediaBackend::Clear() { if(m_pTimer) + { delete m_pTimer; + m_pTimer = NULL; + } } //--------------------------------------------------------------------------- @@ -1870,33 +1876,7 @@ bool wxAMMediaBackend::ShowPlayerControls(wxMediaCtrlPlayerControls flags) //--------------------------------------------------------------------------- bool wxAMMediaBackend::Play() { - // if the movie isn't done loading yet - // go into an sync getmessage loop until it is :) - if(m_pMP) - { - MPReadyStateConstants nState; - m_pMP->get_ReadyState(&nState); - while(nState == mpReadyStateLoading && wxYieldIfNeeded()) - { - m_pMP->get_ReadyState(&nState); - } - } - else - { - IActiveMovie2* pAM2; - ReadyStateConstants nState; - if(m_pAM->QueryInterface(IID_IActiveMovie2, (void**)&pAM2) == 0 && - pAM2->get_ReadyState(&nState) == 0) - { - while(nState == amvLoading && wxYieldIfNeeded()) - { - pAM2->get_ReadyState(&nState); - } - pAM2->Release(); - } - } - - //Actually try to play the movie + // Actually try to play the movie, even though it may not be loaded yet. HRESULT hr = m_pAM->Run(); if(SUCCEEDED(hr)) { @@ -2180,7 +2160,7 @@ void wxAMMediaBackend::Move(int WXUNUSED(x), int WXUNUSED(y), // //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -IMPLEMENT_DYNAMIC_CLASS(wxMCIMediaBackend, wxMediaBackend); +IMPLEMENT_DYNAMIC_CLASS(wxMCIMediaBackend, wxMediaBackend) //--------------------------------------------------------------------------- // Usual debugging macros for MCI returns @@ -2708,7 +2688,7 @@ LRESULT CALLBACK wxMCIMediaBackend::OnNotifyWndProc(HWND hWnd, UINT nMsg, // with this backend are treated as playable anyway - not verifyed though. //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -IMPLEMENT_DYNAMIC_CLASS(wxQTMediaBackend, wxMediaBackend); +IMPLEMENT_DYNAMIC_CLASS(wxQTMediaBackend, wxMediaBackend) //Time between timer calls - this is the Apple recommondation to the TCL //team I believe @@ -3537,7 +3517,7 @@ void wxQTMediaEvtHandler::OnEraseBackground(wxEraseEvent& evt) //in source file that contains stuff you don't directly use #include "wx/html/forcelnk.h" -FORCE_LINK_ME(basewxmediabackends); +FORCE_LINK_ME(basewxmediabackends) //--------------------------------------------------------------------------- // End wxMediaCtrl Compilation Guard and this file