#ifndef WX_PRECOMP
#include "wx/log.h"
+ #include "wx/timer.h"
#endif
// uma is for wxMacFSSpec
#include "wx/mac/uma.h"
-#include "wx/timer.h"
// standard QT stuff
#ifndef __DARWIN__
{
public:
wxQTMediaBackend();
- ~wxQTMediaBackend();
+ virtual ~wxQTMediaBackend();
virtual bool CreateControl(wxControl* ctrl, wxWindow* parent,
wxWindowID id,
// Dispose of the movie controller
::DisposeMovieController(m_mc);
m_mc = NULL;
- DisposeMCActionFilterWithRefConUPP(m_mcactionupp);
-
+
// Dispose of offscreen GWorld
::DisposeGWorld(m_movieWorld);
}
newMovieActive,
NULL); // wasChanged
- //
- // check GetMoviesStickyError() because it may not find the
- // proper codec and play black video and other strange effects,
- // not to mention mess up the dynamic backend loading scheme
- // of wxMediaCtrl - so it just does what the QuickTime player does
- //
- if (err == noErr && ::GetMoviesStickyError() == noErr)
+ // Do not use ::GetMoviesStickyError() here because it returns -2009
+ // a.k.a. invalid track on valid mpegs
+ if (err == noErr && ::GetMoviesError() == noErr)
{
::CloseMovieFile(movieResFile);
// require it if you don't use a Movie Controller,
// which we don't by default.
//
- m_preprerollupp =
- NewMoviePrePrerollCompleteUPP( wxQTMediaBackend::PPRMProc );
+ m_preprerollupp = wxQTMediaBackend::PPRMProc;
::PrePrerollMovie( m_movie, timeNow, playRate,
m_preprerollupp, (void*)this);
// Setup a callback so we can tell when the user presses
// play on the player controls
- m_mcactionupp =
- NewMCActionFilterWithRefConUPP( wxQTMediaBackend::MCFilterProc );
+ m_mcactionupp = wxQTMediaBackend::MCFilterProc;
::MCSetActionFilterWithRefCon( m_mc, m_mcactionupp, (long)this );
wxASSERT(::GetMoviesError() == noErr);
//---------------------------------------------------------------------------
void wxQTMediaBackend::FinishLoad()
{
- // Dispose of the PrePrerollMovieUPP if we used it
- DisposeMoviePrePrerollCompleteUPP(m_preprerollupp);
-
// get the real size of the movie
DoLoadBestSize();