changeset 10646:012f51c6eaa3

dll loading from codecs dir support for windows
author faust3
date Sun, 17 Aug 2003 19:18:29 +0000
parents 558d0bc8354d
children 820ce9b724a3
files mplayer.c
diffstat 1 files changed, 34 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mplayer.c	Sun Aug 17 18:10:42 2003 +0000
+++ b/mplayer.c	Sun Aug 17 19:18:29 2003 +0000
@@ -782,6 +782,40 @@
 #endif
 #endif
 
+#if defined(WIN32) && defined(USE_WIN32DLL)
+{  /*make our codec dirs available for LoadLibraryA()*/
+  char tmppath[MAX_PATH*2 + 1];
+  char win32path[MAX_PATH];
+  char realpath[MAX_PATH];
+  int       WINAPI SetEnvironmentVariableA(char*,char*);
+  int       WINAPI GetModuleFileNameA(void*,char*,int);
+#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*/
+
 #ifdef USE_TV
   tv_param_immediate = 1;
 #endif