After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 512334 - g_critical() when using GstAudioFilter & GST_DEBUG
g_critical() when using GstAudioFilter & GST_DEBUG
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 0.10.17
Assigned To: Sebastian Dröge (slomo)
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-01-27 06:15 UTC by Sebastian Dröge (slomo)
Modified: 2008-01-29 09:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
audiofilter-debug.diff (874 bytes, patch)
2008-01-27 06:15 UTC, Sebastian Dröge (slomo)
committed Details | Review

Description Sebastian Dröge (slomo) 2008-01-27 06:15:27 UTC
Hi,
currently one gets some g_critical() when using an element that is based on GstAudioFilter and GST_DEBUG.

GST_DEBUG=equalizer:5 gst-launch-0.10 audiotestsrc ! audioconvert ! equalizer-nbands ! fakesink
[...]
(gst-launch-0.10:17495): GStreamer-CRITICAL **: gst_debug_log_valist: assertion `category != NULL' failed
[...]

This is caused by GstAudioFilter using gst_ring_buffer_parse_caps() without having called gst_ring_buffer_get_type() in some way. gst_ring_buffer_parse_caps() uses the ringbuffer debug category which is first initialized when calling gst_ring_buffer_get_type().

Attached patch fixes this and should be committed right after release if nobody disagrees.
Comment 1 Sebastian Dröge (slomo) 2008-01-27 06:15:48 UTC
Created attachment 103804 [details] [review]
audiofilter-debug.diff
Comment 2 Sebastian Dröge (slomo) 2008-01-29 09:48:36 UTC
2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>

        * gst-libs/gst/audio/gstaudiofilter.c:
        (gst_audio_filter_class_init):
        Initialize the GstRingerBuffer class to get it's debug category
        initialized. gst_ring_buffer_parse_caps() uses the ringbuffer debug
        category and otherwise we get some g_critical(). Fixes bug #512334.