summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authordiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-03-23 17:52:46 +0000
committerdiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-03-23 17:52:46 +0000
commitcb26eaf0bbcf028e3cf23c912e061268dcbb8127 (patch)
treea933710ffdf383b35fe02ccfdd69739f65aa6d80 /libmpcodecs
parent364fb6d26f0d2359d1439758a42838adb4f8db90 (diff)
downloadmpv-cb26eaf0bbcf028e3cf23c912e061268dcbb8127.tar.bz2
mpv-cb26eaf0bbcf028e3cf23c912e061268dcbb8127.tar.xz
Real binary loader code should respect the binary codec path.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30948 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/ad_realaud.c23
-rw-r--r--libmpcodecs/vd_realvid.c5
2 files changed, 16 insertions, 12 deletions
diff --git a/libmpcodecs/ad_realaud.c b/libmpcodecs/ad_realaud.c
index 4f179e69c2..87ff3689b5 100644
--- a/libmpcodecs/ad_realaud.c
+++ b/libmpcodecs/ad_realaud.c
@@ -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);
diff --git a/libmpcodecs/vd_realvid.c b/libmpcodecs/vd_realvid.c
index 110498ab90..7ddaf811e8 100644
--- a/libmpcodecs/vd_realvid.c
+++ b/libmpcodecs/vd_realvid.c
@@ -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 */