[Mplayer-cvslog] CVS: main/loader win32.c,1.78,1.79
Roberto Togni CVS
rtognimp at mplayerhq.hu
Wed Apr 9 23:34:09 CEST 2003
Update of /cvsroot/mplayer/main/loader
In directory mail:/var/tmp.root/cvs-serv21107a/loader
Modified Files:
win32.c
Log Message:
Fixes for vss h264
Index: win32.c
===================================================================
RCS file: /cvsroot/mplayer/main/loader/win32.c,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -r1.78 -r1.79
--- win32.c 9 Apr 2003 21:28:01 -0000 1.78
+++ win32.c 9 Apr 2003 21:34:05 -0000 1.79
@@ -5102,8 +5102,8 @@
}
#ifndef LOADLIB_TRY_NATIVE
- /* hack for truespeech */
- if (!strcmp(library, "tsd32.dll"))
+ /* hack for truespeech and vssh264*/
+ if (!strcmp(library, "tsd32.dll") || !strcmp(library,"vssh264dec.dll"))
#endif
/* ok, this is a hack, and a big memory leak. should be fixed. - alex */
{
@@ -5167,6 +5167,40 @@
return libraries[i].exps[j].func;
}
}
+
+#ifndef LOADLIB_TRY_NATIVE
+ /* hack for vss h264 */
+ if (!strcmp(library,"vssh264core.dll"))
+#endif
+ /* ok, this is a hack, and a big memory leak. should be fixed. - alex */
+ {
+ int hand;
+ WINE_MODREF *wm;
+ void *func;
+
+ hand = LoadLibraryA(library);
+ if (!hand)
+ goto no_dll_byname;
+ wm = MODULE32_LookupHMODULE(hand);
+ if (!wm)
+ {
+ FreeLibrary(hand);
+ goto no_dll_byname;
+ }
+ func = PE_FindExportedFunction(wm, name, 0);
+ if (!func)
+ {
+ printf("No such name in external dll\n");
+ FreeLibrary((int)hand);
+ goto no_dll_byname;
+ }
+
+ printf("External dll loaded (offset: 0x%x, func: %p)\n",
+ hand, func);
+ return func;
+ }
+
+no_dll_byname:
if(pos>150)return 0;// to many symbols
strcpy(export_names[pos], name);
return add_stub();
More information about the MPlayer-cvslog
mailing list