summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-06-24 08:13:08 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-06-24 08:13:08 +0000
commitb4423c2714b52397df93e1fe330462428517d220 (patch)
treef909c2fdc5ec3ebe3b5a1673ce5949a17bf38d1c /libmpcodecs
parentecff630554720dcc7f4c150baa47112bc0e5f3a3 (diff)
downloadmpv-b4423c2714b52397df93e1fe330462428517d220.tar.bz2
mpv-b4423c2714b52397df93e1fe330462428517d220.tar.xz
first try to load linux dlls, if failed and we're supporting win32 dlls, then try to load the windows ones
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6544 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vd_real.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/libmpcodecs/vd_real.c b/libmpcodecs/vd_real.c
index 036fb5a3fd..5c692d1041 100644
--- a/libmpcodecs/vd_real.c
+++ b/libmpcodecs/vd_real.c
@@ -1,5 +1,3 @@
-//#define USE_WIN32_REAL_CODECS
-
#include <stdio.h>
#include <stdlib.h>
@@ -67,10 +65,8 @@ static int control(sh_video_t *sh,int cmd,void* arg,...){
return CONTROL_UNKNOWN;
}
-#ifndef USE_WIN32_REAL_CODECS
-
/* exits program when failure */
-int load_syms(char *path) {
+int load_syms_linux(char *path) {
void *handle;
char *error;
@@ -98,9 +94,8 @@ int load_syms(char *path) {
return 0;
}
-#else
-
-int load_syms(char *path) {
+#ifdef USE_WIN32DLL
+int load_syms_windows(char *path) {
void *handle;
Setup_LDT_Keeper();
rv_handle = handle = LoadLibraryA(path);
@@ -119,7 +114,6 @@ int load_syms(char *path) {
rvyuv_transform) return 1;
return 0; // error
}
-
#endif
/* we need exact positions */
@@ -148,7 +142,14 @@ static int init(sh_video_t *sh){
mp_msg(MSGT_DECVIDEO,MSGL_V,"realvideo codec id: 0x%08X sub-id: 0x%08X\n",extrahdr[1],extrahdr[0]);
sprintf(path, REALCODEC_PATH "/%s", sh->codec->dll);
- if(!load_syms(path)){
+
+ /* first try to load linux dlls, if failed and we're supporting win32 dlls,
+ then try to load the windows ones */
+ if(!load_syms_linux(path))
+#ifdef USE_WIN32DLLS
+ if (!load_syms_windows(path))
+#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");