GNOME Bugzilla – Bug 700845
gst_launch_parse api with nested bin
Last modified: 2015-08-14 11:12:51 UTC
The elements are finalized when terminating a pipeline with a single 'bin' as follows. G_MESSAGES_DEBUG=all GST_DEBUG_NO_COLOR=1 GST_DEBUG=st*:5,bin:5,*STATES:5,*PARENTAGE:5,*REFCOUNTING:5,*PIPELINE:5 gst-launch filesrc location = /home/frankie/seek/videos/aviTombRaider.avi ! avidemux ! bin.'(' ffdec_mpeg4 ! x264enc ')' ! mpegtsmux ! fakesink async=false The elements are not finalized with two nested 'bins' as follows. G_MESSAGES_DEBUG=all GST_DEBUG_NO_COLOR=1 GST_DEBUG=st*:5,bin:5,*STATES:5,*PARENTAGE:5,*REFCOUNTING:5,*PIPELINE:5 gst-launch bin.'('filesrc location = /home/frankie/seek/videos/aviTombRaider.avi ! avidemux ! bin.'(' ffdec_mpeg4 ! x264enc ')' ! mpegtsmux ')' ! fakesink async=false is it some known issue?
Does this still happen with GStreamer 1.0? What do you mean with finalized? If you need to create multiple bins it is recommended to properly do that in code instead of using the gst-launch syntax for that.
It seems that if the object ref count is not 0, dispose() or finalize() will not be call. So we need to check if the object ref count is really 0.
No, the refcount handling is just generally broken there. You should *never* manually check the refcount of any object, only use ref() and unref() properly.