aboutsummaryrefslogtreecommitdiffhomepage
path: root/libmpcodecs/ad_qtaudio.c
diff options
context:
space:
mode:
authorGravatar faust3 <faust3@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-01-17 20:57:48 +0000
committerGravatar faust3 <faust3@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-01-17 20:57:48 +0000
commit97372dab4f0c500cfef3522b5359a313dfa627ca (patch)
tree5109ac48adad4d1487f654abdeebc325dbc78d52 /libmpcodecs/ad_qtaudio.c
parent21dd8f38b9507a44ac5b495022d9a03e9a194f12 (diff)
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.c12
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();