mirror of https://github.com/mpv-player/mpv
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
This commit is contained in:
parent
21dd8f38b9
commit
97372dab4f
|
@ -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();
|
||||
|
|
|
@ -52,7 +52,7 @@ static Rect OutBufferRect; //the dimensions of our GWorld
|
|||
|
||||
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 @@ static int init(sh_video_t *sh){
|
|||
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");
|
||||
|
|
|
@ -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 @@ static int vf_open(vf_instance_t *vf, char* args){
|
|||
#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");
|
||||
|
|
Loading…
Reference in New Issue