static void mlt_service_connect( mlt_service this, mlt_service that );
static int service_get_frame( mlt_service this, mlt_frame_ptr frame, int index );
static void mlt_service_property_changed( mlt_listener, mlt_properties owner, mlt_service this, void **args );
-static void purge_cache( mlt_service self );
/** Initialize a service.
*
free( base->in );
pthread_mutex_destroy( &base->mutex );
free( base );
- purge_cache( this );
mlt_properties_close( &this->parent );
}
}
* \param self a service
*/
-static void purge_cache( mlt_service self )
+void mlt_service_cache_purge( mlt_service self )
{
mlt_properties caches = mlt_properties_get_data( mlt_global_properties(), "caches", NULL );
extern mlt_filter mlt_service_filter( mlt_service self, int index );
extern mlt_profile mlt_service_profile( mlt_service self );
extern void mlt_service_close( mlt_service self );
+
extern void mlt_service_cache_put( mlt_service self, const char *name, void* data, int size, mlt_destructor destructor );
extern mlt_cache_item mlt_service_cache_get( mlt_service self, const char *name );
extern void mlt_service_cache_set_size( mlt_service self, const char *name, int size );
+extern void mlt_service_cache_purge( mlt_service self );
#endif
producer_pixbuf this = parent->child;
pthread_mutex_destroy( &this->mutex );
parent->close = NULL;
+ mlt_service_cache_purge( MLT_PRODUCER_SERVICE(parent) );
mlt_producer_close( parent );
mlt_properties_close( this->filenames );
free( this );
producer_qimage this = parent->child;
pthread_mutex_destroy( &this->mutex );
parent->close = NULL;
+ mlt_service_cache_purge( MLT_PRODUCER_SERVICE(parent) );
mlt_producer_close( parent );
mlt_properties_close( this->filenames );
free( this );