diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-09-01 20:42:13 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-09-01 20:42:13 +0000 |
commit | 1e1ee8b7b0272e9d0b03966e166e6875c34d7e62 (patch) | |
tree | 4484fc7aae8de8555e71ba7c1708d7198c296881 /loader | |
parent | 9315260e76cabc94fc16bc44e44359c6adc4c1db (diff) | |
download | mpv-1e1ee8b7b0272e9d0b03966e166e6875c34d7e62.tar.bz2 mpv-1e1ee8b7b0272e9d0b03966e166e6875c34d7e62.tar.xz |
Support On2 VP7 via binary decoder by implementing USER32.RegisterClipboardFormatA,
SHLWAPI.PathFindExtensionA and SHLWAPI.PathFindFileNameA.
Tested with http://www.on2.com/vp7_samples/potter-40.vp7.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16339 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'loader')
-rw-r--r-- | loader/win32.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/loader/win32.c b/loader/win32.c index b73a3b9ebd..5495f3418f 100644 --- a/loader/win32.c +++ b/loader/win32.c @@ -4690,6 +4690,10 @@ static int WINAPI expDialogBoxParamA(void *inst, const char *name, return 0x42424242; } +static void WINAPI expRegisterClipboardFormatA(const char *name) { + dbgprintf("RegisterClipboardFormatA(0x%x = %s)\n", name, name); +} + /* needed by imagepower mjpeg2k */ static void *exprealloc(void *ptr, size_t size) { @@ -4706,6 +4710,32 @@ static WIN_BOOL WINAPI expGetOpenFileNameA(/*LPOPENFILENAMEA*/ void* lpfn) return 1; } +static char * WINAPI expPathFindExtensionA(const char *path) { + char *ext; + if (!path) + ext = NULL; + else { + ext = strrchr(path, '.'); + if (!ext) + ext = &path[strlen(path)]; + } + dbgprintf("PathFindExtensionA(0x%x = %s) => 0x%x, %s\n", path, path, ext, ext); + return ext; +} + +static char * WINAPI expPathFindFileNameA(const char *path) { + char *name; + if (!path || strlen(path) < 2) + name = path; + else { + name = strrchr(path - 1, '\\'); + if (!name) + name = path; + } + dbgprintf("PathFindFileNameA(0x%x = %s) => 0x%x, %s\n", path, path, name, name); + return name; +} + static double expfloor(double x) { dbgprintf("floor(%lf)\n", x); @@ -5024,6 +5054,7 @@ struct exports exp_user32[]={ #endif FF(MessageBeep, -1) FF(DialogBoxParamA, -1) + FF(RegisterClipboardFormatA, -1) }; struct exports exp_advapi32[]={ FF(RegCloseKey, -1) @@ -5137,6 +5168,11 @@ struct exports exp_comdlg32[]={ FF(GetOpenFileNameA, -1) }; +struct exports exp_shlwapi[]={ + FF(PathFindExtensionA, -1) + FF(PathFindFileNameA, -1) +}; + #define LL(X) \ {#X".dll", sizeof(exp_##X)/sizeof(struct exports), exp_##X}, @@ -5161,6 +5197,7 @@ struct libs libraries[]={ LL(ddraw) #endif LL(comdlg32) + LL(shlwapi) }; static void ext_stubs(void) |