[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