Changeset View
Changeset View
Standalone View
Standalone View
source/blender/imbuf/intern/moviecache.c
| Show First 20 Lines • Show All 116 Lines • ▼ Show 20 Lines | |||||
| static void moviecache_valfree(void *val) | static void moviecache_valfree(void *val) | ||||
| { | { | ||||
| MovieCacheItem *item = (MovieCacheItem *)val; | MovieCacheItem *item = (MovieCacheItem *)val; | ||||
| MovieCache *cache = item->cache_owner; | MovieCache *cache = item->cache_owner; | ||||
| PRINT("%s: cache '%s' free item %p buffer %p\n", __func__, cache->name, item, item->ibuf); | PRINT("%s: cache '%s' free item %p buffer %p\n", __func__, cache->name, item, item->ibuf); | ||||
| BLI_mutex_lock(&limitor_lock); | |||||
| if (item->c_handle) { | if (item->c_handle) { | ||||
| BLI_mutex_lock(&limitor_lock); | |||||
| MEM_CacheLimiter_unmanage(item->c_handle); | MEM_CacheLimiter_unmanage(item->c_handle); | ||||
| } | |||||
| BLI_mutex_unlock(&limitor_lock); | BLI_mutex_unlock(&limitor_lock); | ||||
| } | |||||
| if (item->ibuf) { | if (item->ibuf) { | ||||
| IMB_freeImBuf(item->ibuf); | IMB_freeImBuf(item->ibuf); | ||||
| } | } | ||||
| if (item->priority_data && cache->prioritydeleterfp) { | if (item->priority_data && cache->prioritydeleterfp) { | ||||
| cache->prioritydeleterfp(item->priority_data); | cache->prioritydeleterfp(item->priority_data); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 480 Lines • Show Last 20 Lines | |||||