[Gstreamer-bugs] [Bug 123237] Changed - need policy for disappearance of SOMETIMES and REQUEST pads
bugzilla-daemon at widget.gnome.org
bugzilla-daemon at widget.gnome.org
Tue Sep 30 03:52:54 PDT 2003
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
http://bugzilla.gnome.org/show_bug.cgi?id=123237
Changed by in7y118 at public.uni-hamburg.de.
--- shadow/123237 Tue Sep 30 04:09:24 2003
+++ shadow/123237.tmp.8964 Tue Sep 30 06:52:54 2003
@@ -30,6 +30,37 @@
you're just saying that elements should remove their automatic pads
when going to NULL (READY?), or upon receiving new media.
------- Additional Comments From rbultje at ronald.bitfreak.net 2003-09-30 04:09 -------
READY, since that's when the media state is reset (convention). And
also on a discont with new_media event.
+
+------- Additional Comments From in7y118 at public.uni-hamburg.de 2003-09-30 06:52 -------
+Well, that goes for SOMETIMES pads, but doesn't make sense for
+REQUEST pads.
+I think REQUEST pads should probably be removed automatically
+whenever you unlink the pad. Though that would mean that you could
+not relink a REQUEST pad. I'm not really sure.
+
+Let me try to find a way to set this in stone (as in documentation):
+GST_PAD_ALWAYS: These pads are always available. They are available
+after the element is created an they will not be removed until the
+element is disposed.
+GST_PAD_SOMETIMES: These pads are created and destroyed by the
+element. You can connect to the "new-pad" and "pad-removed" signals
+to find out about this. Note: even linked sometimes pads (FIXME: this
+sounds crappy) may go away forcing unlinking with its peer pad.
+Please make sure your code reflects that.
+GST_PAD_REQUEST: Pads of this type are automatically removed when you
+unlink this pad. If you want to relink, you have to request another
+pad.
+
+A possible addition to request pads: "It is not allowed to have
+unlinked request pads in an iterating pipeline." This would force
+coders to actually connect newly acquired request pads.
+
+Another way to get around this is to change the API to not allow
+getting request pads but automatically create request pads for
+example via
+gst_element_request_link (element_to_link_to, pad_to_link_to,
+pad_template_to_use_or_NULL)
+thought that would make it somewhat harder to link 2 request pads.
More information about the Gstreamer-bugs
mailing list