MLT  7.24.0
Data Structures | Macros | Typedefs | Functions | Variables
mlt_pool.c File Reference

memory pooling functionality More...

#include "mlt_deque.h"
#include "mlt_log.h"
#include "mlt_properties.h"
#include <pthread.h>
#include <stdlib.h>
#include <string.h>

Data Structures

struct  mlt_pool_s
 Pool (memory) class. More...
 

Macros

#define mlt_alloc(X)   malloc((X))
 
#define mlt_free   free
 
#define mlt_realloc   realloc
 
#define USE_MLT_POOL   1
 

Typedefs

typedef struct mlt_pool_smlt_pool
 Pool (memory) class. More...
 

Functions

struct __attribute__ ((aligned(16)))
 private to mlt_pool_s, for tracking items to release More...
 
void mlt_pool_stat ()
 

Variables

mlt_release
 
static mlt_properties pools = NULL
 global singleton for tracking pools More...
 

Detailed Description

memory pooling functionality

See also
mlt_pool_s

Copyright (C) 2003-2018 Meltytech, LLC

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Macro Definition Documentation

◆ mlt_alloc

#define mlt_alloc (   X)    malloc((X))

◆ mlt_free

#define mlt_free   free

◆ mlt_realloc

#define mlt_realloc   realloc

◆ USE_MLT_POOL

#define USE_MLT_POOL   1

Typedef Documentation

◆ mlt_pool

typedef struct mlt_pool_s * mlt_pool

Pool (memory) class.

Function Documentation

◆ __attribute__()

struct __attribute__ ( (aligned(16))  )

private to mlt_pool_s, for tracking items to release

Aligned to 16 byte in case we toss buffers to external assembly optimized libraries (sse/altivec).

◆ mlt_pool_stat()

void mlt_pool_stat ( )

Variable Documentation

◆ mlt_release

* mlt_release

◆ pools

mlt_properties pools = NULL
static

global singleton for tracking pools