get_frame and ruby listen fix
authorlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Thu, 23 Sep 2004 14:23:21 +0000 (14:23 +0000)
committerlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Thu, 23 Sep 2004 14:23:21 +0000 (14:23 +0000)
git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt++@438 d19143bc-622f-0410-bfdd-b5b2a6649095

mlt++/src/MltService.cpp
mlt++/swig/mltpp.i

index 6e06ed2..b20b6b1 100644 (file)
@@ -77,7 +77,9 @@ Frame *Service::get_frame( int index )
 {
        mlt_frame frame = NULL;
        mlt_service_get_frame( get_service( ), &frame, index );
-       return new Frame( frame );
+       Frame *result = new Frame( frame );
+       mlt_frame_close( frame );
+       return result;
 }
 
 service_type Service::type( )
index bc38fa9..d663398 100644 (file)
@@ -81,6 +81,7 @@ static void ruby_listener( mlt_properties owner, void *object );
 class RubyListener
 {
        private:
+               VALUE callback;
                Mlt::Event *event;
 
        public:
@@ -90,7 +91,7 @@ class RubyListener
                        event = properties.listen( id, this, ( mlt_listener )ruby_listener );
                }
 
-               ~RubyList( )
+               ~RubyListener( )
                {
                        delete event;
                }
@@ -105,9 +106,6 @@ class RubyListener
                ID method = rb_intern( "call" );
                rb_funcall( callback, method, 0 );
        }
-
-       private:
-               VALUE callback;
 };
 
 static void ruby_listener( mlt_properties owner, void *object )