[MPlayer-cvslog] r30948 - in trunk/libmpcodecs: ad_realaud.c vd_realvid.c

diego subversion at mplayerhq.hu
Tue Mar 23 18:52:46 CET 2010


Author: diego
Date: Tue Mar 23 18:52:46 2010
New Revision: 30948

Log:
Real binary loader code should respect the binary codec path.

Modified:
   trunk/libmpcodecs/ad_realaud.c
   trunk/libmpcodecs/vd_realvid.c

Modified: trunk/libmpcodecs/ad_realaud.c
==============================================================================
--- trunk/libmpcodecs/ad_realaud.c	Mon Mar 22 20:39:43 2010	(r30947)
+++ trunk/libmpcodecs/ad_realaud.c	Tue Mar 23 18:52:46 2010	(r30948)
@@ -27,6 +27,7 @@
 #include <dlfcn.h>
 #endif
 #include "help_mp.h"
+#include "path.h"
 
 #include "ad_internal.h"
 #include "loader/wine/windef.h"
@@ -251,9 +252,9 @@ static int preinit(sh_audio_t *sh){
   unsigned int result;
   char *path;
 
-  path = malloc(strlen(BINARY_CODECS_PATH) + strlen(sh->codec->dll) + 2);
+  path = malloc(strlen(def_path) + strlen(sh->codec->dll) + 2);
   if (!path) return 0;
-  sprintf(path, BINARY_CODECS_PATH "/%s", sh->codec->dll);
+  sprintf(path, "%s/%s", def_path, sh->codec->dll);
 
     /* first try to load linux dlls, if failed and we're supporting win32 dlls,
        then try to load the windows ones */
@@ -277,8 +278,8 @@ static int preinit(sh_audio_t *sh){
   if(raSetDLLAccessPath){
 #endif
       // used by 'SIPR'
-      path = realloc(path, strlen(BINARY_CODECS_PATH) + 13);
-      sprintf(path, "DT_Codecs=" BINARY_CODECS_PATH);
+      path = realloc(path, strlen(def_path) + 13);
+      sprintf(path, "DT_Codecs=%s", def_path);
       if(path[strlen(path)-1]!='/'){
         path[strlen(path)+1]=0;
         path[strlen(path)]='/';
@@ -299,15 +300,17 @@ static int preinit(sh_audio_t *sh){
 
 #ifdef CONFIG_WIN32DLL
     if (dll_type == 1){
-      if(wraOpenCodec2)
-	result = wraOpenCodec2(&sh->context, BINARY_CODECS_PATH "\\");
-      else
+      if (wraOpenCodec2) {
+        sprintf(path, "%s\\", def_path);
+        result = wraOpenCodec2(&sh->context, path);
+      } else
 	result=wraOpenCodec(&sh->context);
     } else
 #endif
-    if(raOpenCodec2)
-      result = raOpenCodec2(&sh->context, BINARY_CODECS_PATH "/");
-    else
+    if (raOpenCodec2) {
+      sprintf(path, "%s/", def_path);
+      result = raOpenCodec2(&sh->context, path);
+    } else
       result=raOpenCodec(&sh->context);
     if(result){
       mp_msg(MSGT_DECAUDIO,MSGL_WARN,"Decoder open failed, error code: 0x%X\n",result);

Modified: trunk/libmpcodecs/vd_realvid.c
==============================================================================
--- trunk/libmpcodecs/vd_realvid.c	Mon Mar 22 20:39:43 2010	(r30947)
+++ trunk/libmpcodecs/vd_realvid.c	Tue Mar 23 18:52:46 2010	(r30948)
@@ -28,6 +28,7 @@
 #include "mp_msg.h"
 #include "help_mp.h"
 #include "mpbswap.h"
+#include "path.h"
 
 #include "vd_internal.h"
 #include "loader/wine/windef.h"
@@ -273,9 +274,9 @@ static int init(sh_video_t *sh){
 
 	mp_msg(MSGT_DECVIDEO,MSGL_V,"realvideo codec id: 0x%08X  sub-id: 0x%08X\n",be2me_32(((unsigned int*)extrahdr)[1]),be2me_32(((unsigned int*)extrahdr)[0]));
 
-	path = malloc(strlen(BINARY_CODECS_PATH) + strlen(sh->codec->dll) + 2);
+	path = malloc(strlen(def_path) + strlen(sh->codec->dll) + 2);
 	if (!path) return 0;
-	sprintf(path, BINARY_CODECS_PATH "/%s", sh->codec->dll);
+	sprintf(path, "%s/%s", def_path, sh->codec->dll);
 
 	/* first try to load linux dlls, if failed and we're supporting win32 dlls,
 	   then try to load the windows ones */


More information about the MPlayer-cvslog mailing list