[vlc-commits] win32: gather multimedia timer initialization
Rémi Denis-Courmont
git at videolan.org
Sun Jun 18 17:47:21 CEST 2017
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sun Jun 18 16:49:43 2017 +0300| [5520187b0be2b5cb3081f03a483b5e22a1103b7c] | committer: Rémi Denis-Courmont
win32: gather multimedia timer initialization
Fixes serialization.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5520187b0be2b5cb3081f03a483b5e22a1103b7c
---
src/win32/specific.c | 19 -------------------
src/win32/thread.c | 7 ++++++-
2 files changed, 6 insertions(+), 20 deletions(-)
diff --git a/src/win32/specific.c b/src/win32/specific.c
index aa444bf3bc..c38890febc 100644
--- a/src/win32/specific.c
+++ b/src/win32/specific.c
@@ -58,18 +58,8 @@ static int system_InitWSA(int hi, int lo)
/**
* Initializes MME timer, Winsock.
*/
-static HMODULE hWinmm = INVALID_HANDLE_VALUE;
void system_Init(void)
{
- hWinmm = LoadLibrary(TEXT("winmm.dll"));
- if (hWinmm)
- {
- MMRESULT (WINAPI * timeBeginPeriod)(UINT);
- timeBeginPeriod = (void*)GetProcAddress(hWinmm, "timeBeginPeriod");
- if (timeBeginPeriod)
- timeBeginPeriod(5);
- }
-
if (system_InitWSA(2, 2) && system_InitWSA(1, 1))
fputs("Error: cannot initialize Winsocks\n", stderr);
@@ -196,15 +186,6 @@ void system_Configure( libvlc_int_t *p_this, int i_argc, const char *const ppsz_
*/
void system_End(void)
{
- if (hWinmm)
- {
- MMRESULT (WINAPI * timeEndPeriod)(UINT);
- timeEndPeriod = (void*)GetProcAddress(hWinmm, "timeEndPeriod");
- if (timeEndPeriod)
- timeEndPeriod(5);
- FreeLibrary(hWinmm);
- }
-
/* XXX: In theory, we should not call this if WSAStartup() failed. */
WSACleanup();
}
diff --git a/src/win32/thread.c b/src/win32/thread.c
index 9a6b6549ef..40c294dd52 100644
--- a/src/win32/thread.c
+++ b/src/win32/thread.c
@@ -876,8 +876,9 @@ static BOOL SelectClockSource(void *data)
if (!strcmp (name, "multimedia"))
{
TIMECAPS caps;
+ MMRESULT (WINAPI * timeBeginPeriod)(UINT);
- HMODULE hWinmm = GetModuleHandle(TEXT("winmm.dll"));
+ HMODULE hWinmm = LoadLibrary(TEXT("winmm.dll"));
if (!hWinmm)
goto perf;
@@ -892,6 +893,10 @@ static BOOL SelectClockSource(void *data)
msg_Dbg (obj, " min period: %u ms, max period: %u ms",
caps.wPeriodMin, caps.wPeriodMax);
mdate_selected = mdate_multimedia;
+
+ timeBeginPeriod = (void*)GetProcAddress(hWinmm, "timeBeginPeriod");
+ if (timeBeginPeriod != NULL)
+ timeBeginPeriod(5);
}
#endif
else
More information about the vlc-commits
mailing list