[gstreamer-bugs] [Bug 618853] add caps intersection iterators

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon May 17 09:11:32 PDT 2010


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

Sebastian Dröge <slomo> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #161234|none                        |reviewed
             status|                            |

--- Comment #9 from Sebastian Dröge <slomo at circular-chaos.org> 2010-05-17 16:11:27 UTC ---
Review of attachment 161234:
 --> (https://bugzilla.gnome.org/review?bug=618853&attachment=161234)

Looks good in general, some comments below. Question is still how we could
support ANY/EMPTY caps :) From all ideas that were proposed so far, I like
Edwards idea to use singleton iterators for those and have macros for checking
against them most.

::: gst/gstcaps.c
@@ +1515,3 @@
+  /* - we don't need an ItemFunction because we create new items in _next
+   * - we ref the caps and thus they can't change, we still need a dummy
cookie
+   * - we have no lock

It might be a good idea to allow some kind of cookie for the case when element
properties change for example. This should then require a resync and getting
new caps. Same goes for the lock.

@@ +1697,3 @@
+ * Since: 0.10.XXX
+ */
+/* FIXME: should this take ownership of the iterators? */

Yes, gst_iterator_filter() for example does this too

@@ +1707,3 @@
+  /* - we don't need an ItemFunction because we create new items in _next
+   * - we ref the caps and thus they can't change, we still need a dummy
cookie
+   * - we have no lock

A lock and cookie might be good to allow for the same reasons as above.

::: gst/gstpad.c
@@ +2395,3 @@
+    }
+  }
+  if ((templ = GST_PAD_PAD_TEMPLATE (pad))) {

If the pad has no getcapsiterator function you should simply call
gst_pad_get_caps()

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