/**
* gst_debug_set_threshold_from_string:
* @list: comma-separated list of "category:level" pairs to be used
* as debug logging levels
* @reset: %TRUE to clear all previously-set debug levels before setting
* new thresholds
* %FALSE if adding the threshold described by @list to the one already set.
*
* Sets the debug logging wanted in the same form as with the GST_DEBUG
* environment variable. You can use wildcards such as '*', but note that
* the order matters when you use wild cards, e.g. "foosrc:6,*src:3,*:2" sets
* everything to log level 2.
*
* Since: 1.2
*/
void
gst_debug_set_threshold_from_string (const gchar * list, gboolean reset)
{
gchar **split;
gchar **walk;
g_assert (list);
if (reset)
gst_debug_set_default_threshold (GST_LEVEL_DEFAULT);
split = g_strsplit (list, ",", 0);
for (walk = split; *walk; walk++) {
if (strchr (*walk, ':')) {
gchar **values = g_strsplit (*walk, ":", 2);
if (values[0] && values[1]) {
GstDebugLevel level;
const gchar *category;
if (parse_debug_category (values[0], &category)
&& parse_debug_level (values[1], &level)) {
gst_debug_set_threshold_for_name (category, level);
/* bump min-level anyway to allow the category to be registered in the
* future still */
if (level > _gst_debug_min) {
_gst_debug_min = level;
}
}
}
g_strfreev (values);
} else {
GstDebugLevel level;
if (parse_debug_level (*walk, &level))
gst_debug_set_default_threshold (level);
}
}
g_strfreev (split);
}
gstreamer根据GstDebugCategory设置打印等级
最新推荐文章于 2024-10-14 16:42:33 发布