]> git.sesse.net Git - vlc/blobdiff - src/libvlc-common.c
Changing the order of parameters may be needed, but changing the parameters themselve...
[vlc] / src / libvlc-common.c
index f31e0d95ebfbd9ffba57f8d8a893429991dca23b..e3df03e4fc3685e04fcbd54a4249f3c0f0548f3b 100644 (file)
@@ -105,7 +105,7 @@ static volatile unsigned int i_instances = 0;
 static void SetLanguage   ( char const * );
 #endif
 static inline int LoadMessages (void);
-static int  GetFilenames  ( libvlc_int_t *, int, char *[] );
+static int  GetFilenames  ( libvlc_int_t *, int, const char *[] );
 static void Help          ( libvlc_int_t *, char const *psz_help_name );
 static void Usage         ( libvlc_int_t *, char const *psz_module_name );
 static void ListModules   ( libvlc_int_t *, vlc_bool_t );
@@ -203,6 +203,8 @@ libvlc_int_t * libvlc_InternalCreate( void )
     psz_env = getenv( "VLC_VERBOSE" );
     if( psz_env != NULL )
         p_libvlc->i_verbose = atoi( psz_env );
+    else
+        p_libvlc->i_verbose = 3;
 #if defined( HAVE_ISATTY ) && !defined( WIN32 )
     p_libvlc->b_color = isatty( 2 ); /* 2 is for stderr */
 #else
@@ -233,7 +235,8 @@ libvlc_int_t * libvlc_InternalCreate( void )
  *  - message queue, module bank and playlist initialization
  *  - configuration and commandline parsing
  */
-int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, char *ppsz_argv[] )
+int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
+                         const char *ppsz_argv[] )
 {
     char         p_capabilities[200];
     char *       p_tmp = NULL;
@@ -816,7 +819,7 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, char *ppsz_argv[] )
     }
     else if( psz_control && *psz_control )
     {
-        if( psz_modules ) free( psz_modules );
+        free( psz_modules );
         psz_modules = strdup( psz_control );
     }
 
@@ -839,10 +842,8 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, char *ppsz_argv[] )
             free( psz_temp );
         }
     }
-    if ( psz_modules )
-    {
-        free( psz_modules );
-    }
+    free( psz_modules );
+    free( psz_control );
 
     /*
      * Always load the hotkeys interface if it exists
@@ -854,6 +855,11 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, char *ppsz_argv[] )
      * we do it only when playlist exists, because dbus module needs it */
     if( config_GetInt( p_libvlc, "one-instance" ) )
         VLC_AddIntf( 0, "dbus,none", VLC_FALSE, VLC_FALSE );
+
+    /* Prevents the power management daemon to suspend the computer
+     * when VLC is active */
+    if( config_GetInt( p_libvlc, "inhibit" ) )
+        VLC_AddIntf( 0, "inhibit,none", VLC_FALSE, VLC_FALSE );
 #endif
 
     /*
@@ -1130,7 +1136,7 @@ int libvlc_InternalAddIntf( libvlc_int_t *p_libvlc,
     /* Try to run the interface */
     p_intf->b_play = b_play;
     i_err = intf_RunThread( p_intf );
-    if( i_err )
+    if( i_err || p_intf->b_should_run_on_first_thread )
     {
         vlc_object_detach( p_intf );
         intf_Destroy( p_intf );
@@ -1233,7 +1239,7 @@ static inline int LoadMessages (void)
  * Parse command line for input files as well as their associated options.
  * An option always follows its associated input and begins with a ":".
  *****************************************************************************/
-static int GetFilenames( libvlc_int_t *p_vlc, int i_argc, char *ppsz_argv[] )
+static int GetFilenames( libvlc_int_t *p_vlc, int i_argc, const char *ppsz_argv[] )
 {
     int i_opt, i_options;
 
@@ -1254,7 +1260,7 @@ static int GetFilenames( libvlc_int_t *p_vlc, int i_argc, char *ppsz_argv[] )
          *       unnecessary lookups. */
 
         VLC_AddTarget( p_vlc->i_object_id, ppsz_argv[i_opt],
-                       (char const **)( i_options ? &ppsz_argv[i_opt + 1] :
+                       ( i_options ? &ppsz_argv[i_opt + 1] :
                                         NULL ), i_options,
                        PLAYLIST_INSERT, 0 );
     }