WG: [MPlayer-cygwin] Qtx support under Windows?

Gianluigi Tiesi mplayer at netfarm.it
Fri Jan 14 21:12:14 CET 2005


On Fri, Jan 14, 2005 at 12:47:17PM +0100, Diego Biurrun wrote:
> Gianluigi Tiesi writes:
> > On Fri, Jan 14, 2005 at 01:01:49AM +0100, Diego Biurrun wrote:
> > > Gianluigi Tiesi writes:
> > > > On Wed, Jan 12, 2005 at 08:43:09PM -0600, Joey Parrish wrote:
> > > > > On Thu, Jan 13, 2005 at 03:29:13AM +0100, Gianluigi Tiesi wrote:
> > > > > > @win32 developers:
> > > > > > There is a way to avoid Quicktime.qts in system32? Does a preload with
> > > > > > LoadLibrary will work?
> > > > > 
> > > > > As far as I can tell, the path to Quicktime.qts is hardcoded into the
> > > > > other Quicktime DLLs.  So you never load it with LoadLibrary at all.
> > > 
> > > Would it be possible to patch the DLLs then?
> > It's not a good idea, is not version independant.
> 
> Version of what?  We distribute the QT DLLs, so we can patch them to
> our hearts content..
> 
qtmlClient.dll does a reg query to:
"HKEY_LOCAL_MACHINE\SOFTWARE\Apple Computer, Inc.\QuickTime\QuickTime.qts folder"

to pick QuickTime.qts directory, anyway the preload trick did worked for
me, on windows xp, here the patch, this is only for qtaudio but other
qtstuff can be patched same way. Please test it on other systems.

I can provide a full complete patch but the only quicktime movies I have
need only qtaudio from dll, tell me links of other samples.

Bye

-- 
Gianluigi Tiesi <sherpya at netfarm.it>
EDP Project Leader
Netfarm S.r.l. - http://www.netfarm.it/
Free Software: http://oss.netfarm.it/
-------------- next part --------------
--- main/libmpcodecs/ad_qtaudio.c	2004-12-04 23:59:19.000000000 +0100
+++ sherpya/libmpcodecs/ad_qtaudio.c	2005-01-14 20:43:11.396827200 +0100
@@ -68,6 +68,7 @@
                                 unsigned long *outputBytes);
 typedef int (__cdecl* LPFUNC9)(SoundConverter         sc) ;                                
 
+static HINSTANCE qtime_qts;
 static HINSTANCE qtml_dll;
 static LPFUNC1 InitializeQTML;
 static LPFUNC2 SoundConverterOpen;
@@ -91,10 +92,16 @@
 #ifdef WIN32_LOADER
     Setup_LDT_Keeper();
 #endif
+    qtime_qts = LoadLibraryA("QuickTime.qts");
+    if( qtime_qts == (HMODULE)NULL )
+    {
+        mp_msg(MSGT_DECAUDIO,MSGL_ERR,"failed loading QuickTime.qts\n" );
+        return 1;
+    }
     qtml_dll = LoadLibraryA("qtmlClient.dll");
     if( qtml_dll == (HMODULE)NULL )
     {
-        mp_msg(MSGT_DECAUDIO,MSGL_ERR,"failed loading dll\n" );
+        mp_msg(MSGT_DECAUDIO,MSGL_ERR,"failed loading qtmlClient.dll\n" );
 	return 1;
     }
 #if 1
@@ -268,6 +275,8 @@
 //    error = TerminateQTML();
 //    printf("TerminateQTML:%i\n",error);
 //    FreeLibrary( qtml_dll );
+//    qtime_qts = NULL;
+//    FreeLibrary( qtime_qts );
 //    qtml_dll = NULL;
 //    printf("qt dll loader uninit done\n");
 #ifdef MACOSX


More information about the MPlayer-cygwin mailing list