]> git.saurik.com Git - wxWidgets.git/commitdiff
Further steps towards media control support in WinCE (Ryan Norton)
authorJulian Smart <julian@anthemion.co.uk>
Fri, 27 Jan 2006 23:32:12 +0000 (23:32 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Fri, 27 Jan 2006 23:32:12 +0000 (23:32 +0000)
- not yet working

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37189 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/wince/chkconf.h
include/wx/msw/wince/setup.h
src/msw/mediactrl.cpp

index e49897df72eb86c5bf470d36f833aa561af0205a..dc3aebb872582d2bda98f4f961d8468b7a77a280 100644 (file)
 #undef wxUSE_ON_FATAL_EXCEPTION
 #define wxUSE_ON_FATAL_EXCEPTION 0
 
-// media stuff not supported under CE
-#undef wxUSE_MEDIACTRL
-#define wxUSE_MEDIACTRL 0
-
 #undef wxUSE_WXHTML_HELP
 #define wxUSE_WXHTML_HELP 0
 
index e1980514356580ef20311425e1fdd0f601984405..0a2f18b8bf2e8dd9610186c1be5a4dad1bb60560 100644 (file)
 // Default is 1.
 //
 // Recommended setting: 1 
-#define wxUSE_MEDIACTRL     1
+#define wxUSE_MEDIACTRL     0
 
 // Use GStreamer for Unix (req a lot of dependancies)
 //
index eaf5fdeda3c2e406109eaeb15d7f65608ffb6e66..bc3d8cd3f0f8d8e1a4fa64283f701a9382a29af3 100644 (file)
@@ -1661,25 +1661,45 @@ bool wxAMMediaBackend::CreateControl(wxControl* ctrl, wxWindow* parent,
     }
 #endif
 
-    // determine which (if any) media player interface
-    // is available - IMediaPlayer or IActiveMovie
-    if ( ::CoCreateInstance(CLSID_MediaPlayer, NULL,
-                                  CLSCTX_INPROC_SERVER,
-                                  IID_IMediaPlayer, (void**)&m_pMP) != 0 )
-    {
-        if ( ::CoCreateInstance(CLSID_ActiveMovie, NULL,
-                                  CLSCTX_INPROC_SERVER,
-                                  IID_IActiveMovie, (void**)&m_pAM) != 0 )
-        {
-            return false;
-        }
+#ifdef __WXWINCE__
+   CLSID clsid;
+   if (CLSIDFromProgID(wxT("WPCEOCX.WMP"), &clsid) != S_OK &&
+       CLSIDFromProgID(wxT("MediaPlayer.MediaPlayer.1"), &clsid) != S_OK)
+    return false;
 
-        m_pAM->QueryInterface(IID_IMediaPlayer, (void**)&m_pMP);
-    }
-    else
-    {
-        m_pMP->QueryInterface(IID_IActiveMovie, (void**)&m_pAM);
-    }
+   // determine which (if any) media player interface
+   // is available - IMediaPlayer or IActiveMovie
+   if ( ::CoCreateInstance(clsid, NULL,
+                                 CLSCTX_INPROC_SERVER,
+                                 IID_IMediaPlayer, (void**)&m_pMP) != 0 )
+   {
+           return false;
+   }
+   else
+   {
+       m_pMP->QueryInterface(IID_IActiveMovie, (void**)&m_pAM);
+   }
+#else
+   // determine which (if any) media player interface
+   // is available - IMediaPlayer or IActiveMovie
+   if ( ::CoCreateInstance(CLSID_MediaPlayer, NULL,
+                                 CLSCTX_INPROC_SERVER,
+                                 IID_IMediaPlayer, (void**)&m_pMP) != 0 )
+   {
+       if ( ::CoCreateInstance(CLSID_ActiveMovie, NULL,
+                                 CLSCTX_INPROC_SERVER,
+                                 IID_IActiveMovie, (void**)&m_pAM) != 0 )
+       {
+           return false;
+       }
+
+       m_pAM->QueryInterface(IID_IMediaPlayer, (void**)&m_pMP);
+   }
+   else
+   {
+       m_pMP->QueryInterface(IID_IActiveMovie, (void**)&m_pAM);
+   }
+#endif
 
     // Create window
     // By default wxWindow(s) is created with a border -