info: Reset patterns with set_threshold_from_string
TLDR: Make gst_set_threshold_from_string ("", TRUE)
reset all
threshold settings, including those set by previous invocations of
gst_debug_set_threshold_from_string
.
The docs say:
@reset: %TRUE to clear all previously-set debug levels before setting
new thresholds
What actually happens is it sets the default threshold to ERROR
,
leaves the patterns in place and calls
gst_debug_category_reset_threshold
on each category.
In effect, any category that is matched by a pattern gets reset to that
threshold if the app changed it by directly invoking
gst_debug_category_set_threshold
. All other categories are reset to
ERROR
.
In my opinion this parameter currently has little value, as the same
effect can be achieved by including ERROR
(without a pattern) in the
string, as in "foo*:WARNING,*bar:INFO,ERROR"
.
What I actually expect it to do is reset all threshold settings,
including those set by previous invocations of
gst_debug_set_threshold_from_string
, starting off with a clean slate
for the patterns provided with the call.
Otherwise there is no API to do this, besides:
- Painfully removing patterns one-by-one via
gst_debug_unset_threshold_for_name
if you know what the patterns are. - Adding a
*:FOO
pattern to affect all categories, which makes the default threshold useless and practically leaks all the old patterns.
In my opinion this also makes it fit better into the layers of threshold config, which is:
- Temporary:
gst_debug_category_set_threshold
gst_debug_category_reset_threshold
- Patterns:
gst_debug_set_threshold_for_name
gst_debug_unset_threshold_for_name
gst_debug_set_threshold_from_string
GST_DEBUG
- Default:
gst_debug_set_default_threshold