From d5f3f8caabed594cf593765ee5b73ebd1d8bfa9b Mon Sep 17 00:00:00 2001 From: sesse Date: Wed, 17 Mar 2010 23:33:26 +0000 Subject: Announce SMP support for Win32. Don't hardcode dwNumberOfProcessors=1 for Win32 anymore; the mutex/event code is still far from perfect, but now good enough that I can't find any codecs that breaks with this (tested on a quad with various codecs). This tells codecs they can use more than one core if they want to (some already did, by launching multiple threads even when told there was only a single core). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30926 b3059339-0415-0410-9bf9-f77b7e298cf2 --- loader/win32.c | 7 ------- 1 file changed, 7 deletions(-) (limited to 'loader') diff --git a/loader/win32.c b/loader/win32.c index d0cbddca66..826fa60d4e 100644 --- a/loader/win32.c +++ b/loader/win32.c @@ -1182,13 +1182,6 @@ static void WINAPI expGetSystemInfo(SYSTEM_INFO* si) } } fclose (f); - /* - * ad hoc fix for smp machines. - * some problems on WaitForSingleObject,CreateEvent,SetEvent - * CreateThread ...etc.. - * - */ - cachedsi.dwNumberOfProcessors=1; } #endif /* __linux__ */ cache = 1; -- cgit v1.2.3 From c7dbfb6467e3fb81cd7181320a30da5d61cc2906 Mon Sep 17 00:00:00 2001 From: sesse Date: Wed, 17 Mar 2010 23:38:26 +0000 Subject: Announce Windows XP SP2 instead of Windows 95 OSR2. It's time we move to 2010: Announce Windows XP SP2 to codecs instead of Win95 OSR2. Note: We still don't support the *Ex fields in the version info struct properly (we shouldn't really overwrite the structure size, but rather check it to see if it's safe to fill the extra fields). No codec I've found seems to care. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30927 b3059339-0415-0410-9bf9-f77b7e298cf2 --- loader/win32.c | 46 +++++++++++++++------------------------------- 1 file changed, 15 insertions(+), 31 deletions(-) (limited to 'loader') diff --git a/loader/win32.c b/loader/win32.c index 826fa60d4e..b349ee91af 100644 --- a/loader/win32.c +++ b/loader/win32.c @@ -1807,47 +1807,31 @@ static long WINAPI expWideCharToMultiByte(long v1, long v2, short* s1, long siz1 static long WINAPI expGetVersionExA(OSVERSIONINFOA* c) { - dbgprintf("GetVersionExA(0x%x) => 1\n"); + dbgprintf("GetVersionExA(0x%x) => 1\n", c); c->dwOSVersionInfoSize=sizeof(*c); - c->dwMajorVersion=4; - c->dwMinorVersion=0; - c->dwBuildNumber=0x4000457; -#if 1 - // leave it here for testing win9x-only codecs - c->dwPlatformId=VER_PLATFORM_WIN32_WINDOWS; - strcpy(c->szCSDVersion, " B"); -#else - c->dwPlatformId=VER_PLATFORM_WIN32_NT; // let's not make DLL assume that it can read CR* registers - strcpy(c->szCSDVersion, "Service Pack 3"); -#endif - dbgprintf(" Major version: 4\n Minor version: 0\n Build number: 0x4000457\n" - " Platform Id: VER_PLATFORM_WIN32_NT\n Version string: 'Service Pack 3'\n"); + c->dwMajorVersion=5; + c->dwMinorVersion=1; + c->dwBuildNumber=0x5010a28; + c->dwPlatformId=VER_PLATFORM_WIN32_NT; + strcpy(c->szCSDVersion, "Service Pack 2"); + dbgprintf(" Major version: 5\n Minor version: 1\n Build number: 0x5010a28\n" + " Platform Id: VER_PLATFORM_WIN32_NT\n Version string: 'Service Pack 2'\n"); return 1; } static long WINAPI expGetVersionExW(OSVERSIONINFOW* c) { char CSDVersion[128]; - dbgprintf("GetVersionExW(0x%x) => 1\n"); + dbgprintf("GetVersionExW(0x%x) => 1\n", c); 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 + c->dwMinorVersion=1; + c->dwBuildNumber=0x5010a28; + c->dwPlatformId=VER_PLATFORM_WIN32_NT; + strcpy(CSDVersion, "Service Pack 2"); 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); + dbgprintf(" Major version: 5\n Minor version: 1\n Build number: 0x5010a28\n" + " Platform Id: VER_PLATFORM_WIN32_NT\n Version string: 'Service Pack 2'\n"); return 1; } -- cgit v1.2.3 From 67b20ea6112d99295134f2e1430e1ab9f8c88529 Mon Sep 17 00:00:00 2001 From: sesse Date: Wed, 17 Mar 2010 23:42:11 +0000 Subject: Fix thread safety issue in mreq_private: last_alloc was accessed from multiple threads without being under a mutex. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30928 b3059339-0415-0410-9bf9-f77b7e298cf2 --- loader/win32.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'loader') diff --git a/loader/win32.c b/loader/win32.c index b349ee91af..b687135049 100644 --- a/loader/win32.c +++ b/loader/win32.c @@ -146,7 +146,7 @@ static void longcount_stub(long long*); static unsigned int (*localcount)()=localcount_stub; static void (*longcount)(long long*)=longcount_stub; -static pthread_mutex_t memmut; +static pthread_mutex_t memmut = PTHREAD_MUTEX_INITIALIZER; static unsigned int localcount_stub(void) { @@ -366,14 +366,9 @@ void* mreq_private(int size, int to_zero, int type) if (to_zero) memset(header, 0, nsize); #ifdef GARBAGE - if (!last_alloc) - { - pthread_mutex_init(&memmut, NULL); - pthread_mutex_lock(&memmut); - } - else + pthread_mutex_lock(&memmut); + if (last_alloc) { - pthread_mutex_lock(&memmut); last_alloc->next = header; /* set next */ } -- cgit v1.2.3 From a743c0a73824f1f3bce5b59ef6d57e871d3f5022 Mon Sep 17 00:00:00 2001 From: reimar Date: Thu, 18 Mar 2010 20:44:01 +0000 Subject: Split codec path related code into a separate file to fix Windows build. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30930 b3059339-0415-0410-9bf9-f77b7e298cf2 --- loader/codecpath.c | 26 ++++++++++++++++++++++++++ loader/codecpath.h | 12 ++++++++++++ loader/drv.c | 22 +--------------------- loader/drv.h | 1 - loader/elfdll.c | 2 +- loader/module.c | 2 +- loader/win32.c | 3 +-- 7 files changed, 42 insertions(+), 26 deletions(-) create mode 100644 loader/codecpath.c create mode 100644 loader/codecpath.h (limited to 'loader') diff --git a/loader/codecpath.c b/loader/codecpath.c new file mode 100644 index 0000000000..0996f592f1 --- /dev/null +++ b/loader/codecpath.c @@ -0,0 +1,26 @@ +/* + * Modified for use with MPlayer, detailed changelog at + * http://svn.mplayerhq.hu/mplayer/trunk/ + */ + +#include +#include +#include "config.h" +#include "codecpath.h" + +char* def_path = BINARY_CODECS_PATH; + +static int needs_free=0; +void SetCodecPath(const char* path) +{ + if(needs_free)free(def_path); + if(path==0) + { + def_path = BINARY_CODECS_PATH; + needs_free=0; + return; + } + def_path = malloc(strlen(path)+1); + strcpy(def_path, path); + needs_free=1; +} diff --git a/loader/codecpath.h b/loader/codecpath.h new file mode 100644 index 0000000000..0532e9a3a1 --- /dev/null +++ b/loader/codecpath.h @@ -0,0 +1,12 @@ +/* + * Modified for use with MPlayer, detailed changelog at + * http://svn.mplayerhq.hu/mplayer/trunk/ + */ + +#ifndef MPLAYER_CODECPATH_H +#define MPLAYER_CODECPATH_H + +extern char *def_path; +void SetCodecPath(const char* path); + +#endif /* MPLAYER_CODECPATH_H */ diff --git a/loader/drv.c b/loader/drv.c index 13945538d2..bfc57a4d1c 100644 --- a/loader/drv.c +++ b/loader/drv.c @@ -25,12 +25,7 @@ #ifndef __MINGW32__ #include "ext.h" #endif - -#ifndef WIN32_LOADER -char* def_path = BINARY_CODECS_PATH; -#else -extern char* def_path; -#endif +#include "codecpath.h" #if 1 @@ -65,21 +60,6 @@ extern char* def_path; "pop %%ebx\n\t"::) #endif -static int needs_free=0; -void SetCodecPath(const char* path) -{ - if(needs_free)free(def_path); - if(path==0) - { - def_path = BINARY_CODECS_PATH; - needs_free=0; - return; - } - def_path = malloc(strlen(path)+1); - strcpy(def_path, path); - needs_free=1; -} - static DWORD dwDrvID = 0; LRESULT WINAPI SendDriverMessage(HDRVR hDriver, UINT message, diff --git a/loader/drv.h b/loader/drv.h index 9ae1f8fbec..6f20b8ce54 100644 --- a/loader/drv.h +++ b/loader/drv.h @@ -9,7 +9,6 @@ #include "wine/windef.h" #include "wine/driver.h" -void SetCodecPath(const char* path); void CodecAlloc(void); void CodecRelease(void); diff --git a/loader/elfdll.c b/loader/elfdll.c index e4a0190f89..fe88227240 100644 --- a/loader/elfdll.c +++ b/loader/elfdll.c @@ -18,6 +18,7 @@ #include "wine/debugtools.h" #include "wine/winerror.h" #include "debug.h" +#include "codecpath.h" //DEFAULT_DEBUG_CHANNEL(elfdll) @@ -38,7 +39,6 @@ void dump_exports(HMODULE hModule); /*---------------- END HACKS ---------------*/ //char *extra_ld_library_path = "/usr/lib/win32"; -extern char* def_path; struct elfdll_image { diff --git a/loader/module.c b/loader/module.c index 79c01270d3..98b31125af 100644 --- a/loader/module.c +++ b/loader/module.c @@ -46,6 +46,7 @@ #endif #include "win32.h" #include "drv.h" +#include "codecpath.h" #ifdef EMU_QTX_API #include "wrapper.h" @@ -366,7 +367,6 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags) { WINE_MODREF *wm = 0; char* listpath[] = { "", "", "/usr/lib/win32", "/usr/local/lib/win32", 0 }; - extern char* def_path; char path[512]; char checked[2000]; int i = -1; diff --git a/loader/win32.c b/loader/win32.c index b687135049..9ca0a4a3ab 100644 --- a/loader/win32.c +++ b/loader/win32.c @@ -49,6 +49,7 @@ for DLL to know too much about its environment. #include "loader.h" #include "com.h" #include "ext.h" +#include "codecpath.h" #include #include @@ -77,8 +78,6 @@ for DLL to know too much about its environment. #include "osdep/mmap_anon.h" #include "libavutil/avstring.h" -char* def_path = BINARY_CODECS_PATH; - static void do_cpuid(unsigned int ax, unsigned int *regs) { __asm__ volatile -- cgit v1.2.3 From a06a3d476d268f9e17769916ebabf684af95e5e4 Mon Sep 17 00:00:00 2001 From: diego Date: Sat, 20 Mar 2010 23:27:07 +0000 Subject: Move SetCodecPath() from loader to get_path.c and make it unconditional. This fixes compilation with the Win32 loader disabled but other binary codec loaders enabled. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30942 b3059339-0415-0410-9bf9-f77b7e298cf2 --- loader/codecpath.c | 26 -------------------------- loader/codecpath.h | 12 ------------ loader/drv.c | 2 +- loader/elfdll.c | 2 +- loader/module.c | 2 +- loader/win32.c | 2 +- 6 files changed, 4 insertions(+), 42 deletions(-) delete mode 100644 loader/codecpath.c delete mode 100644 loader/codecpath.h (limited to 'loader') diff --git a/loader/codecpath.c b/loader/codecpath.c deleted file mode 100644 index 0996f592f1..0000000000 --- a/loader/codecpath.c +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Modified for use with MPlayer, detailed changelog at - * http://svn.mplayerhq.hu/mplayer/trunk/ - */ - -#include -#include -#include "config.h" -#include "codecpath.h" - -char* def_path = BINARY_CODECS_PATH; - -static int needs_free=0; -void SetCodecPath(const char* path) -{ - if(needs_free)free(def_path); - if(path==0) - { - def_path = BINARY_CODECS_PATH; - needs_free=0; - return; - } - def_path = malloc(strlen(path)+1); - strcpy(def_path, path); - needs_free=1; -} diff --git a/loader/codecpath.h b/loader/codecpath.h deleted file mode 100644 index 0532e9a3a1..0000000000 --- a/loader/codecpath.h +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Modified for use with MPlayer, detailed changelog at - * http://svn.mplayerhq.hu/mplayer/trunk/ - */ - -#ifndef MPLAYER_CODECPATH_H -#define MPLAYER_CODECPATH_H - -extern char *def_path; -void SetCodecPath(const char* path); - -#endif /* MPLAYER_CODECPATH_H */ diff --git a/loader/drv.c b/loader/drv.c index bfc57a4d1c..ece4aa3456 100644 --- a/loader/drv.c +++ b/loader/drv.c @@ -25,7 +25,7 @@ #ifndef __MINGW32__ #include "ext.h" #endif -#include "codecpath.h" +#include "get_path.h" #if 1 diff --git a/loader/elfdll.c b/loader/elfdll.c index fe88227240..b0317bf91a 100644 --- a/loader/elfdll.c +++ b/loader/elfdll.c @@ -18,7 +18,7 @@ #include "wine/debugtools.h" #include "wine/winerror.h" #include "debug.h" -#include "codecpath.h" +#include "get_path.h" //DEFAULT_DEBUG_CHANNEL(elfdll) diff --git a/loader/module.c b/loader/module.c index 98b31125af..0d4f8087ce 100644 --- a/loader/module.c +++ b/loader/module.c @@ -46,7 +46,7 @@ #endif #include "win32.h" #include "drv.h" -#include "codecpath.h" +#include "get_path.h" #ifdef EMU_QTX_API #include "wrapper.h" diff --git a/loader/win32.c b/loader/win32.c index 9ca0a4a3ab..52a7b2c6c5 100644 --- a/loader/win32.c +++ b/loader/win32.c @@ -49,7 +49,7 @@ for DLL to know too much about its environment. #include "loader.h" #include "com.h" #include "ext.h" -#include "codecpath.h" +#include "get_path.h" #include #include -- cgit v1.2.3 From 70c66c04764421ca277c341657c556cb0f00ec9b Mon Sep 17 00:00:00 2001 From: diego Date: Sat, 20 Mar 2010 23:38:27 +0000 Subject: Rename get_path.[ch] --> path.[ch]. These files now contain different functions related to path handling. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30943 b3059339-0415-0410-9bf9-f77b7e298cf2 --- loader/drv.c | 2 +- loader/elfdll.c | 2 +- loader/module.c | 2 +- loader/registry.c | 2 +- loader/win32.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) (limited to 'loader') diff --git a/loader/drv.c b/loader/drv.c index ece4aa3456..fbc4007734 100644 --- a/loader/drv.c +++ b/loader/drv.c @@ -25,7 +25,7 @@ #ifndef __MINGW32__ #include "ext.h" #endif -#include "get_path.h" +#include "path.h" #if 1 diff --git a/loader/elfdll.c b/loader/elfdll.c index b0317bf91a..5c33d2bde9 100644 --- a/loader/elfdll.c +++ b/loader/elfdll.c @@ -18,7 +18,7 @@ #include "wine/debugtools.h" #include "wine/winerror.h" #include "debug.h" -#include "get_path.h" +#include "path.h" //DEFAULT_DEBUG_CHANNEL(elfdll) diff --git a/loader/module.c b/loader/module.c index 0d4f8087ce..b6eebcf19d 100644 --- a/loader/module.c +++ b/loader/module.c @@ -46,7 +46,7 @@ #endif #include "win32.h" #include "drv.h" -#include "get_path.h" +#include "path.h" #ifdef EMU_QTX_API #include "wrapper.h" diff --git a/loader/registry.c b/loader/registry.c index 9964eeb9ff..cab63ceb72 100644 --- a/loader/registry.c +++ b/loader/registry.c @@ -21,7 +21,7 @@ #include "ext.h" #include "registry.h" -#include "get_path.h" +#include "path.h" //#undef TRACE //#define TRACE printf diff --git a/loader/win32.c b/loader/win32.c index 52a7b2c6c5..fe8b198944 100644 --- a/loader/win32.c +++ b/loader/win32.c @@ -49,7 +49,7 @@ for DLL to know too much about its environment. #include "loader.h" #include "com.h" #include "ext.h" -#include "get_path.h" +#include "path.h" #include #include -- cgit v1.2.3 From 5e480c7b817748e000caa967711f28eae5e2a3f2 Mon Sep 17 00:00:00 2001 From: diego Date: Tue, 23 Mar 2010 18:01:00 +0000 Subject: Get rid of pointless def_path variable; use codec_path directly instead. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30949 b3059339-0415-0410-9bf9-f77b7e298cf2 --- loader/elfdll.c | 2 +- loader/module.c | 4 ++-- loader/win32.c | 23 +++++++++++++---------- 3 files changed, 16 insertions(+), 13 deletions(-) (limited to 'loader') diff --git a/loader/elfdll.c b/loader/elfdll.c index 5c33d2bde9..f6ac158107 100644 --- a/loader/elfdll.c +++ b/loader/elfdll.c @@ -68,7 +68,7 @@ void *ELFDLL_dlopen(const char *libname, int flags) /* Now try to construct searches through our extra search-path */ namelen = strlen(libname); - ldpath = def_path; + ldpath = codec_path; while(ldpath && *ldpath) { int len; diff --git a/loader/module.c b/loader/module.c index b6eebcf19d..d0f32d2537 100644 --- a/loader/module.c +++ b/loader/module.c @@ -393,9 +393,9 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags) strncpy(path, libname, 511); else /* check default user path */ - strncpy(path, def_path, 300); + strncpy(path, codec_path, 300); } - else if (strcmp(def_path, listpath[i])) + else if (strcmp(codec_path, listpath[i])) /* path from the list */ strncpy(path, listpath[i], 300); else diff --git a/loader/win32.c b/loader/win32.c index fe8b198944..99f8ffd991 100644 --- a/loader/win32.c +++ b/loader/win32.c @@ -2575,7 +2575,8 @@ static int WINAPI expLoadLibraryA(char* name) return MODULE_HANDLE_psapi; result=LoadLibraryA(name); - dbgprintf("Returned LoadLibraryA(0x%x='%s'), def_path=%s => 0x%x\n", name, name, def_path, result); + dbgprintf("Returned LoadLibraryA(0x%x='%s'), codec_path=%s => 0x%x\n", + name, name, codec_path, result); return result; } @@ -3589,13 +3590,15 @@ static HANDLE WINAPI expFindFirstFileA(LPCSTR s, LPWIN32_FIND_DATAA lpfd) #ifdef CONFIG_QTX_CODECS if(strstr(s, "quicktime\\*.QTX")){ dbgprintf("FindFirstFileA(0x%x='%s', 0x%x) => QTX\n", s, s, lpfd); - dbgprintf("\n### Searching for QuickTime plugins (*.qtx) at %s...\n",def_path); - qtx_dir=opendir(def_path); + dbgprintf("\n### Searching for QuickTime plugins (*.qtx) at %s...\n", + codec_path); + qtx_dir = opendir(codec_path); if(!qtx_dir) return (HANDLE)-1; memset(lpfd,0,sizeof(*lpfd)); if(expFindNextFileA(FILE_HANDLE_quicktimeqtx,lpfd)) return FILE_HANDLE_quicktimeqtx; - printf("loader: Couldn't find the QuickTime plugins (.qtx files) at %s\n",def_path); + printf("loader: Couldn't find the QuickTime plugins (.qtx files) at %s\n", + codec_path); return (HANDLE)-1; } #if 0 @@ -3732,8 +3735,8 @@ static HANDLE WINAPI expCreateFileA(LPCSTR cs1,DWORD i1,DWORD i2, if(strstr(cs1, "QuickTime.qts")) { int result; - char* tmp=malloc(strlen(def_path)+50); - strcpy(tmp, def_path); + char* tmp = malloc(strlen(codec_path) + 50); + strcpy(tmp, codec_path); strcat(tmp, "/"); strcat(tmp, "QuickTime.qts"); result=open(tmp, O_RDONLY); @@ -3743,9 +3746,9 @@ static HANDLE WINAPI expCreateFileA(LPCSTR cs1,DWORD i1,DWORD i2, if(strstr(cs1, ".qtx")) { int result; - char* tmp=malloc(strlen(def_path)+250); + char* tmp = malloc(strlen(codec_path) + 250); char* x=strrchr(cs1,'\\'); - sprintf(tmp,"%s/%s",def_path,x?(x+1):cs1); + sprintf(tmp, "%s/%s", codec_path, x ? (x + 1) : cs1); // printf("### Open: %s -> %s\n",cs1,tmp); result=open(tmp, O_RDONLY); free(tmp); @@ -3756,8 +3759,8 @@ static HANDLE WINAPI expCreateFileA(LPCSTR cs1,DWORD i1,DWORD i2, if(strncmp(cs1, "AP", 2) == 0) { int result; - char* tmp=malloc(strlen(def_path)+50); - strcpy(tmp, def_path); + char* tmp = malloc(strlen(codec_path) + 50); + strcpy(tmp, codec_path); strcat(tmp, "/"); strcat(tmp, "APmpg4v1.apl"); result=open(tmp, O_RDONLY); -- cgit v1.2.3 From 983b920137dc9139d0026e87821e241035a24b90 Mon Sep 17 00:00:00 2001 From: diego Date: Tue, 23 Mar 2010 20:24:14 +0000 Subject: loader: Remove commented-out extra_ld_library_path cruft. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30953 b3059339-0415-0410-9bf9-f77b7e298cf2 --- loader/elfdll.c | 2 -- loader/wine/elfdll.h | 1 - 2 files changed, 3 deletions(-) (limited to 'loader') diff --git a/loader/elfdll.c b/loader/elfdll.c index f6ac158107..057fa5b9c8 100644 --- a/loader/elfdll.c +++ b/loader/elfdll.c @@ -38,8 +38,6 @@ DWORD fixup_imports(WINE_MODREF *wm); void dump_exports(HMODULE hModule); /*---------------- END HACKS ---------------*/ -//char *extra_ld_library_path = "/usr/lib/win32"; - struct elfdll_image { HMODULE pe_module_start; diff --git a/loader/wine/elfdll.h b/loader/wine/elfdll.h index 82a6ea1f8d..e93ae10429 100644 --- a/loader/wine/elfdll.h +++ b/loader/wine/elfdll.h @@ -9,6 +9,5 @@ HINSTANCE16 ELFDLL_LoadModule16(LPCSTR libname); void ELFDLL_UnloadLibrary(WINE_MODREF *wm); void *ELFDLL_dlopen(const char *libname, int flags); -extern char *extra_ld_library_path; #endif /* MPLAYER_ELFDLL_H */ -- cgit v1.2.3 From b78d83301a2f92f867edb265923ecf34538cc8fa Mon Sep 17 00:00:00 2001 From: diego Date: Wed, 24 Mar 2010 01:07:11 +0000 Subject: Remove /usr[/local]/lib/win32 from the list of Win32 codec search paths. These paths have been deprecated a long time ago, just searching the default binary codec path is enough nowadays. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30955 b3059339-0415-0410-9bf9-f77b7e298cf2 --- loader/module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'loader') diff --git a/loader/module.c b/loader/module.c index d0f32d2537..b9dcfa5869 100644 --- a/loader/module.c +++ b/loader/module.c @@ -366,7 +366,7 @@ static WIN_BOOL MODULE_FreeLibrary( WINE_MODREF *wm ) HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags) { WINE_MODREF *wm = 0; - char* listpath[] = { "", "", "/usr/lib/win32", "/usr/local/lib/win32", 0 }; + char* listpath[] = { "", "", 0 }; char path[512]; char checked[2000]; int i = -1; -- cgit v1.2.3 From af6fb3740ea89f724c1d3cf4e3fd22cf8850ffba Mon Sep 17 00:00:00 2001 From: sesse Date: Thu, 25 Mar 2010 12:58:41 +0000 Subject: Don't try to delete the global memory mutex in the Win32 loader code, since it's now statically allocated and will not be reallocated if a new allocation comes along. This also fixes an issue where the mutex would not always be properly unlocked, leading to deadlocks. I thought I'd committed that ages ago, but obviously not, and it broke CineForm initialization. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30957 b3059339-0415-0410-9bf9-f77b7e298cf2 --- loader/win32.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'loader') diff --git a/loader/win32.c b/loader/win32.c index 99f8ffd991..0b1999a043 100644 --- a/loader/win32.c +++ b/loader/win32.c @@ -436,10 +436,7 @@ static int my_release(void* memory) alccnt--; - if (last_alloc) - pthread_mutex_unlock(&memmut); - else - pthread_mutex_destroy(&memmut); + pthread_mutex_unlock(&memmut); //if (alccnt < 40000) printf("MY_RELEASE: %p\t%ld (%d)\n", header, header->size, alccnt); #else -- cgit v1.2.3