[Bug 650576] dynamic pipeline ref issue

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri May 20 04:57:19 PDT 2011


https://bugzilla.gnome.org/show_bug.cgi?id=650576
  GStreamer | gstreamer (core) | 0.10.35

Peter Bocz <peter.bocz> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |

--- Comment #6 from Peter Bocz <peter.bocz at vidux.net> 2011-05-20 11:52:52 UTC ---
so first of all it's not a documentation! do you think all developer should
have to read all the sources of gstreamer?

anyway here is your own example:
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/tests/examples/dynamic/sprinkle.c
which is also not working. did you or anyone try this example?

in the remove_source function if you print the refcount values for the
info->element its:
1 (before gst_element_set_state)
5 (after gst_element_set_state)
4 (after gst_bin_remove)
what's more info is freed at the end of do function while it's contains
info->element which's ref count still not 0.

so either this example is still buggy or gstreamer is buggy as it's use ref
count and element addition, state changes or anything else.
anyway why recount is change from 1 to 5? what is the 4 reference? is it
documented anywhere? we'd be happy to read and understand the behaviour.

of course this behaviour result a huge memory leak in case of frequent element
addition and removing or eg in a long running service.
so imho it's serious bug in gstreamer.

--- Comment #7 from Peter Bocz <peter.bocz at vidux.net> 2011-05-20 11:54:39 UTC ---
so first of all it's not a documentation! do you think all developer should
have to read all the sources of gstreamer?

anyway here is your own example:
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/tests/examples/dynamic/sprinkle.c
which is also not working. did you or anyone try this example?

in the remove_source function if you print the refcount values for the
info->element its:
1 (before gst_element_set_state)
5 (after gst_element_set_state)
4 (after gst_bin_remove)
what's more info is freed at the end of do function while it's contains
info->element which's ref count still not 0.

so either this example is still buggy or gstreamer is buggy as it's use ref
count and element addition, state changes or anything else.
anyway why recount is change from 1 to 5? what is the 4 reference? is it
documented anywhere? we'd be happy to read and understand the behaviour.

of course this behaviour result a huge memory leak in case of frequent element
addition and removing or eg in a long running service.
so imho it's serious bug in gstreamer.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list