[Bug 766064] basesink: deadlock waiting prerolling while pipeline goes to NULL state

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Jun 8 09:07:08 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=766064

Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|FIXED                       |NOTABUG

--- Comment #23 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
(In reply to Miguel París Díaz from comment #22)
> Yes, I am linking elements in this way because I am using bins to add and
> remove a set of elements dynamically in an easy way, in other words, these
> bins have NO logic. This shouldn't be wrong if the API allow it, should it?

The gst_pad_link_full() API allows to disable checks for performance reasons.
When you know that what you're doing is correct and checks don't have to
happen. In your case, what you're doing is not correct, so the result after
linking is wrong.

> So, from your explanation and my answer:
>  - Should we fix the algorithm to set the "degree" of the elements taking
> into account these cases?

No, the pipeline graph that is created is invalid :)

>  - Should we mandate users to ALWAYS create ghostpads if they use bins? In
> that case:
>     - Which is the easier way of doing this?

gst_element_link() and gst_element_link_pads() will automatically create
ghostpads for you if needed. Or gst_pad_link_maybe_ghosting()

>     - We have to take into account that this is less efficient (more and
> more useless pads :()

That would have to be optimized instead then :) If ghostpads are too expensive,
then something has to be improved there in general. Ghostpads are not doing
anything at all other than proxying.

-- 
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