From 4dba2768936ca1f7eac82a9ef4b637dbb42cc93b Mon Sep 17 00:00:00 2001 From: Dan Dennedy Date: Sat, 12 Dec 2009 12:25:05 -0800 Subject: [PATCH] Add mlt_service_cache_set_size() to limit the cache size. --- src/framework/mlt_service.c | 15 +++++++++++++++ src/framework/mlt_service.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/framework/mlt_service.c b/src/framework/mlt_service.c index b5e8f827..69dd6132 100644 --- a/src/framework/mlt_service.c +++ b/src/framework/mlt_service.c @@ -736,3 +736,18 @@ mlt_cache_item mlt_service_cache_get( mlt_service self, const char *name ) return result; } + +/** Set the number of items to cache for the named cache. + * + * \public \memberof mlt_service_s + * \param self a service + * \param name a name for the object that is unique to the service class, but not to the instance + * \param size the number of items to cache + */ + +void mlt_service_cache_set_size( mlt_service self, const char *name, int size ) +{ + mlt_cache cache = get_cache( self, name ); + if ( cache ) + mlt_cache_set_size( cache, size ); +} diff --git a/src/framework/mlt_service.h b/src/framework/mlt_service.h index ea451bff..89b128e1 100644 --- a/src/framework/mlt_service.h +++ b/src/framework/mlt_service.h @@ -95,6 +95,7 @@ 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 ); #endif -- 2.39.2