X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a843caf3e1355f0fe21e2ee59c1385b58e347c02..08bce50191228ae4a423b488beedcc8ef1ebb30c:/src/msw/mediactrl.cpp?ds=sidebyside diff --git a/src/msw/mediactrl.cpp b/src/msw/mediactrl.cpp index 6098efa556..7384442f50 100644 --- a/src/msw/mediactrl.cpp +++ b/src/msw/mediactrl.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: msw/mediactrl.cpp +// Name: src/msw/mediactrl.cpp // Purpose: Built-in Media Backends for Windows // Author: Ryan Norton // Modified by: @@ -161,23 +161,23 @@ struct IMediaEvent : public IDispatch enum ReadyStateConstants { - amvUninitialized = 0, - amvLoading = 1, + amvUninitialized = 0, + amvLoading = 1, amvInteractive = 3, - amvComplete = 4 + amvComplete = 4 }; enum StateConstants { amvNotLoaded = -1, - amvStopped = 0, - amvPaused = 1, - amvRunning = 2 + amvStopped = 0, + amvPaused = 1, + amvRunning = 2 }; enum DisplayModeConstants { - amvTime = 0, + amvTime = 0, amvFrames = 1 }; @@ -1350,7 +1350,7 @@ public: m_hwnd = hwnd; m_qtb->m_ctrl->Connect(m_qtb->m_ctrl->GetId(), - wxEVT_ERASE_BACKGROUND, + wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(wxQTMediaEvtHandler::OnEraseBackground), NULL, this ); @@ -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 @@ -3536,12 +3516,10 @@ void wxQTMediaEvtHandler::OnEraseBackground(wxEraseEvent& evt) //--------------------------------------------------------------------------- //in source file that contains stuff you don't directly use -#include -FORCE_LINK_ME(basewxmediabackends); +#include "wx/html/forcelnk.h" +FORCE_LINK_ME(basewxmediabackends) //--------------------------------------------------------------------------- // End wxMediaCtrl Compilation Guard and this file //--------------------------------------------------------------------------- #endif //wxUSE_MEDIACTRL - -