gstreamer/subprojects
Jan Alexander Steffens (heftig) 58013b4b21 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:

1. Temporary:
  - `gst_debug_category_set_threshold`
  - `gst_debug_category_reset_threshold`
2. Patterns:
  - `gst_debug_set_threshold_for_name`
  - `gst_debug_unset_threshold_for_name`
  - `gst_debug_set_threshold_from_string`
  - `GST_DEBUG`
3. Default:
  - `gst_debug_set_default_threshold`

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/605>
2022-11-07 14:49:44 +00:00
..
gst-devtools gst-validate-1.0: Don't leak arguments and context 2022-11-04 17:59:22 +00:00
gst-docs nvcodec: Update for documentation 2022-10-24 12:42:51 +00:00
gst-editing-services build: Fix building ges with tools disabled 2022-10-25 08:53:19 +00:00
gst-examples meson: Fix path for webrtc validate tests 2022-10-26 18:16:25 +00:00
gst-integration-testsuites dashdemux2: Fix the way we determine current_position after seeks 2022-10-27 19:45:44 +00:00
gst-libav avutils: Add missing space in doc 2022-11-05 15:12:08 +00:00
gst-omx Back to development 2022-10-04 03:57:31 +01:00
gst-plugins-bad rtmp2: Improve error messages 2022-11-07 12:31:08 +00:00
gst-plugins-base subparse: Fix non-closed tag handling. 2022-11-05 16:19:53 +00:00
gst-plugins-good qtdemux: use unsigned int types to store result of QT_UINT32 2022-11-06 12:00:31 +00:00
gst-plugins-ugly xingmux: move from gst-plugins-ugly to gst-plugins-good 2022-10-25 12:40:20 +00:00
gst-python Back to development 2022-10-04 03:57:31 +01:00
gst-rtsp-server Fix various warnings from gobject-introspection 2022-10-25 09:45:25 +03:00
gstreamer info: Reset patterns with set_threshold_from_string 2022-11-07 14:49:44 +00:00
gstreamer-sharp Back to development 2022-10-04 03:57:31 +01:00
gstreamer-vaapi h265parse: fix typo in member of GstH265SPS 2022-10-04 10:01:12 +00:00
macos-bison-binary meson: Fix warning about check kwarg 2022-07-16 06:16:17 +00:00
packagefiles/pango-1.48.11 harfbuzz.wrap: Fix wrap type, and remove unnecessary patch 2022-07-29 19:56:11 +00:00
win-flex-bison-binaries meson: Use run_command check: true for windows binary subprojects 2022-10-19 04:05:05 +00:00
win-nasm meson: Use run_command check: true for windows binary subprojects 2022-10-19 04:05:05 +00:00
avtp.wrap
bindinator.wrap
cairo.wrap subprojects: cairo: bump to 1.17.6 2022-09-17 22:41:40 +00:00
dav1d.wrap
dssim.wrap
dv.wrap
expat.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
fdk-aac.wrap
FFmpeg.wrap
fontconfig.wrap subprojects: fontconfig: bump to 2.14.0 2022-09-17 22:41:40 +00:00
freetype2.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
fribidi.wrap subprojects: fribidi: bump to 1.0.12 2022-09-17 22:41:40 +00:00
gl-headers.wrap
glib-networking.wrap subprojects: glib, glib-networking: bump to 2.72 2022-09-17 22:41:40 +00:00
glib.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
graphene.wrap
gst-plugins-rs.wrap gst-plugins-rs: Track 0.9 branch until 1.22 release 2022-10-27 21:30:09 +00:00
gtk-sharp.wrap
harfbuzz.wrap subprojects: harfbuzz: bump to 5.2.0 2022-09-17 22:41:40 +00:00
json-glib.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
lame.wrap meson: Update some wraps, remove unused wraps 2022-07-16 06:16:17 +00:00
libdrm.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
libffi.wrap
libjpeg-turbo.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
libmicrodns.wrap subprojects: libmicrodns: bump to 0.2.0 + meson fixes 2022-09-17 22:41:40 +00:00
libnice.wrap subprojects: Update libnice to 0.1.19 2022-05-03 18:49:36 -04:00
libopenjp2.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
libpng.wrap
libpsl.wrap
libsoup.wrap meson: Update libsoup.wrap 2022-10-11 14:53:40 -04:00
libwpe.wrap
libxml2.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
ogg.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
openh264.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
opus.wrap
orc.wrap subprojects: orc: bump to 0.4.33 2022-10-31 23:50:28 +00:00
pango.wrap subprojects: pango: bump to 1.50.10 2022-09-17 22:41:40 +00:00
pixman.wrap
proxy-libintl.wrap Update proxy-libintl wrap to 0.4 2022-04-22 15:36:40 +00:00
pycairo.wrap
pygobject.wrap build: Fix some compiler warnings by upgrading wraps 2022-07-31 16:28:25 +05:30
sqlite3.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
vorbis.wrap meson: Update some wraps, remove unused wraps 2022-07-16 06:16:17 +00:00
webrtc-audio-processing.wrap
wpebackend-fdo.wrap
x264.wrap
zlib.wrap meson: Update some wraps, remove unused wraps 2022-07-16 06:16:17 +00:00