]> git.sesse.net Git - vlc/blobdiff - src/misc/win32_specific.c
* modules/gui/macosx/controls.m:
[vlc] / src / misc / win32_specific.c
index a1048f844266592f7f24ecddd3ef69f037d15a57..2808959679a4be3aa811d93987ee0eebfdf966df 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************
- * win32_specific.c: Win32 specific features 
+ * win32_specific.c: Win32 specific features
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: win32_specific.c,v 1.12 2002/06/08 14:08:46 sam Exp $
+ * $Id: win32_specific.c,v 1.20 2003/01/19 03:16:24 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *          Gildas Bazin <gbazin@netcourrier.com>
@@ -11,7 +11,7 @@
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  *****************************************************************************/
-#include <errno.h>                                                 /* ENOMEM */
 #include <string.h>                                              /* strdup() */
 #include <stdlib.h>                                                /* free() */
-#include <fcntl.h>
-
-#include <winsock2.h>
 
 #include <vlc/vlc.h>
 
+#if !defined( UNDER_CE )
+#   include <fcntl.h>
+#   include <winsock2.h>
+#endif
+
 /*****************************************************************************
  * system_Init: initialize winsock and misc other things.
  *****************************************************************************/
 void system_Init( vlc_t *p_this, int *pi_argc, char *ppsz_argv[] )
 {
+#if !defined( UNDER_CE )
     WSADATA Data;
     int i_err;
-    HINSTANCE hInstLib;
-
-    /* dynamically get the address of SignalObjectAndWait */
-    hInstLib = LoadLibrary( "kernel32" );
-    p_this->p_vlc->SignalObjectAndWait =
-        (SIGNALOBJECTANDWAIT)GetProcAddress( hInstLib, "SignalObjectAndWait" );
 
     /* WinSock Library Init. */
     i_err = WSAStartup( MAKEWORD( 1, 1 ), &Data );
@@ -52,7 +48,9 @@ void system_Init( vlc_t *p_this, int *pi_argc, char *ppsz_argv[] )
         fprintf( stderr, "error: can't initiate WinSocks, error %i\n", i_err );
     }
 
-    _fmode = _O_BINARY;  /* sets the default file-translation mode */
+    /* Set the default file-translation mode */
+    _fmode = _O_BINARY;
+#endif
 }
 
 /*****************************************************************************
@@ -60,7 +58,26 @@ void system_Init( vlc_t *p_this, int *pi_argc, char *ppsz_argv[] )
  *****************************************************************************/
 void system_Configure( vlc_t *p_this )
 {
-    p_this->p_vlc->b_fast_pthread = config_GetInt( p_this, "fast-pthread" );
+#if !defined( UNDER_CE )
+    p_this->p_libvlc->b_fast_mutex = config_GetInt( p_this, "fast-mutex" );
+    p_this->p_libvlc->i_win9x_cv = config_GetInt( p_this, "win9x-cv-method" );
+
+    /* Raise default priority of the current process */
+#ifndef ABOVE_NORMAL_PRIORITY_CLASS
+#   define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000
+#endif
+    if( !SetPriorityClass( GetCurrentProcess(),
+                          ABOVE_NORMAL_PRIORITY_CLASS ) )
+    {
+        if( !SetPriorityClass( GetCurrentProcess(),
+                              HIGH_PRIORITY_CLASS ) )
+           msg_Dbg( p_this, "can't raise process priority" );
+       else
+           msg_Dbg( p_this, "raised process priority" );
+    }
+    else
+       msg_Dbg( p_this, "raised process priority" );
+#endif
 }
 
 /*****************************************************************************
@@ -68,5 +85,7 @@ void system_Configure( vlc_t *p_this )
  *****************************************************************************/
 void system_End( vlc_t *p_this )
 {
+#if !defined( UNDER_CE )
     WSACleanup();
+#endif
 }