Mercurial > mplayer.hg
changeset 14528:860f06087aac
preload quicktime.qts, this allows us to ignore the hardcoded path inside the dlls so that quicktime.qts doesn't need to be in the windows system dir, patch by Gianluigi Tiesi <mplayer at netfarm.it>, comments by myself
author | faust3 |
---|---|
date | Mon, 17 Jan 2005 20:57:48 +0000 |
parents | 5417ab15e900 |
children | cc9c088305d9 |
files | libmpcodecs/ad_qtaudio.c libmpcodecs/vd_qtvideo.c libmpcodecs/ve_qtvideo.c |
diffstat | 3 files changed, 27 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpcodecs/ad_qtaudio.c Mon Jan 17 17:27:39 2005 +0000 +++ b/libmpcodecs/ad_qtaudio.c Mon Jan 17 20:57:48 2005 +0000 @@ -68,6 +68,7 @@ unsigned long *outputBytes); typedef int (__cdecl* LPFUNC9)(SoundConverter sc) ; +static HINSTANCE qtime_qts; // handle to the preloaded quicktime.qts static HINSTANCE qtml_dll; static LPFUNC1 InitializeQTML; static LPFUNC2 SoundConverterOpen; @@ -91,10 +92,17 @@ #ifdef WIN32_LOADER Setup_LDT_Keeper(); #endif + //preload quicktime.qts to avoid the problems caused by the hardcoded path inside the dll + 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 @@ -269,6 +277,8 @@ // printf("TerminateQTML:%i\n",error); // FreeLibrary( qtml_dll ); // qtml_dll = NULL; +// FreeLibrary( qtime_qts ); +// qtime_qts = NULL; // printf("qt dll loader uninit done\n"); #ifdef MACOSX ExitMovies();
--- a/libmpcodecs/vd_qtvideo.c Mon Jan 17 17:27:39 2005 +0000 +++ b/libmpcodecs/vd_qtvideo.c Mon Jan 17 20:57:48 2005 +0000 @@ -52,7 +52,7 @@ static GWorldPtr OutBufferGWorld = NULL;//a GWorld is some kind of description for a drawing environment static ImageDescriptionHandle framedescHandle; -//static HINSTANCE qtml_dll; +static HINSTANCE qtime_qts; // handle to the preloaded quicktime.qts static HMODULE handler; #if defined(USE_QTX_CODECS) && !defined(MACOSX) @@ -116,6 +116,13 @@ Setup_LDT_Keeper(); #endif + //preload quicktime.qts to avoid the problems caused by the hardcoded path inside the dll + qtime_qts = LoadLibraryA("QuickTime.qts"); + if(!qtime_qts){ + mp_msg(MSGT_DECVIDEO,MSGL_ERR,"unable to load QuickTime.qts\n" ); + return 0; + } + handler = LoadLibraryA("qtmlClient.dll"); if(!handler){ mp_msg(MSGT_DECVIDEO,MSGL_ERR,"unable to load qtmlClient.dll\n");
--- a/libmpcodecs/ve_qtvideo.c Mon Jan 17 17:27:39 2005 +0000 +++ b/libmpcodecs/ve_qtvideo.c Mon Jan 17 20:57:48 2005 +0000 @@ -34,6 +34,7 @@ HMODULE WINAPI LoadLibraryA(LPCSTR); FARPROC WINAPI GetProcAddress(HMODULE,LPCSTR); int WINAPI FreeLibrary(HMODULE); +static HINSTANCE qtime_qts; //handle to preloaded quicktime.qts static HMODULE handler; static OSErr (*FindCodec)(CodecType cType, @@ -296,6 +297,13 @@ #ifdef WIN32_LOADER Setup_LDT_Keeper(); #endif + //preload quicktime.qts to avoid the problems caused by the hardcoded path inside the dll + qtime_qts = LoadLibraryA("QuickTime.qts"); + if(!qtime_qts){ + mp_msg(MSGT_MENCODER,MSGL_ERR,"unable to load QuickTime.qts\n" ); + return 0; + } + handler = LoadLibraryA("qtmlClient.dll"); if(!handler){ mp_msg(MSGT_MENCODER,MSGL_ERR,"unable to load qtmlClient.dll\n");