/* we have no fail cases yet, but maybe in the future */ static gboolean init_pre (GOptionContext * context, GOptionGroup * group, gpointer data, GError ** error) { if (gst_initialized) { GST_DEBUG ("already initialized"); return TRUE; } g_type_init (); /* we need threading to be enabled right here */ g_assert (g_thread_get_initialized ()); _gst_debug_init (); #ifdef ENABLE_NLS setlocale (LC_ALL, ""); bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); #endif /* ENABLE_NLS */ #ifndef GST_DISABLE_GST_DEBUG { const gchar *debug_list; if (g_getenv ("GST_DEBUG_NO_COLOR") != NULL) gst_debug_set_colored (FALSE); debug_list = g_getenv ("GST_DEBUG"); if (debug_list) { parse_debug_list (debug_list); } } priv_gst_dump_dot_dir = g_getenv ("GST_DEBUG_DUMP_DOT_DIR"); #endif /* This is the earliest we can make stuff show up in the logs. * So give some useful info about GStreamer here */ GST_INFO ("Initializing GStreamer Core Library version %s", VERSION); GST_INFO ("Using library installed in %s", LIBDIR); /* Print some basic system details if possible (OS/architecture) */ #ifdef HAVE_SYS_UTSNAME_H { struct utsname sys_details; if (uname (&sys_details) == 0) { GST_INFO ("%s %s %s %s %s", sys_details.sysname, sys_details.nodename, sys_details.release, sys_details.version, sys_details.machine); } } #endif return TRUE; }
static gboolean parse_one_option (gint opt, const gchar * arg, GError ** err) { switch (opt) { case ARG_VERSION: g_print ("GStreamer Core Library version %s\n", PACKAGE_VERSION); exit (0); case ARG_FATAL_WARNINGS:{ GLogLevelFlags fatal_mask; fatal_mask = g_log_set_always_fatal (G_LOG_FATAL_MASK); fatal_mask |= G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL; g_log_set_always_fatal (fatal_mask); break; } #ifndef GST_DISABLE_GST_DEBUG case ARG_DEBUG_LEVEL:{ GstDebugLevel tmp = GST_LEVEL_NONE; tmp = (GstDebugLevel) strtol (arg, NULL, 0); if (((guint) tmp) < GST_LEVEL_COUNT) { gst_debug_set_default_threshold (tmp); } break; } case ARG_DEBUG: gst_debug_set_threshold_from_string (arg, FALSE); break; case ARG_DEBUG_NO_COLOR: gst_debug_set_colored (FALSE); break; case ARG_DEBUG_COLOR_MODE: gst_debug_set_color_mode_from_string (arg); break; case ARG_DEBUG_DISABLE: gst_debug_set_active (FALSE); break; case ARG_DEBUG_HELP: gst_debug_help (); exit (0); #endif case ARG_PLUGIN_SPEW: break; case ARG_PLUGIN_PATH: #ifndef GST_DISABLE_REGISTRY split_and_iterate (arg, G_SEARCHPATH_SEPARATOR_S, add_path_func, NULL); #endif /* GST_DISABLE_REGISTRY */ break; case ARG_PLUGIN_LOAD: split_and_iterate (arg, ",", prepare_for_load_plugin_func, NULL); break; case ARG_SEGTRAP_DISABLE: _gst_disable_segtrap = TRUE; break; case ARG_REGISTRY_UPDATE_DISABLE: #ifndef GST_DISABLE_REGISTRY _priv_gst_disable_registry_update = TRUE; #endif break; case ARG_REGISTRY_FORK_DISABLE: gst_registry_fork_set_enabled (FALSE); break; default: g_set_error (err, G_OPTION_ERROR, G_OPTION_ERROR_UNKNOWN_OPTION, _("Unknown option")); return FALSE; } return TRUE; }