vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Mon Mar 18 19:09:55 2013 +0200| [4151f94e2f1db403b96fed5f23ccec4104759070] | committer: Rémi Denis-Courmont
libvlc: initialize message settings early enough That is to say, before any message gets logged. Unfortunately, since the modules bank uses logging, and provides the configuration, the message settings cannot be stored in the configuration file. All messages could be removed from the bank but that would hurt debugging in some cases :-/ > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4151f94e2f1db403b96fed5f23ccec4104759070 --- src/libvlc-module.c | 3 +++ src/libvlc.c | 45 +++++++++++++++++++-------------------------- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/src/libvlc-module.c b/src/libvlc-module.c index 86cee40..3ed702a 100644 --- a/src/libvlc-module.c +++ b/src/libvlc-module.c @@ -2059,9 +2059,11 @@ vlc_module_begin () add_integer( "verbose", 0, VERBOSE_TEXT, VERBOSE_LONGTEXT, false ) change_short('v') + change_volatile () add_obsolete_string( "verbose-objects" ) /* since 2.1.0 */ add_bool( "quiet", 0, QUIET_TEXT, QUIET_LONGTEXT, false ) change_short('q') + change_volatile () #if !defined(WIN32) && !defined(__OS2__) add_bool( "daemon", 0, DAEMON_TEXT, DAEMON_LONGTEXT, true ) @@ -2083,6 +2085,7 @@ vlc_module_begin () #endif add_bool( "color", true, COLOR_TEXT, COLOR_LONGTEXT, true ) + change_volatile () add_bool( "advanced", false, ADVANCED_TEXT, ADVANCED_LONGTEXT, false ) add_bool( "interact", true, INTERACTION_TEXT, diff --git a/src/libvlc.c b/src/libvlc.c index 16b0865..ef91491 100644 --- a/src/libvlc.c +++ b/src/libvlc.c @@ -116,12 +116,6 @@ libvlc_int_t * libvlc_InternalCreate( void ) priv->p_ml = NULL; priv->p_dialog_provider = NULL; priv->p_vlm = NULL; - priv->i_verbose = 3; /* initial value until config is loaded */ -#if defined( HAVE_ISATTY ) && !defined( WIN32 ) - priv->b_color = isatty( STDERR_FILENO ); /* 2 is for stderr */ -#else - priv->b_color = false; -#endif /* Initialize mutexes */ vlc_mutex_init( &priv->ml_lock ); @@ -162,13 +156,27 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, module_EndBank (false); return VLC_EGENERIC; } - priv->i_verbose = var_InheritInteger( p_libvlc, "verbose" ); - /* Find verbosity from VLC_VERBOSE environment variable */ + /* + * Message queue options (read-only afterwards) + */ +#if defined (HAVE_ISATTY) && !defined (WIN32) + if (isatty (STDERR_FILENO)) + priv->b_color = var_InheritBool (p_libvlc, "color"); + else +#endif + priv->b_color = false; + + priv->i_verbose = var_InheritInteger (p_libvlc, "verbose"); + psz_val = getenv ("VLC_VERBOSE"); + if (psz_val != NULL) + priv->i_verbose = atoi (psz_val); + + if (var_InheritBool (p_libvlc, "quiet")) { - char *env = getenv( "VLC_VERBOSE" ); - if( env != NULL ) - priv->i_verbose = atoi( env ); + var_Create (p_libvlc, "verbose", VLC_VAR_INTEGER); + var_SetInteger (p_libvlc, "verbose", -1); + priv->i_verbose = -1; } /* Announce who we are (TODO: only first instance?) */ @@ -204,7 +212,6 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, module_EndBank (true); return VLC_EGENERIC; } - priv->i_verbose = var_InheritInteger( p_libvlc, "verbose" ); /* * Support for gettext @@ -381,20 +388,6 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, dbus_out: #endif // HAVE_DBUS - /* - * Message queue options - */ - /* Last chance to set the verbosity. Once we start interfaces and other - * threads, verbosity becomes read-only. */ - var_Create( p_libvlc, "verbose", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT ); - if( var_InheritBool( p_libvlc, "quiet" ) ) - { - var_SetInteger( p_libvlc, "verbose", -1 ); - priv->i_verbose = -1; - } - if( priv->b_color ) - priv->b_color = var_InheritBool( p_libvlc, "color" ); - vlc_CPU_dump( VLC_OBJECT(p_libvlc) ); vlc_object_set_name( p_libvlc, "main" ); _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
