Hi Dan,
What you suggested (setting to nil) has never worked for me in the past.
I just created a little test to showcase this here
https://gist.github.com/pferdefleisch/1e448e3257837ebeb2b3
My memory is never released. It stayed in my test with 100 short .movs right
around 200MB with 0.0% CPU.
I also tried something that I found on the SWIG page with the mlt.i file (you
can see in the gist).
Since there seems to be no garbage collected playlist factory, I tried the same
test above but with just connecting the consumer to a non-playlist producer
with the same results, no memory released.
I have also seen strange things happen like when I set 'autoclose' to 1, as mlt
plays my list, clips are removed, but memory is only released, and only a tiny
bit, when I append new videos. Maybe this is a separate bug.
--
thanks for your time,
aaron
On May 5, 2013, at 8:24 PM, Dan Dennedy wrote:
> On Sun, May 5, 2013 at 4:14 AM, Aaron Cruz <aa...@aaroncruz.com> wrote:
>> I am trying to create a reset functionality in my Ruby code that will clean
>> up my consumer and playlist (Mlt::Factory.consumer and Mlt::Playlist
>> respectively).
>> It seems like both the mlt_playlist_close and mlt_consumer_close functions
>> were made for this but they are not included in the SWIG bindings.
>> Is there a reason they were left out?
>> Is there a better way to to this with the already provided interface?
>>
>> I would like my server to handle the reset instead of having to reset my
>> server. I am also still having memory leak issues and I would like to tweak
>> some things like this for some experiments.
>> --
>> Thank you,
>> Aaron
>
>
> The C++ destructors call the C close functions. When you release
> references in a scripting language and garbage collection occurs, then
> the C++ destructors are called. If you want to make cleanup more
> immediate in the scripting language runtime, then set the vars holding
> reference to nil and force processing the garbage collection. If you
> call the C close functions directly, then the C++ destructors will
> (eventually) call close on invalid pointers.
>
> --
> +-DRD-+
------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel