diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-04-26 16:57:25 +0300 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-04-26 16:57:25 +0300 |
commit | ff559b8e90c343eb465400d77fe8881eff09c6e3 (patch) | |
tree | f97a23e6945e91be5be86baf2cfc06e0d384e867 /loader | |
parent | d2e25a90c40c47b97becaa6eaefa16e61f7f0cdf (diff) | |
parent | b864ff1b8d73616e2e5bab1e00ef2bdb8fe50278 (diff) | |
download | mpv-ff559b8e90c343eb465400d77fe8881eff09c6e3.tar.bz2 mpv-ff559b8e90c343eb465400d77fe8881eff09c6e3.tar.xz |
Merge svn changes up to r30907
Diffstat (limited to 'loader')
-rw-r--r-- | loader/drv.c | 4 | ||||
-rw-r--r-- | loader/qt_comp.h | 2 | ||||
-rw-r--r-- | loader/qtx/qtxsdk/components.h | 8 | ||||
-rw-r--r-- | loader/win32.c | 69 |
4 files changed, 80 insertions, 3 deletions
diff --git a/loader/drv.c b/loader/drv.c index 9479e6944d..13945538d2 100644 --- a/loader/drv.c +++ b/loader/drv.c @@ -27,7 +27,7 @@ #endif #ifndef WIN32_LOADER -char* def_path=WIN32_PATH; +char* def_path = BINARY_CODECS_PATH; #else extern char* def_path; #endif @@ -71,7 +71,7 @@ void SetCodecPath(const char* path) if(needs_free)free(def_path); if(path==0) { - def_path=WIN32_PATH; + def_path = BINARY_CODECS_PATH; needs_free=0; return; } diff --git a/loader/qt_comp.h b/loader/qt_comp.h index 4c1d8d165c..9da5c35e33 100644 --- a/loader/qt_comp.h +++ b/loader/qt_comp.h @@ -25,6 +25,8 @@ DECL_COMPONENT(yuvu,"YUVU_CDComponentDispatch",0) DECL_COMPONENT(qdm2d,"QDM2Decompressor",0) DECL_COMPONENT(mace3d,"Mace3DecompDispatch",0) +DECL_COMPONENT(prores,"IcpDecompressorComponentDispatch",0) + //DECL_COMPONENT(,"",0) #endif /* MPLAYER_QT_COMP_H */ diff --git a/loader/qtx/qtxsdk/components.h b/loader/qtx/qtxsdk/components.h index 2e42a0412f..19a3219060 100644 --- a/loader/qtx/qtxsdk/components.h +++ b/loader/qtx/qtxsdk/components.h @@ -29,6 +29,14 @@ typedef int32_t SInt32; typedef void *GlobalsPtr; typedef void **Globals; +enum { + kInitializeQTMLNoSoundFlag = (1L << 0), + kInitializeQTMLUseGDIFlag = (1L << 1), + kInitializeQTMLDisableDirectSound = (1L << 2), + kInitializeQTMLUseExclusiveFullScreenModeFlag = (1L << 3), + kInitializeQTMLDisableDDClippers = (1L << 4) +}; + //==================== COMPONENTS =========================== struct __attribute__((__packed__)) ComponentParameters { diff --git a/loader/win32.c b/loader/win32.c index d540e6dfe2..9143702878 100644 --- a/loader/win32.c +++ b/loader/win32.c @@ -77,7 +77,7 @@ for DLL to know too much about its environment. #include "osdep/mmap_anon.h" #include "libavutil/avstring.h" -char* def_path = WIN32_PATH; +char* def_path = BINARY_CODECS_PATH; static void do_cpuid(unsigned int ax, unsigned int *regs) { @@ -792,6 +792,18 @@ static void* WINAPI expCreateEventA(void* pSecAttr, char bManualReset, return ret; } +static void* WINAPI expCreateEventW(void* pSecAttr, char bManualReset, + char bInitialState, const WCHAR* name) +{ + char ascii_name[256]; + char *aname = NULL; + if (name) { + WideCharToMultiByte(65001, 0x0, name, -1, ascii_name, 256, NULL, NULL); + aname = ascii_name; + } + return expCreateEventA(pSecAttr, bManualReset, bInitialState, aname); +} + static void* WINAPI expSetEvent(void* event) { mutex_list *ml = (mutex_list *)event; @@ -1798,6 +1810,7 @@ static long WINAPI expWideCharToMultiByte(long v1, long v2, short* s1, long siz1 if(s2)dbgprintf(" dest: %s\n", s2); return result; } + static long WINAPI expGetVersionExA(OSVERSIONINFOA* c) { dbgprintf("GetVersionExA(0x%x) => 1\n"); @@ -1817,6 +1830,33 @@ static long WINAPI expGetVersionExA(OSVERSIONINFOA* c) " Platform Id: VER_PLATFORM_WIN32_NT\n Version string: 'Service Pack 3'\n"); return 1; } + +static long WINAPI expGetVersionExW(OSVERSIONINFOW* c) +{ + char CSDVersion[128]; + dbgprintf("GetVersionExW(0x%x) => 1\n"); + c->dwOSVersionInfoSize=sizeof(*c); + c->dwMajorVersion=5; + c->dwMinorVersion=0; + c->dwBuildNumber=0x5000457; +#if 1 + // leave it here for testing win9x-only codecs + c->dwPlatformId=VER_PLATFORM_WIN32_WINDOWS; + strcpy(CSDVersion, " B"); +#else + c->dwPlatformId=VER_PLATFORM_WIN32_NT; // let's not make DLL assume that it can read CR* registers + strcpy(CSDVersion, "Service Pack 3"); +#endif + MultiByteToWideChar(65001, 0x0, CSDVersion, -1, c->szCSDVersion, 128); + dbgprintf(" Major version: %d\n Minor version: %d\n Build number: 0x%08x\n" + " Platform Id: %s\n Version string: '%s'\n", + c->dwMajorVersion, c->dwMinorVersion, c->dwBuildNumber, + (c->dwPlatformId==VER_PLATFORM_WIN32_WINDOWS ? "VER_PLATFORM_WIN32_WINDOWS" : + (c->dwPlatformId==VER_PLATFORM_WIN32_NT ? "VER_PLATFORM_WIN32_NT" : "Unknown")), + CSDVersion); + return 1; +} + static HANDLE WINAPI expCreateSemaphoreA(char* v1, long init_count, long max_count, char* name) { @@ -1891,6 +1931,18 @@ static HANDLE WINAPI expCreateSemaphoreA(char* v1, long init_count, return ret; } +static HANDLE WINAPI expCreateSemaphoreW(char* v1, long init_count, + long max_count, const WCHAR* name) +{ + char ascii_name[256]; + char *aname = NULL; + if (name) { + WideCharToMultiByte(65001, 0x0, name, -1, ascii_name, 256, NULL, NULL); + aname = ascii_name; + } + return expCreateSemaphoreA(v1, init_count, max_count, aname); +} + static long WINAPI expReleaseSemaphore(long hsem, long increment, long* prev_count) { // The state of a semaphore object is signaled when its count @@ -1977,6 +2029,17 @@ static HANDLE WINAPI expCreateMutexA(void *pSecAttr, return ret; } +static HANDLE WINAPI expCreateMutexW(void *pSecAttr, char bInitialOwner, const WCHAR *name) +{ + char ascii_name[256]; + char *aname = NULL; + if (name) { + WideCharToMultiByte(65001, 0x0, name, -1, ascii_name, 256, NULL, NULL); + aname = ascii_name; + } + return expCreateMutexA(pSecAttr, bInitialOwner, aname); +} + static int WINAPI expReleaseMutex(HANDLE hMutex) { mutex_list *ml = (mutex_list *)hMutex; @@ -5130,6 +5193,7 @@ struct exports exp_kernel32[]= FF(CreateThread, -1) FF(ResumeThread, -1) FF(CreateEventA, -1) + FF(CreateEventW, -1) FF(SetEvent, -1) FF(ResetEvent, -1) FF(WaitForSingleObject, -1) @@ -5169,7 +5233,9 @@ struct exports exp_kernel32[]= FF(MultiByteToWideChar, 427) FF(WideCharToMultiByte, -1) FF(GetVersionExA, -1) + FF(GetVersionExW, -1) FF(CreateSemaphoreA, -1) + FF(CreateSemaphoreW, -1) FF(QueryPerformanceCounter, -1) FF(QueryPerformanceFrequency, -1) FF(LocalHandle, -1) @@ -5181,6 +5247,7 @@ struct exports exp_kernel32[]= FF(LoadResource, -1) FF(ReleaseSemaphore, -1) FF(CreateMutexA, -1) + FF(CreateMutexW, -1) FF(ReleaseMutex, -1) FF(SignalObjectAndWait, -1) FF(FindResourceA, -1) |