diff options
author | faust3 <faust3@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-01-17 20:57:48 +0000 |
---|---|---|
committer | faust3 <faust3@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-01-17 20:57:48 +0000 |
commit | 97372dab4f0c500cfef3522b5359a313dfa627ca (patch) | |
tree | 5109ac48adad4d1487f654abdeebc325dbc78d52 /libmpcodecs/ad_qtaudio.c | |
parent | 21dd8f38b9507a44ac5b495022d9a03e9a194f12 (diff) | |
download | mpv-97372dab4f0c500cfef3522b5359a313dfa627ca.tar.bz2 mpv-97372dab4f0c500cfef3522b5359a313dfa627ca.tar.xz |
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
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14529 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/ad_qtaudio.c')
-rw-r--r-- | libmpcodecs/ad_qtaudio.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libmpcodecs/ad_qtaudio.c b/libmpcodecs/ad_qtaudio.c index 75d60acfe4..c865b68568 100644 --- a/libmpcodecs/ad_qtaudio.c +++ b/libmpcodecs/ad_qtaudio.c @@ -68,6 +68,7 @@ typedef int (__cdecl* LPFUNC8)(SoundConverter sc, 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 @@ static int loader_init() #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 @@ static void uninit(sh_audio_t *sh){ // 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(); |