summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-10-16 15:59:04 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-10-16 15:59:04 +0000
commit3cfed8bdb52d9932c767a28728746b7244c97a4b (patch)
tree6f0a6a086f086ff803ecedf5f8c5b74f42b58fa0 /libmpcodecs
parentbcc4c6b1ae5d13adcb385fc2fc8ee629eaa26d0c (diff)
downloadmpv-3cfed8bdb52d9932c767a28728746b7244c97a4b.tar.bz2
mpv-3cfed8bdb52d9932c767a28728746b7244c97a4b.tar.xz
tell the codec wrapper the codec path (fixes realaudio Sipr)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7753 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/ad_realaud.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/libmpcodecs/ad_realaud.c b/libmpcodecs/ad_realaud.c
index 3fa812b16d..6036e4f760 100644
--- a/libmpcodecs/ad_realaud.c
+++ b/libmpcodecs/ad_realaud.c
@@ -41,7 +41,7 @@ static void* (*raGetFlavorProperty)(void*,unsigned long,unsigned long,in
static unsigned long (*raInitDecoder)(void*, void*);
static unsigned long (*raOpenCodec2)(void*);
static unsigned long (*raSetFlavor)(void*,unsigned long);
-//static void (*raSetDLLAccessPath)(unsigned long);
+static void (*raSetDLLAccessPath)(char*);
static void (*raSetPwd)(char*,char*);
typedef struct {
@@ -77,16 +77,26 @@ static int preinit(sh_audio_t *sh){
raOpenCodec2 = dlsym(handle, "RAOpenCodec2");
raInitDecoder = dlsym(handle, "RAInitDecoder");
raSetFlavor = dlsym(handle, "RASetFlavor");
-// raSetDLLAccessPath = dlsym(handle, "SetDLLAccessPath");
+ raSetDLLAccessPath = dlsym(handle, "SetDLLAccessPath");
raSetPwd = dlsym(handle, "RASetPwd"); // optional, used by SIPR
if(!raCloseCodec || !raDecode || !raFlush || !raFreeDecoder ||
!raGetFlavorProperty || !raOpenCodec2 || !raSetFlavor ||
/*!raSetDLLAccessPath ||*/ !raInitDecoder){
- mp_msg(MSGT_DECAUDIO,MSGL_WARN,"Cannot resolve symbols - incompatible dll\n");
+ mp_msg(MSGT_DECAUDIO,MSGL_WARN,"Cannot resolve symbols - incompatible dll: %s\n",path);
return 0;
}
+ if(raSetDLLAccessPath){
+ sprintf(path, "DT_Codecs=" REALCODEC_PATH);
+ if(path[strlen(path)-1]!='/'){
+ path[strlen(path)+1]=0;
+ path[strlen(path)]='/';
+ }
+ path[strlen(path)+1]=0;
+ raSetDLLAccessPath(path);
+ }
+
result=raOpenCodec2(&sh->context);
if(result){
mp_msg(MSGT_DECAUDIO,MSGL_WARN,"Decoder open failed, error code: 0x%X\n",result);