]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/mediactrl.cpp
check that the version of __sync_sub_and_fetch that returns a value is supported...
[wxWidgets.git] / src / mac / carbon / mediactrl.cpp
index 5b729dc6c45523dbdde1d4faa6ce45cdfdd0ce47..c6e16665ac26de6ceafa359517502be748ce76d4 100644 (file)
 #include <QuickTime/QuickTimeComponents.h>
 #endif
 
 #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)
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 // Height and Width of movie controller in the movie control (apple samples)
 //---------------------------------------------------------------------------
@@ -75,7 +83,7 @@ class WXDLLIMPEXP_MEDIA wxQTMediaBackend : public wxMediaBackendCommonBase
 {
 public:
     wxQTMediaBackend();
 {
 public:
     wxQTMediaBackend();
-    ~wxQTMediaBackend();
+    virtual ~wxQTMediaBackend();
 
     virtual bool CreateControl(wxControl* ctrl, wxWindow* parent,
                                      wxWindowID id,
 
     virtual bool CreateControl(wxControl* ctrl, wxWindow* parent,
                                      wxWindowID id,
@@ -430,13 +438,9 @@ bool wxQTMediaBackend::Load(const wxString& fileName)
         newMovieActive,
         NULL); // wasChanged
 
         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);
 
     {
         ::CloseMovieFile(movieResFile);
 
@@ -1230,6 +1234,8 @@ pascal OSStatus wxQTMediaBackend::WindowEventHandler(
         return eventNotHandledErr;
 }
 
         return eventNotHandledErr;
 }
 
+#endif
+
 // in source file that contains stuff you don't directly use
 #include "wx/html/forcelnk.h"
 FORCE_LINK_ME(basewxmediabackends)
 // in source file that contains stuff you don't directly use
 #include "wx/html/forcelnk.h"
 FORCE_LINK_ME(basewxmediabackends)