[gstreamer-bugs] [Bug 619500] It is not possible to "recycle" buffers without subclassing GstBuffer object

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Sep 1 08:09:27 PDT 2010


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

Stefan Kost (gstreamer, gtkdoc dev) <ensonic> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #161849|none                        |needs-work
             status|                            |

--- Comment #6 from Stefan Kost (gstreamer, gtkdoc dev) <ensonic at sonicpulse.de> 2010-09-01 15:09:21 UTC ---
Review of attachment 161849:
 --> (https://bugzilla.gnome.org/review?bug=619500&attachment=161849)

Good idea and basic implementations. Needs a bit of cleanup and some +1 from
someone else.

::: gst/gstminiobject.c
@@ +158,3 @@
+gst_mini_object_weakref_notify (gpointer data, gpointer user_data)
+{
+  GstMOWeakRef *wref;

I would spell this out GstMiniObjectWeakRef

@@ +693,3 @@
+  g_return_if_fail (notify != NULL);
+
+  wref = g_new0 (GstMOWeakRef, 1);

please use g_slice and no need to zero it, if we fully initialize it.

@@ +700,3 @@
+      "weak ref for %p added (data %p notify %p)", obj, data, notify);
+
+  obj->wrefs = g_slist_append (obj->wrefs, wref);

as the order of the weak refs does not matter, I'd suggest g_slist_prepend() -
see notes on g_slist_append in api docs.

::: gst/gstminiobject.h
@@ +148,2 @@
   /*< private >*/
+  GSList *wrefs;

irks, this is the only pointer we have left. May be we need to use that for
GstMiniObjectPrivate and put the list there.

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