On Fri, Nov 9, 2012 at 10:20 AM, Dan Dennedy <d...@dennedy.org> wrote: > thank you for the patches... > > On Thu, Nov 8, 2012 at 1:08 AM, Maksym Veremeyenko <ve...@m1stereo.tv> wrote: >> Hi, >> >> *0001-fix-leak-on-allocated-sax-context.patch* during initializing xml >> parser context libxml allocate sax context variable. /producer_xml.c/ >> reallocate it again and rewrite pointer to it that cause mem leak. so >> possible solution is restore it back before context releasing. also that >> patch fix another context freeing and try to free a document root that is >> related unreleased after xmlFreeParserCtxt. > > looks ok, but not yet tested > >> *0002-close-skipped-frame.patch* - valgrind mem checker slowdown code >> execution dramatically and that cause dropping frame. that could cause >> memory leak on loosing skipped frame, so i think we fix release them to >> avoid memory leak. > > rejected, you cannot close the frame here. There is more to a frame > than its image. Typically, when a frame is "dropped," it is only the > image processing that is skipped but the audio is still used. > >> *0003-reorder-startup-stopping-preroll-thread.patch* - that patch avoid some >> race condition that happen then /preroll/ thread is still executing, but >> consumer is in stopping state. in that state /ScheduleNextFrame/ cause >> running consumer thread start again. > > looks ok, but not yet tested > >> *0004-partially-fix-leak-of-service-allocated-in-on_start_.patch* - service >> variable from stack during sax parsing is not freed. that patch fix only >> cases i found, but i think there are more > > pending further review and analysis > >> + >> + if ( track ) >> + { >> + mlt_service_close( track ); >> + free( track ); >> + } >> >> should be added to *on_end_xxxxx* handler...
I applied patches 1, 3, and 4. I looked a little for additional cases addressed in patch 4, but I only found one that applied to the consumer element, which I addressed. P.S. when running in valgrind and not checking a consumer or frame-dropping in particular, you could use "-consumer null real_time=0" (or negative real_time values to check those threading models). -- +-DRD-+ ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_nov _______________________________________________ Mlt-devel mailing list Mlt-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mlt-devel