diff options
author | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-02-10 15:02:05 +0000 |
---|---|---|
committer | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-02-10 15:02:05 +0000 |
commit | 2e315372467e84d7ed0b1263e5abce22c5b2db02 (patch) | |
tree | f6c7f29bcaa9b0ffcef46d07ba57e7bbff4ad125 /libmpcodecs/vd_realvid.c | |
parent | 0726c5d4df8c23b9846179728b9f51d56014c794 (diff) | |
download | mpv-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/vd_realvid.c')
-rw-r--r-- | libmpcodecs/vd_realvid.c | 32 |
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 |