mirror of https://github.com/mpv-player/mpv
allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16782 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
c6c363b347
commit
dbc1f67ca2
38
get_path.c
38
get_path.c
|
@ -104,3 +104,41 @@ char *get_path(char *filename){
|
||||||
mp_msg(MSGT_GLOBAL,MSGL_V,"get_path('%s') -> '%s'\n",filename,buff);
|
mp_msg(MSGT_GLOBAL,MSGL_V,"get_path('%s') -> '%s'\n",filename,buff);
|
||||||
return buff;
|
return buff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(WIN32) && defined(USE_WIN32DLL)
|
||||||
|
void set_path_env()
|
||||||
|
{
|
||||||
|
/*make our codec dirs available for LoadLibraryA()*/
|
||||||
|
char tmppath[MAX_PATH*2 + 1];
|
||||||
|
char win32path[MAX_PATH];
|
||||||
|
char realpath[MAX_PATH];
|
||||||
|
#ifdef __CYGWIN__
|
||||||
|
cygwin_conv_to_full_win32_path(WIN32_PATH,win32path);
|
||||||
|
strcpy(tmppath,win32path);
|
||||||
|
#ifdef USE_REALCODECS
|
||||||
|
cygwin_conv_to_full_win32_path(REALCODEC_PATH,realpath);
|
||||||
|
sprintf(tmppath,"%s;%s",win32path,realpath);
|
||||||
|
#endif /*USE_REALCODECS*/
|
||||||
|
#else /*__CYGWIN__*/
|
||||||
|
/* Expand to absolute path unless it's already absolute */
|
||||||
|
if(!strstr(WIN32_PATH,":") && WIN32_PATH[0] != '\\'){
|
||||||
|
GetModuleFileNameA(NULL, win32path, MAX_PATH);
|
||||||
|
strcpy(strrchr(win32path, '\\') + 1, WIN32_PATH);
|
||||||
|
}
|
||||||
|
else strcpy(win32path,WIN32_PATH);
|
||||||
|
strcpy(tmppath,win32path);
|
||||||
|
#ifdef USE_REALCODECS
|
||||||
|
/* Expand to absolute path unless it's already absolute */
|
||||||
|
if(!strstr(REALCODEC_PATH,":") && REALCODEC_PATH[0] != '\\'){
|
||||||
|
GetModuleFileNameA(NULL, realpath, MAX_PATH);
|
||||||
|
strcpy(strrchr(realpath, '\\') + 1, REALCODEC_PATH);
|
||||||
|
}
|
||||||
|
else strcpy(realpath,REALCODEC_PATH);
|
||||||
|
sprintf(tmppath,"%s;%s",win32path,realpath);
|
||||||
|
#endif /*USE_REALCODECS*/
|
||||||
|
#endif /*__CYGWIN__*/
|
||||||
|
mp_msg(MSGT_WIN32, MSGL_V,"Setting PATH to %s\n",tmppath);
|
||||||
|
if (!SetEnvironmentVariableA("PATH", tmppath))
|
||||||
|
mp_msg(MSGT_WIN32, MSGL_WARN, "Cannot set PATH!");
|
||||||
|
}
|
||||||
|
#endif /*WIN32 && USE_WIN32DLL*/
|
||||||
|
|
|
@ -437,6 +437,10 @@ audio_encoder_t *aencoder = NULL;
|
||||||
mp_msg(MSGT_CPLAYER,MSGL_INFO,"\n\n");
|
mp_msg(MSGT_CPLAYER,MSGL_INFO,"\n\n");
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(WIN32) && defined(USE_WIN32DLL)
|
||||||
|
set_path_env();
|
||||||
|
#endif /*WIN32 && USE_WIN32DLL*/
|
||||||
|
|
||||||
InitTimer();
|
InitTimer();
|
||||||
|
|
||||||
|
|
30
mplayer.c
30
mplayer.c
|
@ -1119,35 +1119,7 @@ int gui_no_filename=0;
|
||||||
#endif /* defined(ARCH_X86) || defined(ARCH_X86_64) */
|
#endif /* defined(ARCH_X86) || defined(ARCH_X86_64) */
|
||||||
|
|
||||||
#if defined(WIN32) && defined(USE_WIN32DLL)
|
#if defined(WIN32) && defined(USE_WIN32DLL)
|
||||||
{ /*make our codec dirs available for LoadLibraryA()*/
|
set_path_env();
|
||||||
char tmppath[MAX_PATH*2 + 1];
|
|
||||||
char win32path[MAX_PATH];
|
|
||||||
char realpath[MAX_PATH];
|
|
||||||
#ifdef __CYGWIN__
|
|
||||||
cygwin_conv_to_full_win32_path(WIN32_PATH,win32path);
|
|
||||||
strcpy(tmppath,win32path);
|
|
||||||
#ifdef USE_REALCODECS
|
|
||||||
cygwin_conv_to_full_win32_path(REALCODEC_PATH,realpath);
|
|
||||||
sprintf(tmppath,"%s;%s",win32path,realpath);
|
|
||||||
#endif /*USE_REALCODECS*/
|
|
||||||
#else
|
|
||||||
if(!strstr(WIN32_PATH,":")){
|
|
||||||
GetModuleFileNameA(NULL, win32path, MAX_PATH);
|
|
||||||
strcpy(win32path + strlen(win32path) - strlen("mplayer.exe"), WIN32_PATH);
|
|
||||||
}
|
|
||||||
else strcpy(win32path,WIN32_PATH);
|
|
||||||
strcpy(tmppath,win32path);
|
|
||||||
#ifdef USE_REALCODECS
|
|
||||||
if(!strstr(REALCODEC_PATH,":")){
|
|
||||||
GetModuleFileNameA(NULL, realpath, MAX_PATH);
|
|
||||||
strcpy(realpath + strlen(realpath) - strlen("mplayer.exe"), REALCODEC_PATH);
|
|
||||||
}
|
|
||||||
else strcpy(realpath,REALCODEC_PATH);
|
|
||||||
sprintf(tmppath,"%s;%s",win32path,realpath);
|
|
||||||
#endif /*USE_REALCODECS*/
|
|
||||||
#endif /*__CYGWIN__*/
|
|
||||||
SetEnvironmentVariableA("PATH", tmppath);
|
|
||||||
}
|
|
||||||
#endif /*WIN32 && USE_WIN32DLL*/
|
#endif /*WIN32 && USE_WIN32DLL*/
|
||||||
|
|
||||||
#ifdef USE_TV
|
#ifdef USE_TV
|
||||||
|
|
Loading…
Reference in New Issue