[Bug 657640] 0.11 gstreamer Introspection review

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Oct 19 02:34:54 PDT 2011


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

--- Comment #11 from Edward Hervey <bilboed at gmail.com> 2011-10-19 09:34:53 UTC ---
(In reply to comment #0)
> [miniobject stuff]
> 
> These one would require a GType for GstMiniObject so these functions can be
> called.
> However, since GstMiniObject is a GBoxed now, they'll appear as functions
> instead of
> parent methods, eg:
> 
>   gst.mini_object_copy(buffer), instead of buffer.copy()

  If we register a GType for GstMiniObject ... you wouldn't be able to use
those methods on a GstBuffer, right ? Because there's no suclassing for GBoxed
and type(GstBuffer) != type (GstMiniObject).
  Or am I missing something ?

> 
> [GstMemory]
> 
> Same here, gstmemory requires a GType, probably a GBoxed to be able to be
> usable.

  Doable.

> Language bindings would also need some kind of api to access/manipulate the
> memory,
> perhaps something like:
> 
>   GByteArray * gst_memory_get_data (GstMemory *mem)

  Memory is accessed via gst_memory_map() and released via gst_memory_unmap().

  Not 100% certain GByteArray handles all the quirks of memory handling in
GStreamer. Needs more thinking and comments from other gst hackers.

> 
> [GstPad]
>
> These ones require GDestroyNotify arguments. Wim said on irc that they are
> needed for other reasons.
> For language bindings a separate _full function would also suffice, but would
> then require

  Indeed, we'll be adding GDestroyNotify and user_data to those.

> [GstMeta
>
> GstMeta also requires a GType. Accessors would be required for manipulating the
> field values of the struct. Getters are not needed, but
> since setters are needed they might as well be added for consistency.

  Same problem as for GstMiniObject vs subclasses. We're going to have plenty
of "subclasses" of GstMeta. How will that cope ?


> [GstIterator creation]
> GstIterator is already introspectable from a language binding point of view.
> The ones above are related
> to creating iterators, not sure if that's worth it. Could perhaps just be
> skipped.

  They could. Need to ponder it.


> gstobject.c:264: Warning: Gst: gst_object_ref_sink: return value: Missing
> (transfer) annotation
> 
> Should probably be skipped

  yes

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