#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__
#include <QuickTime/QuickTimeComponents.h>
#endif
+#if !defined(__LP64__)
+#define USE_QUICKTIME 1
+#else
+#define USE_QUICKTIME 0
+#endif
+
+#if USE_QUICKTIME
+
//---------------------------------------------------------------------------
// Height and Width of movie controller in the movie control (apple samples)
//---------------------------------------------------------------------------
{
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);
const char* theURIString;
#if wxUSE_UNICODE
- wxCharBuffer buf = wxConvLocal.cWC2MB(theURI, theURI.length(), &len);
+ wxCharBuffer buf = wxConvLocal.cWC2MB(theURI.wc_str(), theURI.length(), &len);
theURIString = buf;
#else
theURIString = theURI;
// 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();
// Suggestion from Greg Hazel to repaint the movie when idle
// (on pause also)
//---------------------------------------------------------------------------
-void wxQTMediaEvtHandler::OnEraseBackground(wxEraseEvent& evt)
+void wxQTMediaEvtHandler::OnEraseBackground(wxEraseEvent& WXUNUSED(evt))
{
// Work around Nasty OSX drawing bug:
// http://lists.apple.com/archives/QuickTime-API/2002/Feb/msg00311.html
// messages to our moviecontroller so it can receive mouse clicks etc.
//---------------------------------------------------------------------------
pascal OSStatus wxQTMediaBackend::WindowEventHandler(
- EventHandlerCallRef inHandlerCallRef,
+ EventHandlerCallRef WXUNUSED(inHandlerCallRef),
EventRef inEvent,
void *inUserData)
{
return eventNotHandledErr;
}
+#endif
+
// in source file that contains stuff you don't directly use
#include "wx/html/forcelnk.h"
FORCE_LINK_ME(basewxmediabackends)