That's the problem we have... We don't known if it's the right way (the one !) to do things. on our applications this modifications has solved some memory leaks, but we also have leaks in some Gstreamer base elements and discussions with Gstreamer Developpers seems to reveal different point of view and approach to the problem of events management by eventfunc() inside elements and/or base/derived classes.
We don't reallly known how to manage event unreffing with some elements... --- Olivier Crête <[EMAIL PROTECTED]> a écrit : > Hi, > > If you are right, then we are leaking refs on the events in lots of > places in g-p-farsight and event in the rtp payload base class in > g-p-base (I just looked at that class randomly). and then your patch > wouldn't be sufficient, because events would be leaked on flush > start/stop too. > > Olivier > > > On Fri, 2007-08-06 at 08:36 +0200, SP GLE wrote: > > Hi, > > Event function seems to have to take ownership of event, no matter > the > > return code will be : > > >>> > > > Hi, > > > When registering a GstPadEventFunction with > > > gst_pad_set_event_function() on pad, what are the required > properties > > > of the passed eventfunc() :: > > > > > > - Does eventfunc() HAVE TO take ownership of passed event ? > > > > yes. > > > > > - When/Why the eventfunc() should return TRUE or FALSE ? > > > > TRUE when the event was handled successfully, this means the > element > > understood the event, no downstream/upstream pad was unlinked, > etc.. > > FALSE in any other case. > > > > > - When returning TRUE, is the passed event supposed to have > been > > > unreffed inside eventfunc() ? > > > - When returning FALSE, is the passed event supposed to have > the > > same > > > refcount as the one it had when passed to eventfunc() (leave > > untouched) > > > or should it be decreased (unreffed)? > > > > The function takes ownership of the event regardless of the return > > value. After calling the function, the event is unreffed in all > cases. > > > > Wim > > <<< > > > > > > --- Olivier Crête <[EMAIL PROTECTED]> a écrit : > > > > > Hi, > > > > > > I think this patch is wrong, if an event handler returns FALSE, > then > > > it > > > means it did not handle the buffer did not take ownership of it, > so > > > it > > > does not have to unref it. > > > > > > The rest of your patches seems good and I've put them in our > merge > > > monkey: > > > > > > http://projects.collabora.co.uk/~monkey/gst-plugins-farsight-spgle-fixes/ > > > > > > > > > Thanks for the patches, > > > > > > Olivier > > > > > > > > > On Tue, 2007-05-06 at 14:32 +0200, SP GLE wrote: > > > > Hi, > > > > patch for missing event unref inside rtpjitterbuffer, > > > > regards. > > > > > > > > --- gstrtpjitterbuffer.c.05062007 2007-06-01 > > > 10:56:25.000000000 > > > > +0200 > > > > +++ gstrtpjitterbuffer.c 2007-06-05 13:53:21.609421109 > +0200 > > > > @@ -681,6 +681,7 @@ newseg_wrong_format: > > > > { > > > > GST_DEBUG_OBJECT (jitterbuffer, "received non TIME > > > newsegment"); > > > > ret = FALSE; > > > > + gst_event_unref (event); > > > > goto done; > > > > } > > > > } > > > > > > > > > > > > > > > > > > > > > > _____________________________________________________________________________ > > > > > > > Ne gardez plus qu'une seule adresse mail ! Copiez vos mails > vers > > > Yahoo! Mail > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > This SF.net email is sponsored by DB2 Express > > > > Download DB2 Express C - the FREE version of DB2 express and > take > > > > control of your XML. No limits. Just data. Click to get it now. > > > > http://sourceforge.net/powerbar/db2/ > > > > _______________________________________________ > > > > Farsight-devel mailing list > > > > Farsight-devel@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/farsight-devel > > > > > > > -- > > > Olivier Crête > > > [EMAIL PROTECTED] > > > Collabora Ltd > > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by DB2 Express > > > Download DB2 Express C - the FREE version of DB2 express and take > > > control of your XML. No limits. Just data. Click to get it now. > > > http://sourceforge.net/powerbar/db2/> > > _______________________________________________ > > > Farsight-devel mailing list > > > Farsight-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/farsight-devel > > > > > > > > > > > > _____________________________________________________________________________ > > > Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers > Yahoo! Mail > > > -- > Olivier Crête > [EMAIL PROTECTED] > Collabora Ltd > _____________________________________________________________________________ Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Farsight-devel mailing list Farsight-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/farsight-devel