summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-02-10 15:02:05 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-02-10 15:02:05 +0000
commit2e315372467e84d7ed0b1263e5abce22c5b2db02 (patch)
treef6c7f29bcaa9b0ffcef46d07ba57e7bbff4ad125 /libmpcodecs
parent0726c5d4df8c23b9846179728b9f51d56014c794 (diff)
downloadmpv-2e315372467e84d7ed0b1263e5abce22c5b2db02.tar.bz2
mpv-2e315372467e84d7ed0b1263e5abce22c5b2db02.tar.xz
possible 10l
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9387 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vd_realvid.c32
1 files changed, 17 insertions, 15 deletions
diff --git a/libmpcodecs/vd_realvid.c b/libmpcodecs/vd_realvid.c
index 979dfbd2f0..328cab001a 100644
--- a/libmpcodecs/vd_realvid.c
+++ b/libmpcodecs/vd_realvid.c
@@ -99,7 +99,7 @@ static int load_syms_linux(char *path) {
void *handle;
mp_msg(MSGT_DECVIDEO,MSGL_INFO, "opening shared obj '%s'\n", path);
- rv_handle = handle = dlopen (path, RTLD_LAZY);
+ handle = dlopen (path, RTLD_LAZY);
if (!handle) {
mp_msg(MSGT_DECVIDEO,MSGL_WARN,"Error: %s\n",dlerror());
return 0;
@@ -115,11 +115,14 @@ static int load_syms_linux(char *path) {
rvyuv_free &&
rvyuv_hive_message &&
rvyuv_init &&
- rvyuv_transform) return 1;
+ rvyuv_transform)
+ {
+ rv_handle = handle;
+ return 1;
+ }
mp_msg(MSGT_DECVIDEO,MSGL_WARN,"Error resolving symbols! (version incompatibility?)\n");
- dlclose(rv_handle);
- rv_handle = NULL;
+ dlclose(handle);
return 0;
}
@@ -133,10 +136,9 @@ int WINAPI FreeLibrary(void *handle);
static int load_syms_windows(char *path) {
void *handle;
-
mp_msg(MSGT_DECVIDEO,MSGL_INFO, "opening win32 dll '%s'\n", path);
Setup_LDT_Keeper();
- rv_handle = handle = LoadLibraryA(path);
+ handle = LoadLibraryA(path);
mp_msg(MSGT_DECVIDEO,MSGL_V,"win32 real codec handle=%p \n",handle);
if (!handle) {
mp_msg(MSGT_DECVIDEO,MSGL_WARN,"Error loading dll\n");
@@ -148,18 +150,19 @@ static int load_syms_windows(char *path) {
wrvyuv_hive_message = GetProcAddress(handle, "RV20toYUV420HiveMessage");
wrvyuv_init = GetProcAddress(handle, "RV20toYUV420Init");
wrvyuv_transform = GetProcAddress(handle, "RV20toYUV420Transform");
-
- dll_type = 1;
-
+
if(wrvyuv_custom_message &&
wrvyuv_free &&
wrvyuv_hive_message &&
wrvyuv_init &&
- wrvyuv_transform) return 1;
-
+ wrvyuv_transform)
+ {
+ dll_type = 1;
+ rv_handle = handle;
+ return 1;
+ }
mp_msg(MSGT_DECVIDEO,MSGL_WARN,"Error resolving symbols! (version incompatibility?)\n");
- FreeLibrary(rv_handle);
- rv_handle = NULL;
+ FreeLibrary(handle);
return 0; // error
}
#endif
@@ -199,8 +202,7 @@ static int init(sh_video_t *sh){
#endif
{
mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_MissingDLLcodec,sh->codec->dll);
- mp_msg(MSGT_DECVIDEO,MSGL_HINT,"You need to copy the contents from the RealPlayer codecs directory\n");
- mp_msg(MSGT_DECVIDEO,MSGL_HINT,"into " REALCODEC_PATH "/ !\n");
+ mp_msg(MSGT_DECVIDEO,MSGL_HINT,"Read the RealVideo section of the DOCS!\n");
return 0;
}
// only I420 supported