Leak detected when using GstChildProxy to access internal objects other than an element's pads
Describe your issue
When using something GstParse
based like gst-launch
to set up a pipeline that accesses an element's inner objects through GstChildProxy
, leaks can be observed when the application ends.
This does not occur if objects are accessed through GstChildProxy
with C calls instead of GstParse
, hinting at a problem with GstParse
itself.
Expected Behavior
Leak detector finds nothing, no leaks occur.
Observed Behavior
Leak detector finds that the objects that were accessed through GstChildProxy
's get_child_by_index
vfunc leak. When using the example mentioned below, this can be seen: GST_TRACER :0:: object-alive, type-name=(string)GstIirEqualizerBand, address=(gpointer)0x557b736e7470, description=(string)<band5>, ref-count=(uint)1, trace=(string);
Setup
- Operating System: Any OS
- Device: PC
- GStreamer Version: Observed with version 1.22.0 and later; 1.20.5 did not exhibit this bug
-
Command line:
GST_TRACERS=leaks GST_DEBUG=2,GST_TRACER:7 gst-launch-1.0 audiotestsrc ! equalizer-nbands num-bands=15 band5::gain=6.0 ! alsasink
Steps to reproduce the bug
- Type the command line mentioned above
- Press Ctrl+C as soon as a sound can be heard
How reproducible is the bug?
Bug always happens.