#endif
wxSize m_bestSize; // Cached size
-#ifdef __WXDEBUG__ // Stuff for getting useful debugging strings
+ // Stuff for getting useful debugging strings
+#if wxDEBUG_LEVEL
wxDynamicLibrary m_dllQuartz;
LPAMGETERRORTEXT m_lpAMGetErrorText;
wxString GetErrorString(HRESULT hrdsv);
-#endif // __WXDEBUG__
+#endif // wxDEBUG_LEVEL
wxEvtHandler* m_evthandler;
friend class wxAMMediaEvtHandler;
bool m_bLoadEventSent; // Whether or not FinishLoaded was already called
// prevents it being called multiple times
- DECLARE_NO_COPY_CLASS(wxAMMediaEvtHandler)
+ wxDECLARE_NO_COPY_CLASS(wxAMMediaEvtHandler);
};
//===========================================================================
//---------------------------------------------------------------------------
// Usual debugging macros
//---------------------------------------------------------------------------
-#ifdef __WXDEBUG__
+#if wxDEBUG_LEVEL
#define MAX_ERROR_TEXT_LEN 160
// Get the error string for Active Movie
{
// First get the AMGetErrorText procedure in debug
// mode for more meaningful messages
-#ifdef __WXDEBUG__
- if ( m_dllQuartz.Load(_T("quartz.dll"), wxDL_VERBATIM) )
+#if wxDEBUG_LEVEL
+ if ( m_dllQuartz.Load(wxT("quartz.dll"), wxDL_VERBATIM) )
{
m_lpAMGetErrorText = (LPAMGETERRORTEXT)
m_dllQuartz.GetSymbolAorW(wxT("AMGetErrorText"));
}
-#endif // __WXDEBUG__
+#endif // wxDEBUG_LEVEL
bool wxAMMediaBackend::SetVolume(double dVolume)
{
// inverse the transformation above
- long lVolume = 2000*log10(dVolume + (1 - dVolume)*0.00001);
+ long lVolume = static_cast<long>(2000*log10(dVolume + (1 - dVolume)*0.00001));
HRESULT hr = GetAM()->put_Volume(lVolume);
if(FAILED(hr))
wxLongLong* pLoadTotal)
{
#ifndef __WXWINCE__
- LONGLONG loadTotal = 0, loadProgress = 0;
- IUnknown* pFG;
- IAMOpenProgress* pOP;
- HRESULT hr;
- hr = m_pAM->get_FilterGraph(&pFG);
- if(SUCCEEDED(hr))
+ IUnknown* pFG = NULL;
+
+ HRESULT hr = m_pAM->get_FilterGraph(&pFG);
+
+ // notice that the call above may return S_FALSE and leave pFG NULL
+ if(SUCCEEDED(hr) && pFG)
{
+ IAMOpenProgress* pOP = NULL;
hr = pFG->QueryInterface(IID_IAMOpenProgress, (void**)&pOP);
- if(SUCCEEDED(hr))
- {
+ if(SUCCEEDED(hr) && pOP)
+ {
+ LONGLONG
+ loadTotal = 0,
+ loadProgress = 0;
hr = pOP->QueryProgress(&loadTotal, &loadProgress);
pOP->Release();
+
+ if(SUCCEEDED(hr))
+ {
+ *pLoadProgress = loadProgress;
+ *pLoadTotal = loadTotal;
+ pFG->Release();
+ return;
+ }
}
pFG->Release();
}
+#endif // !__WXWINCE__
- if(SUCCEEDED(hr))
- {
- *pLoadProgress = loadProgress;
- *pLoadTotal = loadTotal;
- }
- else
-#endif
- {
- // When not loading from a URL QueryProgress will return
- // E_NOINTERFACE or whatever
- // wxAMFAIL(hr);
- *pLoadProgress = 0;
- *pLoadTotal = 0;
- }
+ *pLoadProgress = 0;
+ *pLoadTotal = 0;
}
//---------------------------------------------------------------------------