use wxDynamicLibrary::GetSymbolAorW() instead of the manual mess
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -9,6 +9,16 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/*
|
||||||
|
FIXME FIXME FIXME:
|
||||||
|
- extract different backends in different files (better yet, make backends
|
||||||
|
dynamically loadable...), they have nothing to do with each other and
|
||||||
|
this file is huge and also separate the standard contents from our code
|
||||||
|
itself
|
||||||
|
- extract ~1000 lines of wxActiveX code in its own file, why does it have
|
||||||
|
to be here??
|
||||||
|
*/
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// DECLARATIONS
|
// DECLARATIONS
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
@@ -1866,11 +1876,12 @@ public:
|
|||||||
IMediaPlayer* m_pMP;
|
IMediaPlayer* m_pMP;
|
||||||
wxTimer* m_pTimer;
|
wxTimer* m_pTimer;
|
||||||
wxSize m_bestSize;
|
wxSize m_bestSize;
|
||||||
|
|
||||||
#ifdef __WXDEBUG__
|
#ifdef __WXDEBUG__
|
||||||
HMODULE m_hQuartzDll;
|
wxDynamicLibrary m_dllQuartz;
|
||||||
LPAMGETERRORTEXT m_lpAMGetErrorText;
|
LPAMGETERRORTEXT m_lpAMGetErrorText;
|
||||||
wxString GetErrorString(HRESULT hrdsv);
|
wxString GetErrorString(HRESULT hrdsv);
|
||||||
#endif
|
#endif // __WXDEBUG__
|
||||||
|
|
||||||
DECLARE_DYNAMIC_CLASS(wxAMMediaBackend)
|
DECLARE_DYNAMIC_CLASS(wxAMMediaBackend)
|
||||||
};
|
};
|
||||||
@@ -2599,9 +2610,6 @@ wxAMMediaBackend::wxAMMediaBackend()
|
|||||||
m_pAM(NULL),
|
m_pAM(NULL),
|
||||||
m_pMP(NULL),
|
m_pMP(NULL),
|
||||||
m_pTimer(NULL)
|
m_pTimer(NULL)
|
||||||
#ifdef __WXDEBUG__
|
|
||||||
,m_hQuartzDll(NULL)
|
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2621,10 +2629,6 @@ wxAMMediaBackend::~wxAMMediaBackend()
|
|||||||
if(m_pMP)
|
if(m_pMP)
|
||||||
m_pMP->Release();
|
m_pMP->Release();
|
||||||
}
|
}
|
||||||
#ifdef __WXDEBUG__
|
|
||||||
if(m_hQuartzDll)
|
|
||||||
::FreeLibrary(m_hQuartzDll);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
@@ -2652,26 +2656,13 @@ bool wxAMMediaBackend::CreateControl(wxControl* ctrl, wxWindow* parent,
|
|||||||
// First get the AMGetErrorText procedure in debug
|
// First get the AMGetErrorText procedure in debug
|
||||||
// mode for more meaningful messages
|
// mode for more meaningful messages
|
||||||
#ifdef __WXDEBUG__
|
#ifdef __WXDEBUG__
|
||||||
m_hQuartzDll = ::LoadLibrary(wxT("quartz.dll"));
|
if ( m_dllQuartz.Load(_T("quartz.dll"), wxDL_VERBATIM) )
|
||||||
if(m_hQuartzDll)
|
|
||||||
{
|
{
|
||||||
m_lpAMGetErrorText = (LPAMGETERRORTEXT) ::GetProcAddress(
|
m_lpAMGetErrorText = (LPAMGETERRORTEXT)
|
||||||
m_hQuartzDll,
|
m_dllQuartz.GetSymbolAorW(wxT("AMGetErrorText"));
|
||||||
wxString::Format(wxT("AMGetErrorText%s"),
|
|
||||||
|
|
||||||
#if wxUSE_UNICODE
|
|
||||||
wxT("W")
|
|
||||||
#else
|
|
||||||
wxT("A")
|
|
||||||
#endif
|
|
||||||
#ifdef __WXWINCE__
|
|
||||||
)
|
|
||||||
#else
|
|
||||||
).mb_str(wxConvLocal)
|
|
||||||
#endif
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif // __WXDEBUG__
|
||||||
|
|
||||||
// Now determine which (if any) media player interface is
|
// Now determine which (if any) media player interface is
|
||||||
// available - IMediaPlayer or IActiveMovie
|
// available - IMediaPlayer or IActiveMovie
|
||||||
if( ::CoCreateInstance(CLSID_MediaPlayer, NULL,
|
if( ::CoCreateInstance(CLSID_MediaPlayer, NULL,
|
||||||
@@ -2681,7 +2672,7 @@ bool wxAMMediaBackend::CreateControl(wxControl* ctrl, wxWindow* parent,
|
|||||||
if( ::CoCreateInstance(CLSID_ActiveMovie, NULL,
|
if( ::CoCreateInstance(CLSID_ActiveMovie, NULL,
|
||||||
CLSCTX_INPROC_SERVER,
|
CLSCTX_INPROC_SERVER,
|
||||||
IID_IActiveMovie, (void**)&m_pAM) != 0 )
|
IID_IActiveMovie, (void**)&m_pAM) != 0 )
|
||||||
return false;
|
return false;
|
||||||
m_pAM->QueryInterface(IID_IMediaPlayer, (void**)&m_pMP);
|
m_pAM->QueryInterface(IID_IMediaPlayer, (void**)&m_pMP);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user