diff options
author | James Stembridge <jstembridge@users.sourceforge.net> | 2004-08-08 16:34:32 +0000 |
---|---|---|
committer | James Stembridge <jstembridge@users.sourceforge.net> | 2004-08-08 16:34:32 +0000 |
commit | 7b6a71781f181c073eb26b0c9d10d66852260fc0 (patch) | |
tree | ae92d2c8922382e8e78fff1b2ba8ce0dbc484eff | |
parent | 3d1a29736bd6f8197b4e10d54603797f271d3bbc (diff) | |
download | xine-lib-7b6a71781f181c073eb26b0c9d10d66852260fc0.tar.gz xine-lib-7b6a71781f181c073eb26b0c9d10d66852260fc0.tar.bz2 |
Support newer DLLs
CVS patchset: 6879
CVS date: 2004/08/08 16:34:32
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/libw32dll/wine/module.c | 14 |
2 files changed, 16 insertions, 1 deletions
@@ -20,7 +20,8 @@ xine-lib (1-rc6) * another win32 dll crash fix (after playing several files) * configure option for building xine with external ffmpeg library * added api for finer playback speed control (requires frontend support) - + * support QuickTime 6.3 DLLs + xine-lib (1-rc5) * add support for ejecting removable media on Solaris * fix stuttering playback of some realmedia streams diff --git a/src/libw32dll/wine/module.c b/src/libw32dll/wine/module.c index 6e97548b6..052aece0f 100644 --- a/src/libw32dll/wine/module.c +++ b/src/libw32dll/wine/module.c @@ -448,6 +448,11 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags) for (i=0;i<6;i++) ((char*)0x10007688)[i]=0x90; for (i=0;i<6;i++) ((char*)0x100082c3)[i]=0x90; for (i=0;i<6;i++) ((char*)0x100084aa)[i]=0x90; + } else if (PE_FindExportedFunction(wm, "DriverProc", TRUE)==(void*)0x10003e70) { + // looks like VP 6.0.7.3 + for (i=0;i<6;i++) ((char*)0x10007559)[i]=0x90; + for (i=0;i<6;i++) ((char*)0x100081c3)[i]=0x90; + for (i=0;i<6;i++) ((char*)0x1000839e)[i]=0x90; } else { printf("wine/module: Unsupported VP6 version\n"); return 0; @@ -499,6 +504,15 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags) for (i=0;i<5;i++) ((char *)0x66a73122)[i]=0x90; // jmp_to_call_loadbitmap for (i=0;i<9;i++) ((char *)0x66a73131)[i]=0x90; // call__calls_OLE_shit for (i=0;i<96;i++) ((char *)0x66aac852)[i]=0x90; // disable threads + } else if (dispatch_addr == (void *)0x6693c3e0) + { + printf ("wine/module: QuickTime6.3 DLLs found\n"); + ptr = (void **)0x66bca01c; // dispatcher_ptr + for (i=0;i<5;i++) ((char *)0x66a68f6c)[i]=0x90; // make_new_region + for (i=0;i<28;i++) ((char *)0x66a68f97)[i]=0x90; // call__call_CreateCompatibleDC + for (i=0;i<5;i++) ((char *)0x66a68fc2)[i]=0x90; // jmp_to_call_loadbitmap + for (i=0;i<9;i++) ((char *)0x66a68fd1)[i]=0x90; // call__calls_OLE_shit + for (i=0;i<96;i++) ((char *)0x66ab4722)[i]=0x90; // disable threads } else { printf ("wine/module: Unsupported QuickTime version (%p)\n", |